[rendering] Do not write duplicated hashes...
[wikipediardware.git] / toolchain / mini-libc / Makefile
blobeedf894dd523650e3e6250552cdc5f3958921e9b
1 CROSS=c33-epson-elf-
2 GCC=$(CROSS)gcc
3 AS=$(CROSS)gcc
4 LD=$(CROSS)ld
5 AR=$(CROSS)ar
6 HOSTCC=gcc
7 CC=$(GCC)
8 OBJCOPY=$(CROSS)objcopy
10 LDFLAGS=-static -s --no-gc-sections -N -L$(LIBDIR)
11 CFLAGS=-Wall -I. -Iinclude -gstabs -mlong-calls -fno-builtin -Os -mc33pe
12 ASFLAGS=-c -xassembler-with-cpp -Wa,--gstabs -medda32 -mc33pe -mc33_ext
14 C_STRING_OPERATIONS = \
15 src/string/atol.o \
16 src/string/bcmp.o \
17 src/string/bcopy.o \
18 src/string/bzero.o \
19 src/string/ffs.o \
20 src/string/index.o \
21 src/string/isalnum.o \
22 src/string/isalpha.o \
23 src/string/isascii.o \
24 src/string/isblank.o \
25 src/string/iscntrl.o \
26 src/string/isdigit.o \
27 src/string/islower.o \
28 src/string/isprint.o \
29 src/string/ispunct.o \
30 src/string/isspace.o \
31 src/string/isupper.o \
32 src/string/isxdigit.o \
33 src/string/memccpy.o \
34 src/string/memchr.o \
35 src/string/memcmp.o \
36 src/string/memcpy.o \
37 src/string/memmove.o \
38 src/string/memset.o \
39 src/string/rindex.o \
40 src/string/strcasecmp.o \
41 src/string/strcat.o \
42 src/string/strchr.o \
43 src/string/strcmp.o \
44 src/string/strcpy.o \
45 src/string/strcspn.o \
46 src/string/strdup.o \
47 src/string/strlcat.o \
48 src/string/strlcpy.o \
49 src/string/strlen.o \
50 src/string/strncasecmp.o \
51 src/string/strncat.o \
52 src/string/strncmp.o \
53 src/string/strncpy.o \
54 src/string/strpbrk.o \
55 src/string/strrchr.o \
56 src/string/strsep.o \
57 src/string/strspn.o \
58 src/string/strstr.o \
59 src/string/strtok.o \
60 src/string/swab.o \
61 src/string/toascii.o \
62 src/string/tolower.o \
63 src/string/toupper.o
65 C_BSD_OPERATIONS = \
66 src/bsd/qsort.o \
67 src/bsd/strtol.o \
68 src/bsd/strtoul.o
70 C_STD_LIB_OPERATIONS = \
71 src/stdlib/abort.o \
72 src/stdlib/abs.o \
73 src/stdlib/atoi.o \
74 src/stdlib/atol.o \
75 src/stdlib/bsearch.o \
76 src/stdlib/errno.o \
77 src/stdlib/itoa.o \
78 src/stdlib/labs.o \
79 src/stdlib/ltoa.o \
80 src/stdlib/printf.o \
81 src/stdlib/puts.o \
82 src/stdlib/rand.o \
83 src/stdlib/snprintf.o \
84 src/stdlib/sprintf.o \
85 src/stdlib/strtol.o \
86 src/stdlib/strtoul.o \
87 src/stdlib/ultoa.o \
88 src/stdlib/uprintf.o \
89 src/stdlib/utoa.o \
90 src/stdlib/vprintf.o \
91 src/stdlib/vsnprintf.o \
92 src/stdlib/vsprintf.o \
93 src/stdlib/vuprintf.o
97 TARGETS=lib/libc.a
98 all: $(TARGETS)
100 .c.o:
101 $(GCC) -M $(CFLAGS) $< > $(<:.c=.d)
102 $(GCC) $(CFLAGS) -c $< -o $(<:.c=.o)
104 lib/libc.a: $(C_STRING_OPERATIONS) $(C_BSD_OPERATIONS) $(C_STD_LIB_OPERATIONS)
105 $(AR) q lib/libc.a $^
107 clean::
108 rm -rf $(TARGETS) *.o *.elf *.d
109 rm -rf src/string/*.d src/string/*.o
110 rm -rf src/stdlib/*.d src/stdlib/*.o
111 rm -rf src/bsd/*.d src/bsd/*.o
113 -include $(wildcard *.d) dummy