]> git.sur5r.net Git - cc65/blob - libsrc/common/Makefile
5860d40d3cf3036e667f1143c5a9afa2ea058ec8
[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) -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                 gets.o                  \
63                 gmtime.o                \
64                 locale.o                \
65                 localtime.o             \
66                 mktime.o                \
67                 perror.o                \
68                 pmemalign.o             \
69                 puts.o                  \
70                 qsort.o                 \
71                 realloc.o               \
72                 rewind.o                \
73                 sleep.o                 \
74                 strftime.o              \
75                 strxfrm.o               \
76                 strtok.o                \
77                 system.o                \
78                 timezone.o
79
80 # From assembly source-files
81 S_OBJS =        _cwd.o          \
82                 _environ.o      \
83                 _fdesc.o        \
84                 _file.o         \
85                 _fopen.o        \
86                 _heap.o         \
87                 _heapadd.o      \
88                 _heapblocksize.o\
89                 _heapmaxavail.o \
90                 _heapmemavail.o \
91                 _oserror.o      \
92                 _printf.o       \
93                 _seterrno.o     \
94                 _swap.o         \
95                 _sys.o          \
96                 abs.o           \
97                 atexit.o        \
98                 atoi.o          \
99                 calloc.o        \
100                 chdir.o         \
101                 copydata.o      \
102                 creat.o         \
103                 ctime.o         \
104                 divt.o          \
105                 errno.o         \
106                 fclose.o        \
107                 fmisc.o         \
108                 fopen.o         \
109                 fprintf.o       \
110                 fread.o         \
111                 free.o          \
112                 fscanf.o        \
113                 fwrite.o        \
114                 getcpu.o        \
115                 getcwd.o        \
116                 getenv.o        \
117                 isalnum.o       \
118                 isalpha.o       \
119                 isblank.o       \
120                 iscntrl.o       \
121                 isdigit.o       \
122                 isgraph.o       \
123                 islower.o       \
124                 isprint.o       \
125                 ispunct.o       \
126                 isspace.o       \
127                 isupper.o       \
128                 isxdigit.o      \
129                 itoa.o          \
130                 labs.o          \
131                 longjmp.o       \
132                 ltoa.o          \
133                 malloc.o        \
134                 maperrno.o      \
135                 memchr.o        \
136                 memcmp.o        \
137                 memcpy.o        \
138                 memmove.o       \
139                 memset.o        \
140                 mkdir.o         \
141                 modfree.o       \
142                 modload.o       \
143                 oserrcheck.o    \
144                 printf.o        \
145                 putchar.o       \
146                 putenv.o        \
147                 rand.o          \
148                 raise.o         \
149                 remove.o        \
150                 rename.o        \
151                 rmdir.o         \
152                 scanf.o         \
153                 searchenv.o     \
154                 setjmp.o        \
155                 signal.o        \
156                 sigtable.o      \
157                 sprintf.o       \
158                 sscanf.o        \
159                 strcat.o        \
160                 strchr.o        \
161                 strcmp.o        \
162                 strcoll.o       \
163                 strcpy.o        \
164                 strcspn.o       \
165                 strdup.o        \
166                 strerror.o      \
167                 stricmp.o       \
168                 strlen.o        \
169                 strlower.o      \
170                 strncat.o       \
171                 strncmp.o       \
172                 strncpy.o       \
173                 strnicmp.o      \
174                 stroserr.o      \
175                 strpbrk.o       \
176                 strrchr.o       \
177                 strspn.o        \
178                 strstr.o        \
179                 strupper.o      \
180                 time.o          \
181                 tolower.o       \
182                 toupper.o       \
183                 uname.o         \
184                 ungetc.o        \
185                 unlink.o        \
186                 utscopy.o       \
187                 vfprintf.o      \
188                 vfscanf.o       \
189                 vprintf.o       \
190                 vscanf.o        \
191                 vsprintf.o      \
192                 vsscanf.o       \
193                 zerobss.o
194
195
196 #--------------------------------------------------------------------------
197 # Targets
198
199 .PHONY: all clean zap
200
201 all:    $(C_OBJS) $(S_OBJS)
202
203 clean:
204         @$(RM) *~ *.lst
205         @$(RM) $(C_OBJS:.o=.s)
206         @$(RM) $(C_OBJS)
207         @$(RM) $(S_OBJS)
208
209 zap:    clean
210