Subversion Repositories SvarDOS

Rev

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