]> git.sur5r.net Git - cc65/blob - libsrc/Makefile
errno/oserrno stuff is cleaned up, saved some bytes in dialog box functions
[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         for i in geos common runtime; do \
115             CC=$(CC) \
116             AS=$(AS) \
117             AR=$(AR) \
118             CFLAGS="-Osir -g -t geos -I../../include" \
119             AFLAGS="-t geos" \
120             $(MAKE) -C $$i || exit 1; \
121         done
122         for i in common runtime; do \
123             $(AR) a geos.lib $$i/*.o;\
124         done
125
126 #-----------------------------------------------------------------------------
127 # CBM PET machines
128
129 petlib:
130         for i in pet cbm common runtime conio dbg; do \
131             CC=$(CC) \
132             AS=$(AS) \
133             CFLAGS="-Osir -g -t pet -I../../include" \
134             AFLAGS="-t pet" \
135             $(MAKE) -C $$i || exit 1; \
136         done
137         mv pet/crt0.o pet.o
138         for i in pet cbm common runtime conio dbg; do \
139             $(AR) a pet.lib $$i/*.o;\
140         done
141
142 #-----------------------------------------------------------------------------
143 # Commodore C116, C16 and Plus/4
144
145 plus4lib:
146         for i in plus4 cbm common runtime conio dbg; do \
147             CC=$(CC) \
148             AS=$(AS) \
149             CFLAGS="-Osir -g -t plus4 -I../../include" \
150             AFLAGS="-t plus4" \
151             $(MAKE) -C $$i || exit 1; \
152         done
153         mv plus4/crt0.o plus4.o
154         for i in plus4 cbm common runtime conio dbg; do \
155             $(AR) a plus4.lib $$i/*.o;\
156         done
157
158 #-----------------------------------------------------------------------------
159 # Dummy targets
160
161 .PHONY: clean
162 clean:
163         @for i in apple2 atari c128 c64 cbm cbm610 common conio dbg geos pet plus4 runtime; do  \
164            $(MAKE) -C $$i clean;                                                                        \
165         done
166
167 .PHONY: zap
168 zap:    clean
169         @rm -f *.lib
170
171
172
173
174