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