Subversion Repositories SvarDOS

Rev

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