Subversion Repositories shark

Rev

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