]> git.sur5r.net Git - cc65/blob - libsrc/apple2/Makefile
ad4573ac3133ee9ba7d4823466221b629e119270
[cc65] / libsrc / apple2 / Makefile
1 #
2 # makefile for CC65 runtime library
3 #
4
5 .SUFFIXES: .o .s .c
6
7 #--------------------------------------------------------------------------
8 # Programs and flags
9
10 SYS     = apple2
11
12 AS      = ../../src/ca65/ca65
13 CC      = ../../src/cc65/cc65
14 LD      = ../../src/ld65/ld65
15
16 AFLAGS  = -t $(SYS) --forget-inc-paths -I../../asminc
17 CFLAGS  = -Osir -g -T -t $(SYS) --forget-inc-paths -I . -I ../../include
18
19 #--------------------------------------------------------------------------
20 # Rules
21
22 %.o:    %.c
23         @$(CC) $(CFLAGS) $<
24         @$(AS) -o $@ $(AFLAGS) $(*).s
25
26 %.o:    %.s
27         @$(AS) -g -o $@ $(AFLAGS) $<
28
29 %.emd:  %.o ../runtime/zeropage.o
30         @$(LD) -o $@ -t module $^
31
32 %.joy:  %.o ../runtime/zeropage.o
33         @$(LD) -o $@ -t module $^
34
35 %.mou:  %.o ../runtime/zeropage.o
36         @$(LD) -o $@ -t module $^
37
38 %.ser:  %.o ../runtime/zeropage.o
39         @$(LD) -o $@ -t module $^
40
41 %.tgi:  %.o ../runtime/zeropage.o
42         @$(LD) -o $@ -t module $^
43
44 #--------------------------------------------------------------------------
45 # Object files
46
47 C_OBJS= closedir.o      \
48         opendir.o       \
49         readdir.o       \
50         rewinddir.o
51
52 S_OBJS= _scrsize.o      \
53         break.o         \
54         cclear.o        \
55         cgetc.o         \
56         chline.o        \
57         close.o         \
58         clrscr.o        \
59         color.o         \
60         cout.o          \
61         cputc.o         \
62         crt0.o          \
63         ctype.o         \
64         cvline.o        \
65         devicedir.o     \
66         dioclose.o      \
67         diocommon.o     \
68         dioopen.o       \
69         dioread.o       \
70         diosectcount.o  \
71         diosectsize.o   \
72         diowrite.o      \
73         dosdetect.o     \
74         exec.o          \
75         exehdr.o        \
76         filedes.o       \
77         filename.o      \
78         get_ostype.o    \
79         getdevice.o     \
80         gotoxy.o        \
81         gotoy.o         \
82         home.o          \
83         initcwd.o       \
84         iobuf.o         \
85         isdevice.o      \
86         joy_stddrv.o    \
87         kbhit.o         \
88         mainargs.o      \
89         mcbdefault.o    \
90         mli.o           \
91         mouse_stddrv.o  \
92         open.o          \
93         oserrlist.o     \
94         oserror.o       \
95         randomize.o     \
96         rdkey.o         \
97         read.o          \
98         reboot.o        \
99         revers.o        \
100         rwcommon.o      \
101         syschdir.o      \
102         sysmkdir.o      \
103         sysremove.o     \
104         sysrename.o     \
105         sysrmdir.o      \
106         systime.o       \
107         sysuname.o      \
108         tgi_colors.o    \
109         tgi_stddrv.o    \
110         toascii.o       \
111         vtabz.o         \
112         wherex.o        \
113         wherey.o        \
114         write.o
115
116 S_EXTRA_OBJS=           \
117         extra/iobuf-0800.o
118
119 #--------------------------------------------------------------------------
120 # Drivers
121
122 EMDS = apple2-auxmem.emd
123
124 JOYS = apple2-stdjoy.joy
125
126 MOUS = apple2-stdmou.mou
127
128 SERS = apple2-ssc.ser
129
130 TGIS = apple2-280-192-8.tgi apple2-40-48-16.tgi
131
132 #--------------------------------------------------------------------------
133 # Targets
134
135 .PHONY: all clean zap
136
137 all:    $(C_OBJS) $(S_OBJS) $(S_EXTRA_OBJS) $(EMDS) $(JOYS) $(MOUS) $(SERS) $(TGIS)
138
139 ../runtime/zeropage.o:
140         $(MAKE) -C $(dir $@) $(notdir $@)
141
142 clean:
143         @$(RM) $(C_OBJS:.o=.s) $(C_OBJS) $(S_OBJS) $(S_EXTRA_OBJS) $(EMDS:.emd=.o) $(JOYS:.joy=.o) $(MOUS:.mou=.o) $(SERS:.ser=.o) $(TGIS:.tgi=.o)
144
145 zap:    clean
146         @$(RM) $(EMDS) $(JOYS) $(MOUS) $(SERS) $(TGIS)