move sboot to the root directory
[open-ath9k-htc-firmware.git] / sboot / make_opt / RulesCPP.make
diff --git a/sboot/make_opt/RulesCPP.make b/sboot/make_opt/RulesCPP.make
new file mode 100755 (executable)
index 0000000..cded53f
--- /dev/null
@@ -0,0 +1,107 @@
+# 
+# This file contains rules which are shared between multiple Makefiles
+#
+# $Log: RulesCPP.make,v $
+# Revision 1.2  2004/06/30 08:01:08  wyatthsu
+# use CPP instead of CC
+#
+# Revision 1.1  2003/06/26 02:14:53  dinoking
+# add for dependcy of CPP files
+#
+# Revision 1.11  2003/06/03 14:20:29  philiphuang
+# Remove warning messge for -rm *.o .....
+#
+# Revision 1.10  2003/04/02 01:59:11  yhlin
+# Make this file checking dependency of Makefile.ss
+#
+# Revision 1.9  2003/03/27 08:28:07  yhlin
+# Put .S back to Rules.make. .s and .S are meanful for GCC.
+#
+# Revision 1.8  2003/03/26 14:39:46  yhlin
+# Take off redendent rules
+#
+# Revision 1.7  2003/03/25 08:08:40  tedwang
+#  1. Add target rule for capital .S,
+#      $(SSOBJPATH)/%.o: $(SSPATH)/%.S
+#  2. Add target variable $(ASM_OBJS) for assembly object and dependency generation.
+#
+# Revision 1.6  2003/03/24 16:29:53  yhlin
+# Add ability to do assembler
+#
+# Revision 1.5  2003/03/20 11:39:53  yhlin
+# no message
+#
+# Revision 1.4  2003/03/17 16:08:29  yhlin
+# Make sure common rule for L_TARGET is working and take off redundant rules.
+#
+#
+
+#
+# Special variables which should not be exported
+#
+
+unexport EXTRA_CFLAGS
+unexport EXTRA_CCFLAGS
+unexport EXTRA_ASFLAGS
+unexport EXTRA_HPATH
+
+
+# 
+# Common rules
+#
+
+$(SSOBJPATH)/%.o: $(SSPATH)/%.c Makefile.ss
+       $(CC) $(EXTRA_HPATH) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
+       $(MAGPIE_ROOT)/build/utility/bin/adj_time $(L_TARGET) $@                
+
+$(SSOBJPATH)/%.o: $(SSPATH)/%.cpp Makefile.ss
+       $(CPP) $(EXTRA_HPATH) $(CCFLAGS) $(EXTRA_CCFLAGS) -c -o $@ $<
+       $(MAGPIE_ROOT)/build/utility/bin/adj_time $(L_TARGET) $@
+       
+$(SSOBJPATH)/%.o: $(SSPATH)/%.s Makefile.ss
+       $(AS) $(EXTRA_HPATH) $(ASFLAGS) $(EXTRA_ASFLAGS) -c -o $@ $<
+       $(MAGPIE_ROOT)/build/utility/bin/adj_time $(L_TARGET) $@        
+       
+$(SSOBJPATH)/%.o: $(SSPATH)/%.S Makefile.ss
+       $(AS) $(EXTRA_HPATH) $(ASFLAGS) $(EXTRA_ASFLAGS) -c -o $@ $<
+       $(MAGPIE_ROOT)/build/utility/bin/adj_time $(L_TARGET) $@        
+       
+$(L_TARGET): $(O_OBJS)
+       $(AR) $(ARFLAGS) $@ $?  
+
+
+#
+# Target for this sub Makefile
+#
+
+all: $(L_TARGET) $(ASM_OBJS)
+
+dep:
+       sed '/\#\#\# Dep/q' < Makefile.ss > tmp_make
+       $(CPP) $(EXTRA_HPATH) $(CFLAGS) $(EXTRA_CFLAGS) -MM $(SSPATH)/*.cpp $(ASM_OBJS:$(SSOBJPATH)/%.o=$(SSPATH)/%.S) > tmp1_file
+       $(MAGPIE_ROOT)/build/utility/bin/adj_dep $(SSOBJPATH)/
+       cat tmp2_file >> tmp_make
+       mv tmp_make Makefile.ss
+       -rm tmp1_file
+       -rm tmp2_file
+
+clean:
+       @find $(SSOBJPATH) -name "*.o" -exec rm {} \;
+       @if [ -f "$(L_TARGET)" ]; then rm $(L_TARGET); fi
+
+init:  # copy/share subsystem headers file
+       -mkdir $(MAGPIE_ROOT)/src/ss_hdr/$(LAYERNAME)/$(SSNAME)
+       -mkdir $(MAGPIE_ROOT)/src/ss_hdr/$(LAYERNAME)/$(SSNAME)/hdr
+       -cp -p $(SSMPATH)/hdr/*.h $(MAGPIE_ROOT)/src/ss_hdr/$(LAYERNAME)/$(SSNAME)/hdr
+       
+
+#
+# test only
+#
+# Linux use below:
+$(SSOBJPATH)/%:
+       $(CC) $(CFLAGS) $(EXTRA_HPATH) $(EXTRA_CFLAGS) -o $@ $(SSOBJPATH)/*.o $(LDFLAGS)
+# Cygwin use below
+#$(SSOBJPATH)/%:
+#      $(CC) $(CFLAGS) $(EXTRA_HPATH) $(EXTRA_CFLAGS) -o $@ $(SSOBJPATH)/*.o
+exe: $(O_EXE)