Rev 1618 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
2 | pj | 1 | # |
2 | # The standard lib C |
||
3 | # |
||
4 | |||
5 | ifndef BASE |
||
6 | BASE=.. |
||
7 | endif |
||
8 | |||
9 | include $(BASE)/config/config.mk |
||
10 | |||
11 | LIBRARY = c |
||
12 | |||
13 | OBJS_PATH = $(BASE)/libc |
||
14 | |||
15 | SRCS= init.c |
||
16 | |||
17 | OBJS= $(patsubst %.c,%.o,$(SRCS)) |
||
18 | |||
19 | install: all $(LIB_PATH)/lib$(LIBRARY).a |
||
1619 | fabio | 20 | make -C arch/$(ARCH) $@ |
2 | pj | 21 | |
22 | clean cleanall depend:: |
||
23 | make -C libio $@ |
||
24 | make -C quad $@ |
||
25 | make -C stdio $@ |
||
26 | make -C stdlib $@ |
||
27 | make -C assert $@ |
||
28 | make -C unistd $@ |
||
29 | make -C utsname $@ |
||
30 | make -C ctype $@ |
||
31 | make -C string $@ |
||
267 | giacomo | 32 | make -C getopt $@ |
1619 | fabio | 33 | make -C arch/$(ARCH) $@ |
2 | pj | 34 | |
35 | |||
36 | # |
||
37 | # Dependency rules used to make a library |
||
38 | # derived directly from /config/lib.mak |
||
39 | # |
||
40 | |||
41 | .PHONY: all install clean cleanall depend |
||
42 | |||
43 | # |
||
44 | |||
45 | all: $(OBJS) |
||
46 | make -C libio $@ |
||
47 | make -C quad $@ |
||
48 | make -C stdio $@ |
||
49 | make -C stdlib $@ |
||
50 | make -C assert $@ |
||
51 | make -C unistd $@ |
||
52 | make -C utsname $@ |
||
53 | make -C ctype $@ |
||
54 | make -C string $@ |
||
267 | giacomo | 55 | make -C getopt $@ |
1619 | fabio | 56 | make -C arch/$(ARCH) $@ |
2 | pj | 57 | $(AR) rs lib$(LIBRARY).a $(OBJS) |
58 | |||
59 | clean:: |
||
1619 | fabio | 60 | make -C arch/$(ARCH) $@ |
2 | pj | 61 | $(RM) *.o |
62 | $(RM) *.err |
||
63 | $(RM) lib$(LIBRARY).a |
||
64 | |||
65 | cleanall:: clean |
||
66 | $(RM) deps |
||
67 | $(RM) *.bak |
||
68 | $(RM) *.~ |
||
69 | $(RM) *.?~ |
||
70 | $(RM) *.??~ |
||
71 | $(RM) $(LIBRARYPATHNAME) |
||
72 | |||
73 | depend:: |
||
74 | $(CC) $(C_OPT) -M $(OBJS:.o=.c) > deps |
||
75 | |||
76 | deps: |
||
77 | $(CC) $(C_OPT) -M $(OBJS:.o=.c) > deps |
||
78 | |||
79 | ifneq ($(MAKECMDGOALS),clean) |
||
80 | ifneq ($(MAKECMDGOALS),cleanall) |
||
81 | include deps |
||
82 | endif |
||
83 | endif |
||
84 | |||
1025 | mauro | 85 | # Common rules |
86 | %.o : %.s |
||
87 | $(REDIR) $(CC) $(ASM_OPT) $(ASM_OUTPUT) -c $< |
||
88 | %.o : %.c |
||
89 | $(REDIR) $(CC) $(C_OPT) $(C_OUTPUT) -c $< |
||
90 | %.s : %.c |
||
91 | $(REDIR) $(CC) $(C_OPT) $(C_OUTPUT) -S $< |
||
92 | %.o : %.cpp |
||
93 | $(REDIR) $(CPP) $(C_OPT) $(C_OUTPUT) -c $< |
||
94 | |||
2 | pj | 95 | $(LIB_PATH)/lib$(LIBRARY).a: lib$(LIBRARY).a copylibrary |
96 | |||
97 | copylibrary: |
||
98 | $(CP) lib$(LIBRARY).a $(LIBRARYDIR) |
||
99 |