]> git.sur5r.net Git - cc65/blob - src/cc65/make/watcom.mak
fceb1963c156597e5fe3af85209c4f7304327dea
[cc65] / src / cc65 / make / watcom.mak
1 #
2 # CC65 Makefile for the Watcom compiler (using GNU make)
3 #
4
5 # ------------------------------------------------------------------------------
6 # Generic stuff
7
8 AR      = WLIB
9 LD      = WLINK
10 LNKCFG  = ld.tmp
11
12 # --------------------- OS2 ---------------------
13 ifeq ($(TARGET),OS2)
14 SYSTEM  = os2v2
15 CC      = WCC386
16 CFLAGS  = -bt=$(TARGET) -d1 -onatx -zp4 -5 -zq -w2
17 endif
18
19 # -------------------- DOS4G --------------------
20 ifeq ($(TARGET),DOS32)
21 SYSTEM  = dos4g
22 CC      = WCC386
23 CFLAGS  = -bt=$(TARGET) -d1 -onatx -zp4 -5 -zq -w2
24 endif
25
26 # --------------------- NT ----------------------
27 ifeq ($(TARGET),NT)
28 SYSTEM  = nt
29 CC      = WCC386
30 CFLAGS  = -bt=$(TARGET) -d1 -onatx -zp4 -5 -zq -w2
31 endif
32
33 # Add the include dir
34 CFLAGS  += -i=..\common
35
36 # ------------------------------------------------------------------------------
37 # Implicit rules
38
39 %.obj:  %.c
40         $(CC) $(CFLAGS) $^
41
42
43 # ------------------------------------------------------------------------------
44 # All library OBJ files
45
46 OBJS =  anonname.obj    \
47         asmcode.obj     \
48         asmlabel.obj    \
49         asmstmt.obj     \
50         assignment.obj  \
51         casenode.obj    \
52         codeent.obj     \
53         codegen.obj     \
54         codelab.obj     \
55         codeinfo.obj    \
56         codeopt.obj     \
57         codeseg.obj     \
58         compile.obj     \
59         coptadd.obj     \
60         coptc02.obj     \
61         coptcmp.obj     \
62         coptind.obj     \
63         coptneg.obj     \
64         coptpush.obj    \
65         coptsize.obj    \
66         coptstop.obj    \
67         coptstore.obj   \
68         coptsub.obj     \
69         copttest.obj    \
70         dataseg.obj     \
71         datatype.obj    \
72         declare.obj     \
73         declattr.obj    \
74         error.obj       \
75         expr.obj        \
76         exprdesc.obj    \
77         exprheap.obj    \
78         exprnode.obj    \
79         funcdesc.obj    \
80         function.obj    \
81         global.obj      \
82         goto.obj        \
83         hexval.obj      \
84         ident.obj       \
85         incpath.obj     \
86         input.obj       \
87         lineinfo.obj    \
88         litpool.obj     \
89         locals.obj      \
90         loop.obj        \
91         macrotab.obj    \
92         main.obj        \
93         opcodes.obj     \
94         preproc.obj     \
95         pragma.obj      \
96         reginfo.obj     \
97         scanner.obj     \
98         scanstrbuf.obj  \
99         segments.obj    \
100         stdfunc.obj     \
101         stmt.obj        \
102         swstmt.obj      \
103         symentry.obj    \
104         symtab.obj      \
105         textseg.obj     \
106         typecast.obj    \
107         typecmp.obj     \
108         util.obj
109
110 LIBS = ..\common\common.lib
111
112 # ------------------------------------------------------------------------------
113 # Main targets
114
115 all:            cc65
116
117 cc65:           cc65.exe
118
119
120 # ------------------------------------------------------------------------------
121 # Other targets
122
123
124 cc65.exe:       $(OBJS) $(LIBS)
125         @echo DEBUG ALL > $(LNKCFG)
126         @echo OPTION QUIET >> $(LNKCFG)
127         @echo NAME $@ >> $(LNKCFG)
128         @for %%i in ($(OBJS)) do echo FILE %%i >> $(LNKCFG)
129         @for %%i in ($(LIBS)) do echo LIBRARY %%i >> $(LNKCFG)
130         $(LD) system $(SYSTEM) @$(LNKCFG)
131         @rm $(LNKCFG)
132
133 clean:
134         @if exist *.obj del *.obj
135         @if exist cc65.exe del cc65.exe
136
137 strip:
138         @-wstrip cc65.exe
139
140