more dos port
[retroray] / Makefile
1 !ifdef __UNIX__
2 dosobj = src/dos/djdpmi.obj src/dos/gfx.obj src/dos/keyb.obj src/dos/main.obj &
3         src/dos/mouse.obj src/dos/vbe.obj src/dos/vga.obj src/dos/watdpmi.obj
4 appobj = src/app.obj src/cmesh.obj src/darray.obj src/font.obj src/logger.obj &
5         src/meshgen.obj src/meshload.obj src/options.obj src/rbtree.obj src/rt.obj &
6         src/rtk.obj src/scene.obj src/scr_mod.obj src/scr_rend.obj src/util.obj &
7         src/util_s.obj src/cpuid.obj src/cpuid_s.obj
8 gawobj = src/gaw/gaw_sw.obj src/gaw/gawswtnl.obj src/gaw/polyclip.obj src/gaw/polyfill.obj
9
10 incpath = -Isrc -Isrc/dos -Ilibs -Ilibs/imago/src -Ilibs/treestor/include -Ilibs/drawtext
11 libpath = libpath libs/dos
12 !else
13 dosobj = src\dos\djdpmi.obj src\dos\gfx.obj src\dos\keyb.obj src\dos\main.obj &
14         src\dos\mouse.obj src\dos\vbe.obj src\dos\vga.obj src\dos\watdpmi.obj
15 appobj = src\app.obj src\cmesh.obj src\darray.obj src\font.obj src\logger.obj &
16         src\meshgen.obj src\meshload.obj src\options.obj src\rbtree.obj src\rt.obj &
17         src\rtk.obj src\scene.obj src\scr_mod.obj src\scr_rend.obj src\util.obj &
18         src\util_s.obj src\cpuid.obj src\cpuid_s.obj
19 gawobj = src\gaw\gaw_sw.obj src\gaw\gawswtnl.obj src\gaw\polyclip.obj src\gaw\polyfill.obj
20
21 incpath = -Isrc -Isrc\dos -Ilibs -Ilibs\imago\src -Ilibs\treestor\include -Ilibs\drawtext
22 libpath = libpath libs\dos
23 !endif
24
25 obj = $(dosobj) $(appobj) $(gawobj)
26 bin = retroray.exe
27
28 opt = -otexan
29 def = -DGFX_SW
30 libs = imago.lib treestor.lib drawtext.lib
31
32 AS = nasm
33 CC = wcc386
34 LD = wlink
35 ASFLAGS = -fobj
36 CFLAGS = -d3 -5 -fp5 $(opt) $(def) -s -zq -bt=dos $(incpath)
37 LDFLAGS = option map $(libpath) library { $(libs) }
38
39 $(bin): cflags.occ $(obj) $(libs)
40         %write objects.lnk $(obj)
41         %write ldflags.lnk $(LDFLAGS)
42         $(LD) debug all name $@ system dos4g file { @objects } @ldflags
43
44 .c: src;src/dos;src/gaw
45 .asm: src;src/dos;src/gaw
46
47 cflags.occ: Makefile
48         %write $@ $(CFLAGS)
49
50 .c.obj: .autodepend
51         $(CC) -fo=$@ @cflags.occ $[*
52
53 .asm.obj:
54         nasm $(ASFLAGS) -o $@ $[*.asm
55
56
57 !ifdef __UNIX__
58 clean: .symbolic
59         rm -f $(obj)
60         rm -f $(bin)
61         rm -f cflags.occ *.lnk
62
63 imago.lib:
64         cd libs/imago
65         wmake
66         cd ../..
67
68 treestor.lib:
69         cd libs/treestor
70         wmake
71         cd ../..
72
73 drawtext.lib:
74         cd libs/drawtext
75         wmake
76         cd ../..
77
78 !else
79
80 imago.lib:
81         cd libs\imago
82         wmake
83         cd ..\..
84
85 treestor.lib:
86         cd libs\treestor
87         wmake
88         cd ..\..
89
90 drawtext.lib:
91         cd libs\drawtext
92         wmake
93         cd ..\..
94
95 clean: .symbolic
96         del src\*.obj
97         del src\dos\*.obj
98         del src\gaw\*.obj
99         del *.lnk
100         del cflags.occ
101         del $(bin)
102 !endif