]> git.sur5r.net Git - cc65/blob - libsrc/common/Makefile
The IRQ handler needs to save the registers. By Stefan Haubenthal.
[cc65] / libsrc / common / Makefile
1 # -*- makefile -*-
2 #
3 # makefile for CC65's common library
4 #
5
6 .SUFFIXES: .o .s .c
7
8 #--------------------------------------------------------------------------
9 # Programs and flags
10
11 SYS     = none
12
13 AS      = ../../src/ca65/ca65
14 CC      = ../../src/cc65/cc65
15 LD      = ../../src/ld65/ld65
16
17 AFLAGS  = -t $(SYS) --forget-inc-paths -I../../asminc
18 CFLAGS  = -Osir -g -T -t $(SYS) --forget-inc-paths -I . -I ../../include
19
20 #--------------------------------------------------------------------------
21 # Rules
22
23 %.o:    %.c
24         @$(CC) $(CFLAGS) $<
25         @$(AS) -g -o $@ $(AFLAGS) $(*).s
26
27 %.o:    %.s
28         @$(AS) -g -o $@ $(AFLAGS) $<
29
30 #--------------------------------------------------------------------------
31 # Rules to help us see what code the compiler and assembler make.
32
33 %.s :   %.c
34         @$(CC) $(CFLAGS) -S $<
35
36 %.lst : %.s
37         @$(AS) $(AFLAGS) -l -o /dev/null $<
38
39 #--------------------------------------------------------------------------
40 # Object files
41
42 # From C source-files
43 C_OBJS =        _afailed.o              \
44                 _hextab.o               \
45                 _poserror.o             \
46                 _scanf.o                \
47                 abort.o                 \
48                 asctime.o               \
49                 bsearch.o               \
50                 errormsg.o              \
51                 fdopen.o                \
52                 fgetc.o                 \
53                 fgetpos.o               \
54                 fgets.o                 \
55                 fputc.o                 \
56                 fputs.o                 \
57                 freopen.o               \
58                 fseek.o                 \
59                 fsetpos.o               \
60                 ftell.o                 \
61                 getchar.o               \
62                 getopt.o                \
63                 gets.o                  \
64                 gmtime.o                \
65                 locale.o                \
66                 localtime.o             \
67                 mktime.o                \
68                 perror.o                \
69                 pmemalign.o             \
70                 puts.o                  \
71                 qsort.o                 \
72                 realloc.o               \
73                 rewind.o                \
74                 sleep.o                 \
75                 strftime.o              \
76                 strtok.o                \
77                 strtol.o                \
78                 strtoul.o               \
79                 strxfrm.o               \
80                 system.o                \
81                 timezone.o
82
83 # From assembly source-files
84 S_OBJS =        _cwd.o                  \
85                 _environ.o              \
86                 _fdesc.o                \
87                 _file.o                 \
88                 _fopen.o                \
89                 _heap.o                 \
90                 _heapadd.o              \
91                 _heapblocksize.o        \
92                 _heapmaxavail.o         \
93                 _heapmemavail.o         \
94                 _oserror.o              \
95                 _printf.o               \
96                 _seterrno.o             \
97                 _swap.o                 \
98                 _sys.o                  \
99                 abs.o                   \
100                 atexit.o                \
101                 atoi.o                  \
102                 calloc.o                \
103                 cc65_idiv32by16r16.o    \
104                 cc65_imul16x16r32.o     \
105                 cc65_sincos.o           \
106                 cc65_udiv32by16r16.o    \
107                 cc65_umul16x16r32.o     \
108                 cc65_umul16x8r32.o      \
109                 chdir.o                 \
110                 copydata.o              \
111                 creat.o                 \
112                 ctime.o                 \
113                 divt.o                  \
114                 errno.o                 \
115                 fclose.o                \
116                 fmisc.o                 \
117                 fopen.o                 \
118                 fprintf.o               \
119                 fread.o                 \
120                 free.o                  \
121                 fscanf.o                \
122                 fwrite.o                \
123                 getcpu.o                \
124                 getcwd.o                \
125                 getenv.o                \
126                 interrupt.o             \
127                 isalnum.o               \
128                 isalpha.o               \
129                 isblank.o               \
130                 iscntrl.o               \
131                 isdigit.o               \
132                 isgraph.o               \
133                 islower.o               \
134                 isprint.o               \
135                 ispunct.o               \
136                 isspace.o               \
137                 isupper.o               \
138                 isxdigit.o              \
139                 itoa.o                  \
140                 labs.o                  \
141                 longjmp.o               \
142                 ltoa.o                  \
143                 malloc.o                \
144                 memchr.o                \
145                 memcmp.o                \
146                 memcpy.o                \
147                 memmove.o               \
148                 memset.o                \
149                 mkdir.o                 \
150                 modfree.o               \
151                 modload.o               \
152                 printf.o                \
153                 putchar.o               \
154                 putenv.o                \
155                 rand.o                  \
156                 raise.o                 \
157                 remove.o                \
158                 rename.o                \
159                 rmdir.o                 \
160                 scanf.o                 \
161                 searchenv.o             \
162                 setjmp.o                \
163                 signal.o                \
164                 sigtable.o              \
165                 snprintf.o              \
166                 sprintf.o               \
167                 sscanf.o                \
168                 strcat.o                \
169                 strchr.o                \
170                 strcmp.o                \
171                 strcoll.o               \
172                 strcpy.o                \
173                 strcspn.o               \
174                 strdup.o                \
175                 strerror.o              \
176                 stricmp.o               \
177                 strlen.o                \
178                 strlower.o              \
179                 strncat.o               \
180                 strncmp.o               \
181                 strncpy.o               \
182                 strnicmp.o              \
183                 stroserr.o              \
184                 strpbrk.o               \
185                 strrchr.o               \
186                 strspn.o                \
187                 strstr.o                \
188                 strtoimax.o             \
189                 strtoumax.o             \
190                 strupper.o              \
191                 time.o                  \
192                 tolower.o               \
193                 toupper.o               \
194                 uname.o                 \
195                 ungetc.o                \
196                 unlink.o                \
197                 utscopy.o               \
198                 vfprintf.o              \
199                 vfscanf.o               \
200                 vprintf.o               \
201                 vscanf.o                \
202                 vsnprintf.o             \
203                 vsprintf.o              \
204                 vsscanf.o               \
205                 zerobss.o
206
207
208 #--------------------------------------------------------------------------
209 # Targets
210
211 .PHONY: all clean zap
212
213 all:    $(C_OBJS) $(S_OBJS)
214
215 clean:
216         @$(RM) *~ *.lst
217         @$(RM) $(C_OBJS:.o=.s)
218         @$(RM) $(C_OBJS)
219         @$(RM) $(S_OBJS)
220
221 zap:    clean
222