-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathstdrules.mk
46 lines (44 loc) · 1.67 KB
/
stdrules.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# $Id: stdrules.mk,v 1.2 1996/01/16 14:16:47 chris Exp $
########################################################################
# This file contains commonly used makefile rules #
########################################################################
# generate the make rules for all files
rules.mk : ../files.mk
@echo creating $@
@rm -f $@
@echo "##################################################" >> $@
@echo "# Do Not Edit This File #" >> $@
@echo "# Add any new modules to files.mk #" >> $@
@echo "##################################################" >> $@
@for i in $(FILES) XX ; do \
if [ -r $(SRC)/$$i.c ] ; then \
echo "$$i.o : $$(SRC)/$$i.c" >> $@ ; \
echo ' $${CC} -c $${CFLAGS} $$(SRC)/'$$i.c >> $@ ; \
elif [ -r $(SRC)/$$i.s ] ; then \
echo "$$i.o : $(SRC)/$$i.s" >> $@ ; \
echo ' $${CC} -c $${ASFLAGS} $$(SRC)/'$$i.s >> $@ ; \
elif [ -r $(SRC)/$$i.S ] ; then \
echo "$$i.o : $$(SRC)/$$i.S" >> $@ ; \
echo ' $${CC} -c $${ASFLAGS} $$(SRC)/'$$i.S >> $@ ; \
fi \
done
@for i in $(OBJ_FILES) XX ; do \
if [ -r $(SRC)/$$i.c ] ; then \
echo "$$i.O : $$(SRC)/$$i.c" >> $@ ; \
echo ' rm -f' $$i.O >> $@ ; \
echo ' $${CC} -c $${CFLAGS} -o $$i.O $$(SRC)/'$$i.c >> $@ ;\
echo ' chmod -w ' $$i.O >> $@ ; \
elif [ -r $(SRC)/$$i.s ] ; then \
echo "$$i.O : $$(SRC)/$$i.s" >> $@ ; \
echo ' rm -f' $$i.O >> $@ ; \
echo ' $${CC} -c $${ASFLAGS} -o $$i.O $$(SRC)/'$$i.s >> $@;\
echo ' chmod -w ' $$i.O >> $@ ; \
fi \
done
clean :
@for i in $(TARGETS) XX ; do \
if [ -d $$i ] ; then \
(cd $$i;$(MAKE) -f ../../target.mk clean) ; \
fi \
done
@rm -f rules.mk