Subversion Repositories SvarDOS

Rev

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

Rev 965 Rev 966
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 env.obj redir.obj rmodinit.obj sayonara.obj helpers.obj
29
command.com: rmodcore.h command.obj cmd.obj env.obj redir.obj rmodinit.obj sayonara.obj helpers.obj
30
	# GENERATE CODEPAGE-SPECIFIG VERSIONS OUT OF UTF-8 FILES
30
	# GENERATE CODEPAGE-SPECIFIG VERSIONS OUT OF UTF-8 FILES
31
	CD LANG
31
	CD LANG
32
	utf8tocp 437 EN-UTF8.TXT > EN.TXT
32
	utf8tocp 437 EN-UTF8.TXT > EN.TXT
33
	utf8tocp 850 FR-UTF8.TXT > FR.TXT
33
	utf8tocp 850 FR-UTF8.TXT > FR.TXT
34
	utf8tocp maz PL-UTF8.TXT > PL.TXT
34
	utf8tocp maz PL-UTF8.TXT > PL.TXT
35
	..\svarlang.lib\tlumacz en fr pl
35
	..\svarlang.lib\tlumacz en fr pl
36
	DEL ??.TXT
36
	DEL ??.TXT
37
	MOVE /Y OUT.LNG ..\SVARCOM.LNG
37
	MOVE /Y OUT.LNG ..\SVARCOM.LNG
38
	MOVE /Y DEFLANG.C ..
38
	MOVE /Y DEFLANG.C ..
39
	CD ..
39
	CD ..
40
	# build the final executable
40
	# build the final executable
41
	*wcl $(LDFLAGS) command.obj cmd.obj deflang.c env.obj redir.obj rmodinit.obj sayonara.obj helpers.obj
41
	*wcl $(LDFLAGS) command.obj cmd.obj deflang.c env.obj redir.obj rmodinit.obj sayonara.obj helpers.obj
42
 
42
 
43
cmd.obj: cmd.c cmd\*.c
43
cmd.obj: cmd.c cmd\*.c
44
	wcc $(CFLAGS) cmd.c
44
	wcc $(CFLAGS) cmd.c
45
 
45
 
46
command.obj: command.c rmodcore.h
46
command.obj: command.c rmodcore.h
47
	wcc $(CFLAGS) command.c
47
	wcc $(CFLAGS) command.c
48
 
48
 
49
helpers.obj: helpers.c
49
helpers.obj: helpers.c
50
	wcc $(CFLAGS) helpers.c
50
	wcc $(CFLAGS) helpers.c
51
 
51
 
52
.c.obj:
52
.c.obj:
53
	wcc $(CFLAGS) $<
53
	wcc $(CFLAGS) $<
54
 
54
 
55
rmodcore.h: file2c.com rmod.bin
55
rmodcore.h: file2c.com rmod.bin
56
	file2c /s /l4096 rmod.bin rmodcore.h BUFFER
56
	file2c /s /l4096 rmod.bin rmodcore.h BUFFER
57
 
57
 
58
file2c.com: file2c.c
58
file2c.com: file2c.c
59
	wcl $(LDFLAGS) file2c.c
59
	wcl $(LDFLAGS) file2c.c
60
 
60
 
61
rmod.bin: rmod.asm
61
rmod.bin: rmod.asm
62
	nasm -f bin -l rmod.lst -o rmod.bin rmod.asm
62
	nasm -f bin -l rmod.lst -o rmod.bin rmod.asm
63
 
63
 
64
clean: .SYMBOLIC
64
clean: .SYMBOLIC
65
	del *.com
65
	del *.com
66
	del *.obj
66
	del *.obj
67
	del rmod.bin
67
	del rmod.bin
68
	del rmod.lst
68
	del rmod.lst
69
	del rmodcore.h
69
	del rmodcore.h
70
	del deflang.c
70
	del deflang.c
71
	del command.map
71
	del command.map
72
 
72
 
73
release: command.com
73
release: command.com .SYMBOLIC
-
 
74
	# drop old packages if present
74
	#zip -9kDX -j svarcom.zip command.com svarcom.txt todo.txt freecom.txt history.txt tlumacz\svarcom.lng
75
	IF EXIST svarcom.zip DEL svarcom.zip
-
 
76
	IF EXIST svarcom.svp DEL svarcom.svp
-
 
77
	# source package
75
	zip -9rkDX svarcom.zip makefile *.c *.h *.txt *.asm cmd lang svarlang.lib
78
	zip -9rkDX svarcom.zip makefile *.c *.h *.txt *.asm cmd lang svarlang.lib
-
 
79
	# SvarDOS binary package
-
 
80
	mkdir appinfo
-
 
81
	mkdir bin
-
 
82
	mkdir doc
-
 
83
	mkdir doc\svarcom
-
 
84
	mkdir nls
-
 
85
	copy command.com bin
-
 
86
	copy *.txt doc\svarcom\
-
 
87
	copy svarcom.lsm appinfo\
-
 
88
	copy svarcom.lng nls\
-
 
89
	zip -9rkDX -m svarcom.svp appinfo bin doc nls
-
 
90
	rmdir appinfo
-
 
91
	rmdir bin
-
 
92
	rmdir nls
-
 
93
	rmdir doc\svarcom
-
 
94
	rmdir doc
76
 
95