foo
[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 gameobj = src/game.obj src/util.obj src/gfxutil.obj src/menuscr.obj
6 incpath = -Isrc -Isrc/dos -Ilibs/imago/src
7 libpath = libpath libs/imago
8 !else
9 dosobj = src\dos\main.obj src\dos\gfx.obj src\dos\timer.obj src\dos\watdpmi.obj &
10                  src\dos\vbe.obj src\dos\vga.obj src\dos\keyb.obj src\dos\mouse.obj &
11                  src\dos\logger.obj
12 gameobj = src\game.obj src\util.obj src\gfxutil.obj src\menuscr.obj
13 incpath = -Isrc -Isrc\dos -Ilibs\imago\src
14 libpath = libpath libs\imago
15 !endif
16
17 obj = $(dosobj) $(gameobj)
18 bin = game.exe
19
20 libs = imago.lib
21
22 CC = wcc386
23 LD = wlink
24 CFLAGS = -d3 -5 -fp5 -otebmileran -s -zq -bt=dos $(incpath)
25 LDFLAGS = option map $(libpath) library { $(libs) }
26
27 $(bin): $(obj)
28         %write objects.lnk $(obj)
29         %write ldflags.lnk $(LDFLAGS)
30         $(LD) debug all name $@ system dos4g file { @objects } @ldflags
31
32 .c: src;src/dos
33 .asm: src;src/dos
34
35 .c.obj: .autodepend
36         $(CC) -fo=$@ $(CFLAGS) $[*
37
38 .asm.obj:
39         nasm -f obj -o $@ $[*.asm
40
41 !ifdef __UNIX__
42 clean: .symbolic
43         rm -f $(obj)
44         rm -f $(bin)
45 !else
46 clean: .symbolic
47         del src\*.obj
48         del src\dos\*.obj
49         del *.lnk
50         del $(bin)
51 !endif