Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
122 lines (99 loc) · 2.67 KB
/
Copy pathMakefile
File metadata and controls
122 lines (99 loc) · 2.67 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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
!ifdef __UNIX__
dosobj = src/dos/main.obj src/dos/vga.obj src/dos/keyb.obj src/dos/mouse.obj &
src/dos/timer.obj src/dos/logger.obj src/dos/vgamisc.obj src/dos/aumus.obj &
src/dos/au_sb.obj src/dos/dma.obj src/dos/dpmi.obj
appobj = src/app.obj src/options.obj src/treestor.obj src/ts_text.obj &
src/dynarr.obj src/util.obj src/scr_menu.obj src/scr_game.obj src/lut.obj &
src/xmath.obj src/xmath_s.obj src/image.obj src/tiles.obj src/level.obj &
src/rend.obj src/json.obj src/tiledfmt.obj src/mob.obj src/sprite.obj &
src/psys.obj src/audio.obj src/aufile.obj src/auwav.obj src/ai.obj
g3dobj = src/g3d/g3d.obj src/g3d/polyfill.obj
incpath = -Isrc -Isrc/dos -Ilibs -Ilibs/imago/src
!else
dosobj = src\dos\main.obj src\dos\vga.obj src\dos\keyb.obj src\dos\mouse.obj &
src\dos\timer.obj src\dos\logger.obj src\dos\vgamisc.obj src\dos\aumus.obj &
src\dos\au_sb.obj src\dos\dma.obj src\dos\dpmi.obj
appobj = src\app.obj src\options.obj src\treestor.obj src\ts_text.obj &
src\dynarr.obj src\util.obj src\scr_menu.obj src\scr_game.obj src\lut.obj &
src\xmath.obj src\xmath_s.obj src\image.obj src\tiles.obj src\level.obj &
src\rend.obj src\json.obj src\tiledfmt.obj src\mob.obj src\sprite.obj &
src\psys.obj src\audio.obj src\aufile.obj src\auwav.obj src\ai.obj
g3dobj = src\g3d\g3d.obj src\g3d\polyfill.obj
incpath = -Isrc -Isrc\dos -Ilibs -Ilibs\imago\src
!endif
obj = $(dosobj) $(appobj) $(g3dobj)
bin = game.exe
!include watcfg.mk
def = $(cfg_def)
libs = imago.lib assfile.lib muslib.lib
AS = nasm
CC = wcc386
LD = wlink
ASFLAGS = -fobj
CFLAGS = $(cfg_dbg) $(cfg_opt) $(cfg_prof) $(def) -s -zq -bt=dos $(incpath)
LDFLAGS = option map library { $(libs) }
$(bin): cflags.occ $(obj) $(libs)
%write objects.lnk $(obj)
%write ldflags.lnk $(LDFLAGS)
$(LD) debug all name $@ system dos4g file { @objects.lnk } @ldflags.lnk
.c: src;src/g3d;src/dos
.asm: src;src/g3d;src/dos
cflags.occ: Makefile watcfg.mk
%write $@ $(CFLAGS)
.c.obj: .autodepend
$(CC) -fo=$@ @cflags.occ $[*
.asm.obj:
nasm $(ASFLAGS) -o $@ $[*.asm
!ifdef __UNIX__
clean: .symbolic
rm -f $(obj)
rm -f $(bin)
rm -f cflags.occ *.lnk
imago.lib:
cd libs/imago
wmake
cd ../..
assfile.lib:
cd libs/assfile
wmake
cd ../..
muslib.lib:
cd libs/muslib
wmake
cd ../..
cleanlibs: .symbolic
cd libs/imago
wmake clean
cd ../assfile
wmake clean
cd ../muslib
wmake clean
cd ../..
!else
clean: .symbolic
del src\*.obj
del src\dos\*.obj
del *.lnk
del cflags.occ
del $(bin)
imago.lib:
cd libs\imago
wmake
cd ..\..
assfile.lib:
cd libs\assfile
wmake
cd ..\..
muslib.lib:
cd libs\muslib
wmake
cd ..\..
cleanlibs: .symbolic
cd libs\imago
wmake clean
cd ..\assfile
wmake clean
cd ..\muslib
wmake clean
cd ..\..
!endif