Subversion Repositories SvarDOS

Rev

Rev 1058 | Rev 1195 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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