]> git.sur5r.net Git - cc65/blob - src/ld65/make/watcom.mak
Added dbg file generation
[cc65] / src / ld65 / make / watcom.mak
1 #
2 # ld65 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 # Add the include dir
57 CCCFG   = $(CCCFG) -i=..\common
58
59
60 # ------------------------------------------------------------------------------
61 # Implicit rules
62
63 .c.obj:
64   $(CC) $(CCCFG) $<
65
66
67 # ------------------------------------------------------------------------------
68 # All OBJ files
69
70 OBJS =  bin.obj         \
71         binfmt.obj      \
72         condes.obj      \
73         config.obj      \
74         dbginfo.obj     \
75         dbgsyms.obj     \
76         error.obj       \
77         exports.obj     \
78         expr.obj        \
79         extsyms.obj     \
80         fileinfo.obj    \
81         fileio.obj      \
82         fragment.obj    \
83         global.obj      \
84         library.obj     \
85         lineinfo.obj    \
86         main.obj        \
87         mapfile.obj     \
88         o65.obj         \
89         objdata.obj     \
90         objfile.obj     \
91         scanner.obj     \
92         segments.obj    \
93         tgtcfg.obj
94
95 LIBS = ..\common\common.lib
96
97
98 # ------------------------------------------------------------------------------
99 # Main targets
100
101 all:            ld65
102
103 ld65:           ld65.exe
104
105
106 # ------------------------------------------------------------------------------
107 # Other targets
108
109
110 ld65.exe:       $(OBJS) $(LIBS)
111         $(LD) system $(SYSTEM) @&&|
112 DEBUG ALL
113 OPTION QUIET
114 NAME $<
115 FILE bin.obj
116 FILE binfmt.obj
117 FILE condes.obj
118 FILE config.obj
119 FILE dbginfo.obj
120 FILE dbgsyms.obj
121 FILE error.obj
122 FILE exports.obj
123 FILE expr.obj
124 FILE extsyms.obj
125 FILE fileinfo.obj
126 FILE fileio.obj
127 FILE fragment.obj
128 FILE global.obj
129 FILE library.obj
130 FILE lineinfo.obj
131 FILE main.obj
132 FILE mapfile.obj
133 FILE o65.obj
134 FILE objdata.obj
135 FILE objfile.obj
136 FILE scanner.obj
137 FILE segments.obj
138 FILE tgtcfg.obj
139 LIBRARY ..\common\common.lib
140 |
141
142 clean:
143         @if exist *.obj del *.obj
144         @if exist *.obj del ld65.exe
145
146 strip:
147         @-wstrip ld65.exe
148