switching polytest between zsorting and BSP for performance testing
[dosdemo] / Makefile
1 demoobj = main.obj demo.obj screen.obj cfgopt.obj music.obj gfxutil.obj &
2 3dgfx.obj polyfill.obj polyclip.obj metasurf.obj mesh.obj meshload.obj &
3 bsptree.obj
4 scrobj = tunnel.obj fract.obj grise.obj polytest.obj plasma.obj bump.obj &
5 thunder.obj metaball.obj greets.obj infcubes.obj
6 sysobj = gfx.obj vbe.obj watdpmi.obj timer.obj keyb.obj mouse.obj sball.obj &
7 logger.obj tinyfps.obj util.obj dynarr.obj rbtree.obj
8 obj = $(baseobj) $(demoobj) $(sysobj) $(scrobj)
9 bin = demo.exe
10
11 libs = imago.lib mikmod.lib
12
13 def = -dM_PI=3.141592653589793
14 opt = -5 -fp5 -otexan -oh -oi -ei
15 dbg = -d1
16
17 !ifdef __UNIX__
18 incpath = -Isrc -Isrc/dos -Ilibs/imago/src -Ilibs/oldmik/src
19 libpath = libpath libs/imago libpath libs/oldmik
20 RM = rm -f
21 !else
22 incpath = -Isrc -Isrc\dos -Ilibs\imago\src -Ilibs\oldmik\src
23 libpath = libpath libs\imago libpath libs\oldmik
24 RM = del
25 !endif
26
27 AS = nasm
28 CC = wcc386
29 CXX = wpp386
30 ASFLAGS = -fobj
31 CFLAGS = $(dbg) $(opt) $(def) -zq -bt=dos $(incpath)
32 CXXFLAGS = $(CFLAGS)
33 LDFLAGS = option stack=16k option map $(libpath) library { $(libs) }
34 LD = wlink
35
36 $(bin): cflags.occ $(obj) libs/imago/imago.lib
37         %write objects.lnk $(obj)
38         %write ldflags.lnk $(LDFLAGS)
39         $(LD) debug all name $@ system dos4g file { @objects } @ldflags
40
41 .c: src;src/dos
42 .cc: src;src/dos
43 .asm: src;src/dos
44
45 cflags.occ: Makefile
46         %write $@ $(CFLAGS)
47
48 cxxflags.occ: Makefile
49         %write $@ $(CXXFLAGS)
50
51 music.obj: music.c
52         $(CC) -fo=$@ @cflags.occ -zu $[*
53
54 .c.obj: .autodepend
55         $(CC) -fo=$@ @cflags.occ $[*
56
57 .cc.obj: .autodepend
58         $(CXX) -fo=$@ @cxxflags.occ $[*
59
60 .asm.obj:
61         $(AS) $(ASFLAGS) -o $@ $[*.asm
62
63 clean: .symbolic
64         $(RM) *.obj
65         $(RM) *.occ
66         $(RM) *.lnk
67         $(RM) $(bin)