backport builds
[dosdemo] / Makefile
1 !ifdef __UNIX__
2 dosobj = src/dos/audos.obj src/dos/djdpmi.obj src/dos/gfx.obj src/dos/keyb.obj &
3         src/dos/logger.obj src/dos/main.obj src/dos/sball.obj src/dos/timer.obj &
4         src/dos/vbe.obj src/dos/vga.obj src/dos/watdpmi.obj src/dos/mouse.obj
5 3dobj = src/3dgfx/3dgfx.obj src/3dgfx/mesh.obj src/3dgfx/meshload.obj &
6         src/3dgfx/polyclip.obj src/3dgfx/polyfill.obj
7 srcobj = src/bsptree.obj src/cfgopt.obj src/console.obj src/demo.obj &
8         src/dynarr.obj src/gfxutil.obj src/metasurf.obj src/noise.obj &
9         src/rbtree.obj src/screen.obj src/tinyfps.obj src/treestor.obj &
10         src/ts_text.obj src/util.obj src/data.obj
11 scrobj = src/scr/bump.obj src/scr/fract.obj src/scr/greets.obj &
12         src/scr/grise.obj src/scr/hairball.obj src/scr/infcubes.obj &
13         src/scr/metaball.obj src/scr/plasma.obj src/scr/polytest.obj &
14         src/scr/smoketxt.obj src/scr/thunder.obj src/scr/tilemaze.obj &
15         src/scr/tunnel.obj
16 csprobj = cspr/dbgfont.obj cspr/confont.obj
17
18 incpath = -Isrc -Isrc/dos -Isrc/3dgfx -Ilibs -Ilibs/imago/src -Ilibs/anim/src &
19         -Ilibs/midas
20 libpath = libpath libs/imago libpath libs/anim libpath libs/midas
21 !else
22
23 dosobj = src\dos\audos.obj src\dos\djdpmi.obj src\dos\gfx.obj src\dos\keyb.obj &
24         src\dos\logger.obj src\dos\main.obj src\dos\sball.obj src\dos\timer.obj &
25         src\dos\vbe.obj src\dos\vga.obj src\dos\watdpmi.obj src\dos\mouse.obj
26 3dobj = src\3dgfx\3dgfx.obj src\3dgfx\mesh.obj src\3dgfx\meshload.obj &
27         src\3dgfx\polyclip.obj src\3dgfx\polyfill.obj
28 srcobj = src\bsptree.obj src\cfgopt.obj src\console.obj src\demo.obj &
29         src\dynarr.obj src\gfxutil.obj src\metasurf.obj src\noise.obj &
30         src\rbtree.obj src\screen.obj src\tinyfps.obj src\treestor.obj &
31         src\ts_text.obj src\util.obj src\data.obj
32 scrobj = src\scr\bump.obj src\scr\fract.obj src\scr\greets.obj &
33         src\scr\grise.obj src\scr\hairball.obj src\scr\infcubes.obj &
34         src\scr\metaball.obj src\scr\plasma.obj src\scr\polytest.obj &
35         src\scr\smoketxt.obj src\scr\thunder.obj src\scr\tilemaze.obj &
36         src\scr\tunnel.obj
37 csprobj = cspr\dbgfont.obj cspr\confont.obj
38
39 incpath = -Isrc -Isrc\dos -Isrc\3dgfx -Ilibs -Ilibs\imago\src -Ilibs\anim\src &
40         -Ilibs\midas
41 libpath = libpath libs\imago libpath libs\anim libpath libs\midas
42 !endif
43
44 obj = $(dosobj) $(3dobj) $(scrobj) $(srcobj) $(csprobj)
45 bin = demo.exe
46
47 opt = -otexan
48 #opt = -od
49 def = -dM_PI=3.141592653589793 -dUSE_HLT
50 libs = imago.lib anim.lib midas.lib
51
52 AS = nasm
53 CC = wcc386
54 LD = wlink
55 ASFLAGS = -fobj
56 CFLAGS = -d3 -5 -fp5 $(opt) $(def) -s -zq -bt=dos $(incpath)
57 LDFLAGS = option map $(libpath) library { $(libs) }
58
59 $(bin): cflags.occ $(obj) libs/imago/imago.lib libs/anim/anim.lib
60         %write objects.lnk $(obj)
61         %write ldflags.lnk $(LDFLAGS)
62         $(LD) debug all name $@ system dos4g file { @objects } @ldflags
63
64 .c: src;src/dos;src/3dgfx;src/scr;cspr
65 .asm: src;src/dos;src/3dgfx;src/scr;cspr
66
67 cflags.occ: Makefile
68         %write $@ $(CFLAGS)
69
70 !ifdef __UNIX__
71 src/dos/audos.obj: src/dos/audos.c
72 !else
73 src\dos\audos.obj: src\dos\audos.c
74 !endif
75         $(CC) -fo=$@ @cflags.occ -zu $[*
76
77 .c.obj: .autodepend
78         $(CC) -fo=$@ @cflags.occ $[*
79
80 .asm.obj:
81         nasm -f obj -o $@ $[*.asm
82
83 !ifdef __UNIX__
84 clean: .symbolic
85         rm -f $(obj)
86         rm -f $(bin)
87         rm -f cflags.occ *.lnk
88 !else
89 clean: .symbolic
90         del src\*.obj
91         del src\dos\*.obj
92         del src\3dgfx\*.obj
93         del src\scr\*.obj
94         del *.lnk
95         del cflags.occ
96         del $(bin)
97 !endif