]> git.sur5r.net Git - cc65/blob - libsrc/common/Makefile
Make the 8x32 unsigned multiplication routine C callable.
[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                 isalnum.o               \
127                 isalpha.o               \
128                 isblank.o               \
129                 iscntrl.o               \
130                 isdigit.o               \
131                 isgraph.o               \
132                 islower.o               \
133                 isprint.o               \
134                 ispunct.o               \
135                 isspace.o               \
136                 isupper.o               \
137                 isxdigit.o              \
138                 itoa.o                  \
139                 labs.o                  \
140                 longjmp.o               \
141                 ltoa.o                  \
142                 malloc.o                \
143                 memchr.o                \
144                 memcmp.o                \
145                 memcpy.o                \
146                 memmove.o               \
147                 memset.o                \
148                 mkdir.o                 \
149                 modfree.o               \
150                 modload.o               \
151                 printf.o                \
152                 putchar.o               \
153                 putenv.o                \
154                 rand.o                  \
155                 raise.o                 \
156                 remove.o                \
157                 rename.o                \
158                 rmdir.o                 \
159                 scanf.o                 \
160                 searchenv.o             \
161                 setjmp.o                \
162                 signal.o                \
163                 sigtable.o              \
164                 snprintf.o              \
165                 sprintf.o               \
166                 sscanf.o                \
167                 strcat.o                \
168                 strchr.o                \
169                 strcmp.o                \
170                 strcoll.o               \
171                 strcpy.o                \
172                 strcspn.o               \
173                 strdup.o                \
174                 strerror.o              \
175                 stricmp.o               \
176                 strlen.o                \
177                 strlower.o              \
178                 strncat.o               \
179                 strncmp.o               \
180                 strncpy.o               \
181                 strnicmp.o              \
182                 stroserr.o              \
183                 strpbrk.o               \
184                 strrchr.o               \
185                 strspn.o                \
186                 strstr.o                \
187                 strtoimax.o             \
188                 strtoumax.o             \
189                 strupper.o              \
190                 time.o                  \
191                 tolower.o               \
192                 toupper.o               \
193                 uname.o                 \
194                 ungetc.o                \
195                 unlink.o                \
196                 utscopy.o               \
197                 vfprintf.o              \
198                 vfscanf.o               \
199                 vprintf.o               \
200                 vscanf.o                \
201                 vsnprintf.o             \
202                 vsprintf.o              \
203                 vsscanf.o               \
204                 zerobss.o
205
206
207 #--------------------------------------------------------------------------
208 # Targets
209
210 .PHONY: all clean zap
211
212 all:    $(C_OBJS) $(S_OBJS)
213
214 clean:
215         @$(RM) *~ *.lst
216         @$(RM) $(C_OBJS:.o=.s)
217         @$(RM) $(C_OBJS)
218         @$(RM) $(S_OBJS)
219
220 zap:    clean
221