torus with crude zsorting
[dosdemo] / Makefile
1 baseobj = main.obj
2 demoobj = demo.obj screen.obj gfxutil.obj
3 scrobj = tunnel.obj fract.obj grise.obj
4 sysobj = gfx.obj vbe.obj dpmi.obj timer.obj keyb.obj mouse.obj logger.obj
5 obj = $(baseobj) $(demoobj) $(sysobj)
6 bin = demo.exe
7
8 libs = imago.lib
9
10 opt = -5 -fp5 -otexan -oh -oi -ei
11 dbg = -d1
12
13 !ifdef __UNIX__
14 incpath = -Isrc -Isrc/dos -Ilibs/imago/src
15 libpath = libs/imago
16 !else
17 incpath = -Isrc -Isrc\dos -Ilibs\imago\src
18 libpath = libs\imago
19 !endif
20
21 AS = nasm
22 CC = wcc386
23 CXX = wpp386
24 ASFLAGS = -fobj
25 CFLAGS = $(dbg) $(opt) -zq -bt=dos $(incpath)
26 CXXFLAGS = $(CFLAGS)
27 LDFLAGS = libpath $(libpath) library { $(libs) }
28 LD = wlink
29
30 $(bin): $(obj) libs/imago/imago.lib
31         %write objects.lnk $(obj)
32         $(LD) debug all name $@ system dos4g file { @objects } $(LDFLAGS)
33
34 .c: src;src/dos
35 .cc: src;src/dos
36 .asm: src;src/dos
37
38 .c.obj: .autodepend
39         $(CC) -fo=$@ $(CFLAGS) $[*
40
41 .cc.obj: .autodepend
42         $(CXX) -fo=$@ $(CXXFLAGS) $[*
43
44 .asm.obj:
45         $(AS) $(ASFLAGS) -o $@ $[*.asm
46
47 clean: .symbolic
48         del *.obj
49         del $(bin)