-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile.wat
More file actions
92 lines (70 loc) · 2.06 KB
/
Makefile.wat
File metadata and controls
92 lines (70 loc) · 2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
!ifdef __UNIX__
gameobj = src/dynarr.obj src/font.obj src/game.obj src/gfx.obj src/level.obj &
src/leveled.obj src/logger.obj src/options.obj src/rend.obj src/screen.obj &
src/tiles.obj src/treestor.obj src/ts_text.obj src/util.obj
dosobj = src/dos/maindos.obj src/dos/gfxdos.obj src/dos/vidsys.obj &
src/dos/drv_vga.obj src/dos/drv_vbe.obj src/dos/drv_s3.obj src/dos/cdpmi.obj &
src/dos/keyb.obj src/dos/timer.obj src/dos/mouse.obj src/dos/mtrr.obj &
src/dos/mtrr_s.obj
incpath = -Isrc -Ilibs/imago/src
libpath = libpath libs/dos
libs = libs/dos/imago.lib
!else
gameobj = src\dynarr.obj src\font.obj src\game.obj src\gfx.obj src\level.obj &
src\leveled.obj src\logger.obj src\options.obj src\rend.obj src\screen.obj &
src\tiles.obj src\treestor.obj src\ts_text.obj src\util.obj
dosobj = src\dos\maindos.obj src\dos\gfxdos.obj src\dos\vidsys.obj &
src\dos\drv_vga.obj src\dos\drv_vbe.obj src\dos\drv_s3.obj src\dos\cdpmi.obj &
src\dos\keyb.obj src\dos\timer.obj src\dos\mouse.obj src\dos\mtrr.obj &
src\dos\mtrr_s.obj
incpath = -Isrc -Ilibs\imago\src
libpath = libpath libs\dos
libs = libs\dos\imago.lib
!endif
obj = $(gameobj) $(dosobj)
bin = game.exe
opt = -otexan -4 -fp3
dbg = -d3
AS = nasm
CC = wcc386
LD = wlink
CFLAGS = $(dbg) $(opt) $(def) -s -zq -bt=dos $(incpath)
LDFLAGS = option map $(libpath) library { $(libs) }
$(bin): cflags.occ $(obj) $(libs)
%write objects.lnk $(obj)
%write ldflags.lnk $(LDFLAGS)
$(LD) debug all name $@ system dos4g file { @objects } @ldflags
.c: src;src/dos
.asm: src/dos
cflags.occ: Makefile.wat
%write $@ $(CFLAGS)
.c.obj: .autodepend
$(CC) -fo=$@ @cflags.occ $[*
.asm.obj:
nasm -f obj -o $@ $[*.asm
!ifdef __UNIX__
clean: .symbolic
rm -f $(obj)
rm -f $(bin)
rm -f cflags.occ *.lnk
imago.lib:
cd libs/imago
wmake -f Makefile.wat
cd ../..
cleanlibs: .symbolic
cd libs/imago
wmake -f Makefile.wat clean
!else
clean: .symbolic
rm -f $(obj)
rm -f $(bin)
rm -f cflags.occ *.lnk
imago.lib:
cd libs\imago
wmake -f Makefile.wat
cd ..\..
cleanlibs: .symbolic
cd libs\imago
wmake -f Makefile.wat clean
!endif
# vi:ft=make: