2 # This file contains rules which are shared between multiple Makefiles
4 # $Log: RulesCPP.make,v $
5 # Revision 1.2 2004/06/30 08:01:08 wyatthsu
6 # use CPP instead of CC
8 # Revision 1.1 2003/06/26 02:14:53 dinoking
9 # add for dependcy of CPP files
11 # Revision 1.11 2003/06/03 14:20:29 philiphuang
12 # Remove warning messge for -rm *.o .....
14 # Revision 1.10 2003/04/02 01:59:11 yhlin
15 # Make this file checking dependency of Makefile.ss
17 # Revision 1.9 2003/03/27 08:28:07 yhlin
18 # Put .S back to Rules.make. .s and .S are meanful for GCC.
20 # Revision 1.8 2003/03/26 14:39:46 yhlin
21 # Take off redendent rules
23 # Revision 1.7 2003/03/25 08:08:40 tedwang
24 # 1. Add target rule for capital .S,
25 # $(SSOBJPATH)/%.o: $(SSPATH)/%.S
26 # 2. Add target variable $(ASM_OBJS) for assembly object and dependency generation.
28 # Revision 1.6 2003/03/24 16:29:53 yhlin
29 # Add ability to do assembler
31 # Revision 1.5 2003/03/20 11:39:53 yhlin
34 # Revision 1.4 2003/03/17 16:08:29 yhlin
35 # Make sure common rule for L_TARGET is working and take off redundant rules.
40 # Special variables which should not be exported
44 unexport EXTRA_CCFLAGS
45 unexport EXTRA_ASFLAGS
53 $(SSOBJPATH)/%.o: $(SSPATH)/%.c Makefile.ss
54 $(CC) $(EXTRA_HPATH) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
55 $(MAGPIE_ROOT)/build/utility/bin/adj_time $(L_TARGET) $@
57 $(SSOBJPATH)/%.o: $(SSPATH)/%.cpp Makefile.ss
58 $(CPP) $(EXTRA_HPATH) $(CCFLAGS) $(EXTRA_CCFLAGS) -c -o $@ $<
59 $(MAGPIE_ROOT)/build/utility/bin/adj_time $(L_TARGET) $@
61 $(SSOBJPATH)/%.o: $(SSPATH)/%.s Makefile.ss
62 $(AS) $(EXTRA_HPATH) $(ASFLAGS) $(EXTRA_ASFLAGS) -c -o $@ $<
63 $(MAGPIE_ROOT)/build/utility/bin/adj_time $(L_TARGET) $@
65 $(SSOBJPATH)/%.o: $(SSPATH)/%.S Makefile.ss
66 $(AS) $(EXTRA_HPATH) $(ASFLAGS) $(EXTRA_ASFLAGS) -c -o $@ $<
67 $(MAGPIE_ROOT)/build/utility/bin/adj_time $(L_TARGET) $@
69 $(L_TARGET): $(O_OBJS)
70 $(AR) $(ARFLAGS) $@ $?
74 # Target for this sub Makefile
77 all: $(L_TARGET) $(ASM_OBJS)
80 sed '/\#\#\# Dep/q' < Makefile.ss > tmp_make
81 $(CPP) $(EXTRA_HPATH) $(CFLAGS) $(EXTRA_CFLAGS) -MM $(SSPATH)/*.cpp $(ASM_OBJS:$(SSOBJPATH)/%.o=$(SSPATH)/%.S) > tmp1_file
82 $(MAGPIE_ROOT)/build/utility/bin/adj_dep $(SSOBJPATH)/
83 cat tmp2_file >> tmp_make
84 mv tmp_make Makefile.ss
89 @find $(SSOBJPATH) -name "*.o" -exec rm {} \;
90 @if [ -f "$(L_TARGET)" ]; then rm $(L_TARGET); fi
92 init: # copy/share subsystem headers file
93 -mkdir $(MAGPIE_ROOT)/src/ss_hdr/$(LAYERNAME)/$(SSNAME)
94 -mkdir $(MAGPIE_ROOT)/src/ss_hdr/$(LAYERNAME)/$(SSNAME)/hdr
95 -cp -p $(SSMPATH)/hdr/*.h $(MAGPIE_ROOT)/src/ss_hdr/$(LAYERNAME)/$(SSNAME)/hdr
103 $(CC) $(CFLAGS) $(EXTRA_HPATH) $(EXTRA_CFLAGS) -o $@ $(SSOBJPATH)/*.o $(LDFLAGS)
106 # $(CC) $(CFLAGS) $(EXTRA_HPATH) $(EXTRA_CFLAGS) -o $@ $(SSOBJPATH)/*.o