Setting up repository
[linux-libre-firmware.git] / ath9k_htc / sboot / make_opt / RulesCPP.make
1
2 # This file contains rules which are shared between multiple Makefiles
3 #
4 # $Log: RulesCPP.make,v $
5 # Revision 1.2  2004/06/30 08:01:08  wyatthsu
6 # use CPP instead of CC
7 #
8 # Revision 1.1  2003/06/26 02:14:53  dinoking
9 # add for dependcy of CPP files
10 #
11 # Revision 1.11  2003/06/03 14:20:29  philiphuang
12 # Remove warning messge for -rm *.o .....
13 #
14 # Revision 1.10  2003/04/02 01:59:11  yhlin
15 # Make this file checking dependency of Makefile.ss
16 #
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.
19 #
20 # Revision 1.8  2003/03/26 14:39:46  yhlin
21 # Take off redendent rules
22 #
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.
27 #
28 # Revision 1.6  2003/03/24 16:29:53  yhlin
29 # Add ability to do assembler
30 #
31 # Revision 1.5  2003/03/20 11:39:53  yhlin
32 # no message
33 #
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.
36 #
37 #
38
39 #
40 # Special variables which should not be exported
41 #
42
43 unexport EXTRA_CFLAGS
44 unexport EXTRA_CCFLAGS
45 unexport EXTRA_ASFLAGS
46 unexport EXTRA_HPATH
47
48
49
50 # Common rules
51 #
52
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) $@                
56
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) $@
60         
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) $@        
64         
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) $@        
68         
69 $(L_TARGET): $(O_OBJS)
70         $(AR) $(ARFLAGS) $@ $?  
71
72
73 #
74 # Target for this sub Makefile
75 #
76
77 all: $(L_TARGET) $(ASM_OBJS)
78
79 dep:
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
85         -rm tmp1_file
86         -rm tmp2_file
87
88 clean:
89         @find $(SSOBJPATH) -name "*.o" -exec rm {} \;
90         @if [ -f "$(L_TARGET)" ]; then rm $(L_TARGET); fi
91
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
96         
97
98 #
99 # test only
100 #
101 # Linux use below:
102 $(SSOBJPATH)/%:
103         $(CC) $(CFLAGS) $(EXTRA_HPATH) $(EXTRA_CFLAGS) -o $@ $(SSOBJPATH)/*.o $(LDFLAGS)
104 # Cygwin use below
105 #$(SSOBJPATH)/%:
106 #       $(CC) $(CFLAGS) $(EXTRA_HPATH) $(EXTRA_CFLAGS) -o $@ $(SSOBJPATH)/*.o
107 exe: $(O_EXE)