8f198e536ec614c91f9922c9aee4e908127587f8
[eradicate] / Makefile
1 !ifdef __UNIX__
2 dosobj = src/dos/main.obj src/dos/gfx.obj src/dos/timer.obj src/dos/watdpmi.obj &
3         src/dos/vbe.obj src/dos/vga.obj src/dos/keyb.obj src/dos/mouse.obj &
4         src/dos/logger.obj
5 scrobj = src/introscr.obj src/intro_s.obj src/menuscr.obj
6 gameobj = src/game.obj src/util.obj src/gfxutil.obj src/dynarr.obj &
7         src/rbtree.obj
8 gfxobj = src/3dgfx/3dgfx.obj src/3dgfx/mesh.obj src/3dgfx/meshload.obj &
9         src/3dgfx/polyfill.obj src/3dgfx/polyclip.obj src/sprite.obj
10
11 incpath = -Isrc -Isrc/dos -Ilibs/imago/src
12 libpath = libpath libs/imago
13
14 !else
15
16 dosobj = src\dos\main.obj src\dos\gfx.obj src\dos\timer.obj src\dos\watdpmi.obj &
17         src\dos\vbe.obj src\dos\vga.obj src\dos\keyb.obj src\dos\mouse.obj &
18         src\dos\logger.obj
19 scrobj = src\introscr.obj src\intro_s.obj src\menuscr.obj
20 gameobj = src\game.obj src\util.obj src\gfxutil.obj src\dynarr.obj &
21         src\rbtree.obj
22 gfxobj = src\3dgfx\3dgfx.obj src\3dgfx\mesh.obj src\3dgfx\meshload.obj &
23         src\3dgfx\polyfill.obj src\3dgfx\polyclip.obj src\sprite.obj
24
25 incpath = -Isrc -Isrc\dos -Ilibs\imago\src
26 libpath = libpath libs\imago
27 !endif
28
29 obj = $(dosobj) $(gameobj) $(gfxobj) $(scrobj)
30 bin = game.exe
31
32 def = -dM_PI=3.141592653589793
33 libs = imago.lib
34
35 CC = wcc386
36 LD = wlink
37 CFLAGS = -d3 -5 -fp5 -otebmileran $(def) -s -zq -bt=dos $(incpath)
38 LDFLAGS = option map $(libpath) library { $(libs) }
39
40 $(bin): cflags.occ $(obj) libs/imago/imago.lib
41         %write objects.lnk $(obj)
42         %write ldflags.lnk $(LDFLAGS)
43         $(LD) debug all name $@ system dos4g file { @objects } @ldflags
44
45 .c: src;src/dos;src/3dgfx
46 .asm: src;src/dos;src/3dgfx
47
48 cflags.occ: Makefile
49         %write $@ $(CFLAGS)
50
51 .c.obj: .autodepend
52         $(CC) -fo=$@ @cflags.occ $[*
53
54 .asm.obj:
55         nasm -f obj -o $@ $[*.asm
56
57 !ifdef __UNIX__
58 clean: .symbolic
59         rm -f $(obj)
60         rm -f $(bin)
61         rm -f cflags.occ *.lnk
62 !else
63 clean: .symbolic
64         del src\*.obj
65         del src\dos\*.obj
66         del *.lnk
67         del cflags.occ
68         del $(bin)
69 !endif