]> git.sur5r.net Git - cc65/blob - src/cc65/make/watcom.mak
Some work on function stuff.
[cc65] / src / cc65 / make / watcom.mak
1 #
2 # CC65 Makefile for the Watcom compiler
3 #
4
5 # ------------------------------------------------------------------------------
6 # Generic stuff
7
8 .AUTODEPEND
9 .SUFFIXES       .ASM .C .CC .CPP
10 .SWAP
11
12 AR      = WLIB
13 LD      = WLINK
14
15 !if !$d(TARGET)
16 !if $d(__OS2__)
17 TARGET = OS2
18 !else
19 TARGET = NT
20 !endif
21 !endif
22
23 # target specific macros.
24 !if $(TARGET)==OS2
25
26 # --------------------- OS2 ---------------------
27 SYSTEM = os2v2
28 CC = WCC386
29 CCCFG  = -bt=$(TARGET) -d1 -onatx -zp4 -5 -zq -w2
30
31 !elif $(TARGET)==DOS32
32
33 # -------------------- DOS4G --------------------
34 SYSTEM = dos4g
35 CC = WCC386
36 CCCFG  = -bt=$(TARGET) -d1 -onatx -zp4 -5 -zq -w2
37
38 !elif $(TARGET)==DOS
39
40 # --------------------- DOS ---------------------
41 SYSTEM = dos
42 CC = WCC
43 CCCFG  = -bt=$(TARGET) -d1 -onatx -zp2 -2 -ml -zq -w2
44
45 !elif $(TARGET)==NT
46
47 # --------------------- NT ----------------------
48 SYSTEM = nt
49 CC = WCC386
50 CCCFG  = -bt=$(TARGET) -d1 -onatx -zp4 -5 -zq -w2
51
52 !else
53 !error
54 !endif
55
56 # ------------------------------------------------------------------------------
57 # Implicit rules
58
59 .c.obj:
60   $(CC) $(CCCFG) $<
61
62
63 # ------------------------------------------------------------------------------
64 # All library OBJ files
65
66 OBJS =  anonname.obj    \
67         asmcode.obj     \
68         asmlabel.obj    \
69         asmline.obj     \
70         check.obj       \
71         codegen.obj     \
72         ctrans.obj      \
73         datatype.obj    \
74         declare.obj     \
75         error.obj       \
76         expr.obj        \
77         funcdesc.obj    \
78         function.obj    \
79         global.obj      \
80         goto.obj        \
81         ident.obj       \
82         include.obj     \
83         io.obj          \
84         litpool.obj     \
85         locals.obj      \
86         loop.obj        \
87         macrotab.obj    \
88         main.obj        \
89         mem.obj         \
90         optimize.obj    \
91         pragma.obj      \
92         preproc.obj     \
93         stmt.obj        \
94         scanner.obj     \
95         stdfunc.obj     \
96         symentry.obj    \
97         symtab.obj      \
98         util.obj
99
100
101 .PRECIOUS $(OBJS:.obj=.c)
102
103 # ------------------------------------------------------------------------------
104 # Main targets
105
106 all:            cc65
107
108 cc65:           cc65.exe
109
110
111 # ------------------------------------------------------------------------------
112 # Other targets
113
114
115 cc65.exe:       $(OBJS)
116         $(LD) system $(SYSTEM) @&&|
117 DEBUG ALL
118 OPTION QUIET
119 NAME $<
120 FILE anonname.obj
121 FILE asmcode.obj
122 FILE asmlabel.obj
123 FILE asmline.obj
124 FILE check.obj
125 FILE codegen.obj
126 FILE ctrans.obj
127 FILE datatype.obj
128 FILE declare.obj
129 FILE error.obj
130 FILE expr.obj
131 FILE funcact.obj
132 FILE funcdesc.obj
133 FILE function.obj
134 FILE global.obj
135 FILE goto.obj
136 FILE ident.obj
137 FILE include.obj
138 FILE io.obj
139 FILE litpool.obj
140 FILE locals.obj
141 FILE loop.obj
142 FILE macrotab.obj
143 FILE main.obj
144 FILE mem.obj
145 FILE optimize.obj
146 FILE pragma.obj
147 FILE preproc.obj
148 FILE stmt.obj
149 FILE scanner.obj
150 FILE stdfunc.obj
151 FILE symentry.obj
152 FILE symtab.obj
153 FILE util.obj
154 |
155