]> git.sur5r.net Git - cc65/blob - libsrc/Makefile
Fixed geos portion of Makefile
[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 CC = ../../src/cc65/cc65
10 AS = ../../src/ca65/ca65
11 AR = ../src/ar65/ar65
12
13 # List of all targets
14 ALLTARGETS =    apple2lib       \
15                 atarilib        \
16                 c64lib          \
17                 c128lib         \
18                 cbm610lib       \
19                 geoslib         \
20                 petlib          \
21                 plus4lib
22
23 #-----------------------------------------------------------------------------
24
25 all:
26         for tgt in $(ALLTARGETS); do            \
27             $(MAKE) clean $$tgt || exit 1;      \
28         done
29
30 #-----------------------------------------------------------------------------
31 # Apple ][
32
33 apple2lib:
34         for i in apple2 common runtime conio dbg; do \
35             CC=$(CC) \
36             AS=$(AS) \
37             CFLAGS="-Osir -g -t apple2 -I../../include" \
38             AFLAGS="-t apple2" \
39             $(MAKE) -C $$i || exit 1; \
40         done
41         mv apple2/crt0.o apple2.o
42         for i in apple2 common runtime conio dbg; do \
43             $(AR) a apple2.lib $$i/*.o;\
44         done
45
46 #-----------------------------------------------------------------------------
47 # Atari
48
49 atarilib:
50         for i in atari common runtime conio dbg; do \
51             CC=$(CC) \
52             AS=$(AS) \
53             CFLAGS="-Osir -g -t atari -I../../include" \
54             AFLAGS="-t atari" \
55             $(MAKE) -C $$i || exit 1; \
56         done
57         mv atari/crt0.o atari.o
58         for i in atari common runtime conio dbg; do \
59             $(AR) a atari.lib $$i/*.o;\
60         done
61
62 #-----------------------------------------------------------------------------
63 # C64
64
65 c64lib:
66         for i in c64 cbm common runtime conio dbg; do \
67             CC=$(CC) \
68             AS=$(AS) \
69             CFLAGS="-Osir -g -t c64 -I../../include" \
70             AFLAGS="-t c64" \
71             $(MAKE) -C $$i || exit 1; \
72         done
73         mv c64/crt0.o c64.o
74         for i in c64 cbm common runtime conio dbg; do \
75             $(AR) a c64.lib $$i/*.o;\
76         done
77
78 #-----------------------------------------------------------------------------
79 # C128
80
81 c128lib:
82         for i in c128 cbm common runtime conio dbg; do \
83             CC=$(CC) \
84             AS=$(AS) \
85             CFLAGS="-Osir -g -t c128 -I../../include" \
86             AFLAGS="-t c128" \
87             $(MAKE) -C $$i || exit 1; \
88         done
89         mv c128/crt0.o c128.o
90         for i in c128 cbm common runtime conio dbg; do \
91             $(AR) a c128.lib $$i/*.o;\
92         done
93
94 #-----------------------------------------------------------------------------
95 # PET-II series
96
97 cbm610lib:
98         for i in cbm610 cbm common runtime conio dbg; do \
99             CC=$(CC) \
100             AS=$(AS) \
101             CFLAGS="-Osir -g -t cbm610 -I../../include" \
102             AFLAGS="-t cbm610" \
103             $(MAKE) -C $$i || exit 1; \
104         done
105         mv cbm610/crt0.o cbm610.o
106         for i in cbm610 cbm common runtime conio dbg; do \
107             $(AR) a cbm610.lib $$i/*.o;\
108         done
109
110 #-----------------------------------------------------------------------------
111 # GEOS on the C64/128
112
113 geoslib:
114         CC=$(CC) \
115         AS=../$(AS) \
116         AR=../$(AR) \
117         CFLAGS="-Osir -g -t geos -I../../include" \
118         AFLAGS="-t geos" \
119         $(MAKE) -C geos || exit 1
120         for i in common runtime; do \
121             CC=$(CC) \
122             AS=$(AS) \
123             AR=$(AR) \
124             CFLAGS="-Osir -g -t geos -I../../include" \
125             AFLAGS="-t geos" \
126             $(MAKE) -C $$i || exit 1; \
127         done
128         for i in common runtime; do \
129             $(AR) a geos.lib $$i/*.o;\
130         done
131
132 #-----------------------------------------------------------------------------
133 # CBM PET machines
134
135 petlib:
136         for i in pet cbm common runtime conio dbg; do \
137             CC=$(CC) \
138             AS=$(AS) \
139             CFLAGS="-Osir -g -t pet -I../../include" \
140             AFLAGS="-t pet" \
141             $(MAKE) -C $$i || exit 1; \
142         done
143         mv pet/crt0.o pet.o
144         for i in pet cbm common runtime conio dbg; do \
145             $(AR) a pet.lib $$i/*.o;\
146         done
147
148 #-----------------------------------------------------------------------------
149 # Commodore C116, C16 and Plus/4
150
151 plus4lib:
152         for i in plus4 cbm common runtime conio dbg; do \
153             CC=$(CC) \
154             AS=$(AS) \
155             CFLAGS="-Osir -g -t plus4 -I../../include" \
156             AFLAGS="-t plus4" \
157             $(MAKE) -C $$i || exit 1; \
158         done
159         mv plus4/crt0.o plus4.o
160         for i in plus4 cbm common runtime conio dbg; do \
161             $(AR) a plus4.lib $$i/*.o;\
162         done
163
164 #-----------------------------------------------------------------------------
165 # Dummy targets
166
167 .PHONY: clean
168 clean:
169         @for i in apple2 atari c128 c64 cbm cbm610 common conio dbg geos pet plus4 runtime; do  \
170            $(MAKE) -C $$i clean;                                                                        \
171         done
172
173 .PHONY: zap
174 zap:    clean
175         @rm -f *.lib
176
177
178
179
180