Subversion Repositories SvarDOS

Rev

Rev 1047 | Rev 1195 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
349 mateuszvis 1
#
2
# This is a makefile to build the SVARCOM command interpreter (COMMAND.COM)
421 mateuszvis 3
# using OpenWatcom and nasm.
349 mateuszvis 4
#
5
# You can use following targets:
6
#
7
#  wmake           - compiles the program
8
#  wmake clean     - cleans up all non-source files
9
#
10
 
496 mateuszvis 11
FEATURES =
12
FEATURES += -DVERDBG
13
 
476 mateuszvis 14
LDFLAGS = -0 -y -wx -mt -lr -we -d0 -ox -fm=command.map
496 mateuszvis 15
CFLAGS = -0 -wx -ms -we -d0 -ox $(FEATURES)
349 mateuszvis 16
# -0   generate 8086 compatible code
17
# -y   ignore %WCL% if present
18
# -wx  maximum warnings level
19
# -mt  TINY memory model
20
# -lr  real-mode target
21
# -we  any warning is considered an error
22
# -d0  no debug data
23
# -ox  maximum optimization level
476 mateuszvis 24
#
25
# NOTE: wcc does not understand -mt, that is why -ms must be passed instead
349 mateuszvis 26
 
27
all: command.com
28
 
1058 mateusz.vi 29
command.com: rmodcore.h command.obj cmd.obj deflang.obj env.obj redir.obj rmodinit.obj sayonara.obj helpers.obj
30
	# build the final executable
31
	*wcl $(LDFLAGS) command.obj cmd.obj deflang.obj env.obj redir.obj rmodinit.obj sayonara.obj helpers.obj svarlang.lib\svarlngs.lib
32
 
33
deflang.obj: lang\*.txt
965 mateusz.vi 34
	# GENERATE CODEPAGE-SPECIFIG VERSIONS OUT OF UTF-8 FILES
35
	CD LANG
976 bttr 36
	utf8tocp 850 DE-UTF8.TXT > DE.TXT
965 mateusz.vi 37
	utf8tocp 437 EN-UTF8.TXT > EN.TXT
38
	utf8tocp 850 FR-UTF8.TXT > FR.TXT
39
	utf8tocp maz PL-UTF8.TXT > PL.TXT
1047 mateusz.vi 40
	utf8tocp 857 TR-UTF8.TXT > TR.TXT
41
	..\svarlang.lib\tlumacz en de fr pl tr
965 mateusz.vi 42
	DEL ??.TXT
43
	MOVE /Y OUT.LNG ..\SVARCOM.LNG
44
	MOVE /Y DEFLANG.C ..
45
	CD ..
1058 mateusz.vi 46
	wcc $(CFLAGS) deflang.c
349 mateuszvis 47
 
487 mateuszvis 48
cmd.obj: cmd.c cmd\*.c
49
	wcc $(CFLAGS) cmd.c
50
 
516 mateuszvis 51
command.obj: command.c rmodcore.h
52
	wcc $(CFLAGS) command.c
53
 
965 mateusz.vi 54
helpers.obj: helpers.c
513 mateuszvis 55
	wcc $(CFLAGS) helpers.c
56
 
476 mateuszvis 57
.c.obj:
58
	wcc $(CFLAGS) $<
59
 
509 mateuszvis 60
rmodcore.h: file2c.com rmod.bin
61
	file2c /s /l4096 rmod.bin rmodcore.h BUFFER
349 mateuszvis 62
 
63
file2c.com: file2c.c
476 mateuszvis 64
	wcl $(LDFLAGS) file2c.c
349 mateuszvis 65
 
509 mateuszvis 66
rmod.bin: rmod.asm
67
	nasm -f bin -l rmod.lst -o rmod.bin rmod.asm
349 mateuszvis 68
 
69
clean: .SYMBOLIC
70
	del *.com
71
	del *.obj
524 mateuszvis 72
	del rmod.bin
73
	del rmod.lst
74
	del rmodcore.h
965 mateusz.vi 75
	del deflang.c
524 mateuszvis 76
	del command.map
394 mateuszvis 77
 
966 mateusz.vi 78
release: command.com .SYMBOLIC
79
	# drop old packages if present
80
	IF EXIST svarcom.zip DEL svarcom.zip
81
	IF EXIST svarcom.svp DEL svarcom.svp
82
	# source package
965 mateusz.vi 83
	zip -9rkDX svarcom.zip makefile *.c *.h *.txt *.asm cmd lang svarlang.lib
966 mateusz.vi 84
	# SvarDOS binary package
85
	mkdir appinfo
86
	mkdir doc
87
	mkdir doc\svarcom
88
	mkdir nls
89
	copy command.com bin
90
	copy *.txt doc\svarcom\
91
	copy svarcom.lsm appinfo\
92
	copy svarcom.lng nls\
998 mateusz.vi 93
	upx -9 --8086 command.com
94
	zip -9rkDX -m svarcom.svp command.com appinfo doc nls
966 mateusz.vi 95
	rmdir appinfo
96
	rmdir nls
97
	rmdir doc\svarcom
98
	rmdir doc