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