]> git.sur5r.net Git - cc65/blob - libsrc/Makefile
Add ROM function defines
[cc65] / libsrc / Makefile
1 #
2 # makefile for CC65 runtime library
3 #
4
5 .SUFFIXES: .o .obj .s .c
6
7 # Defines for executables. The first two are passed to the submakes and are
8 # relative to the subdirectories, the last one is used directly.
9 AS = ../../src/ca65/ca65
10 AR = ../src/ar65/ar65
11 CC = ../../src/cc65/cc65
12 LD = ../../src/ld65/ld65
13
14 # List of all targets
15 ALLTARGETS =    apple2lib       \
16                 atarilib        \
17                 atmoslib        \
18                 c64lib          \
19                 c128lib         \
20                 cbm510lib       \
21                 cbm610lib       \
22                 geoslib         \
23                 petlib          \
24                 plus4lib
25
26 #-----------------------------------------------------------------------------
27
28 all:
29         for tgt in $(ALLTARGETS); do            \
30             $(MAKE) clean $$tgt || exit 1;      \
31         done
32
33 #-----------------------------------------------------------------------------
34 # Apple ][
35
36 apple2lib:
37         for i in apple2 common runtime conio dbg; do \
38             CC=$(CC) \
39             AS=$(AS) \
40             CFLAGS="-Osir -g -T -t apple2 -I../../include" \
41             AFLAGS="-t apple2 -I../../asminc" \
42             $(MAKE) -C $$i || exit 1; \
43         done
44         mv apple2/crt0.o apple2.o
45         for i in apple2 common runtime conio dbg; do \
46             $(AR) a apple2.lib $$i/*.o;\
47         done
48
49 #-----------------------------------------------------------------------------
50 # Atari
51
52 atarilib:
53         for i in atari common runtime conio dbg; do \
54             CC=$(CC) \
55             AS=$(AS) \
56             CFLAGS="-Osir -g -T -t atari -I../../include" \
57             AFLAGS="-t atari -I../../asminc" \
58             $(MAKE) -C $$i || exit 1; \
59         done
60         mv atari/crt0.o atari.o
61         for i in atari common runtime conio dbg; do \
62             $(AR) a atari.lib $$i/*.o;\
63         done
64
65 #-----------------------------------------------------------------------------
66 # Oric Atmos
67
68 atmoslib:
69         for i in atmos common runtime; do \
70             CC=$(CC) \
71             AS=$(AS) \
72             CFLAGS="-Osir -g -T -t atmos -I../../include" \
73             AFLAGS="-t atmos -I../../asminc" \
74             $(MAKE) -C $$i || exit 1; \
75         done
76         mv atmos/crt0.o atmos.o
77         for i in atmos common runtime; do \
78             $(AR) a atmos.lib $$i/*.o;\
79         done
80
81 #-----------------------------------------------------------------------------
82 # C64
83
84 c64lib:
85         for i in c64 cbm common runtime conio dbg tgi; do \
86             AS=$(AS) \
87             CC=$(CC) \
88             LD=$(LD) \
89             AFLAGS="-t c64 -I../../asminc" \
90             CFLAGS="-Osir -g -T -t c64 -I../../include" \
91             $(MAKE) -C $$i || exit 1; \
92         done
93         cp c64/crt0.o c64.o
94         cp c64/*.tgi .
95         for i in c64 cbm common runtime conio dbg tgi; do \
96             $(AR) a c64.lib $$i/*.o;\
97         done
98
99 #-----------------------------------------------------------------------------
100 # C128
101
102 c128lib:
103         for i in c128 cbm common runtime conio dbg; do \
104             CC=$(CC) \
105             AS=$(AS) \
106             CFLAGS="-Osir -g -T -t c128 -I../../include" \
107             AFLAGS="-t c128 -I../../asminc" \
108             $(MAKE) -C $$i || exit 1; \
109         done
110         mv c128/crt0.o c128.o
111         for i in c128 cbm common runtime conio dbg; do \
112             $(AR) a c128.lib $$i/*.o;\
113         done
114
115 #-----------------------------------------------------------------------------
116 # Commdore P500 / CBM 5x0
117
118 cbm510lib:
119         for i in cbm510 cbm common runtime conio dbg; do \
120             CC=$(CC) \
121             AS=$(AS) \
122             CFLAGS="-Osir -g -T -t cbm510 -I../../include" \
123             AFLAGS="-t cbm510 -I../../asminc" \
124             $(MAKE) -C $$i || exit 1; \
125         done
126         mv cbm510/crt0.o cbm510.o
127         for i in cbm510 cbm common runtime conio dbg; do \
128             $(AR) a cbm510.lib $$i/*.o;\
129         done
130
131 #-----------------------------------------------------------------------------
132 # PET-II series
133
134 cbm610lib:
135         for i in cbm610 cbm common runtime conio dbg; do \
136             CC=$(CC) \
137             AS=$(AS) \
138             CFLAGS="-Osir -g -T -t cbm610 -I../../include" \
139             AFLAGS="-t cbm610 -I../../asminc" \
140             $(MAKE) -C $$i || exit 1; \
141         done
142         mv cbm610/crt0.o cbm610.o
143         for i in cbm610 cbm common runtime conio dbg; do \
144             $(AR) a cbm610.lib $$i/*.o;\
145         done
146
147 #-----------------------------------------------------------------------------
148 # GEOS on the C64/128
149
150 geoslib:
151         CC=../$(CC) \
152         AS=../$(AS) \
153         AR=../$(AR) \
154         CFLAGS="-Osir -g -T -t geos -I../../../include" \
155         AFLAGS="-t geos -I../../../asminc" \
156         $(MAKE) -C geos || exit 1
157         for i in common runtime; do \
158             CC=$(CC) \
159             AS=$(AS) \
160             AR=$(AR) \
161             CFLAGS="-Osir -g -T -t geos -I../../include" \
162             AFLAGS="-t geos -I../../asminc" \
163             $(MAKE) -C $$i || exit 1; \
164         done
165         for i in common runtime; do \
166             for objfile in $$i/*.o; do \
167                 if [ -f geos/$$objfile ]; then \
168                     $(AR) a geos.lib geos/$$objfile; \
169                 else \
170                     $(AR) a geos.lib $$objfile; \
171                 fi; \
172             done \
173         done
174
175 #-----------------------------------------------------------------------------
176 # CBM PET machines
177
178 petlib:
179         for i in pet cbm common runtime conio dbg; do \
180             CC=$(CC) \
181             AS=$(AS) \
182             CFLAGS="-Osir -g -T -t pet -I../../include" \
183             AFLAGS="-t pet -I../../asminc" \
184             $(MAKE) -C $$i || exit 1; \
185         done
186         mv pet/crt0.o pet.o
187         for i in pet cbm common runtime conio dbg; do \
188             $(AR) a pet.lib $$i/*.o;\
189         done
190
191 #-----------------------------------------------------------------------------
192 # Commodore C116, C16 and Plus/4
193
194 plus4lib:
195         for i in plus4 cbm common runtime conio dbg; do \
196             CC=$(CC) \
197             AS=$(AS) \
198             CFLAGS="-Osir -g -T -t plus4 -I../../include" \
199             AFLAGS="-t plus4 -I../../asminc" \
200             $(MAKE) -C $$i || exit 1; \
201         done
202         mv plus4/crt0.o plus4.o
203         for i in plus4 cbm common runtime conio dbg; do \
204             $(AR) a plus4.lib $$i/*.o;\
205         done
206
207 #-----------------------------------------------------------------------------
208 # Dummy targets
209
210 .PHONY: clean
211 clean:
212         @for i in apple2 atari c128 c64 cbm cbm510 cbm610 common conio dbg geos pet plus4 runtime tgi; do       \
213            $(MAKE) -C $$i clean;                                                                        \
214         done
215
216 .PHONY: zap
217 zap:    clean
218         @rm -f *.o *.lib
219
220
221
222
223
224