4 RELDIR := $(subst $(TOPDIR)/,,$(CURDIR))
\r
6 -include $(ROOTDIR)/boards/$(BOARDDIR)/config.mk
\r
8 ARCH_PATH-y = arch/$(ARCH_FAM)/$(ARCH)
\r
10 # Include compiler generic and arch specific
\r
12 include $(ROOTDIR)/scripts/cc_$(COMPILER).mk
\r
13 #include $(ROOTDIR)/$(ARCH_PATH-y)/scripts/gcc.mk
\r
15 # Create the target name...
\r
16 target := $(subst /,_,$(SUBDIR))
\r
21 inc-y += $(ROOTDIR)/include
\r
22 inc-$(CFG_PPC) += $(ROOTDIR)/include/ppc
\r
23 # Build config.mk from config.h
\r
24 $(ROOTDIR)/boards/$(BOARDDIR)/config.mk: $(ROOTDIR)/boards/$(BOARDDIR)/config.h $(ROOTDIR)/board_config.mk
\r
25 @echo Generating config for $(BOARDDIR)
\r
26 $(CC) -E -dM $(ROOTDIR)/boards/$(BOARDDIR)/config.h -o config_$(BOARDDIR).h
\r
27 @$(SED) -n -f $(ROOTDIR)/scripts/define2make.sed config_$(BOARDDIR).h > $@
\r
28 # @$(SED) -n -f $(ROOTDIR)/scripts/define2make.sed config_$(BOARDDIR).h > $@
\r
31 # build- targets are "end" target that the included makefile want's to build
\r
32 all: $(ROOTDIR)/boards/$(BOARDDIR)/config.mk $(build-lib-y) $(build-exe-y)
\r
34 # Determine what kind of filetype to build from
\r
35 VPATH += $(ROOTDIR)/$(SUBDIR)/src
\r
36 VPATH += $(ROOTDIR)/$(SUBDIR)
\r
42 # Simple depencendy stuff
\r
43 -include $(subst .o,.d,$(obj-y))
\r
44 # Some dependency for xxx_offset.c/h also
\r
45 -include $(subst .h,.d,$(dep-y))
\r
50 $(Q)$(CC) -c $(CFLAGS) -o $@ $(addprefix -I ,$(inc-y)) $(addprefix -D,$(def-y)) $<
\r
52 # $(subst /cygdrive/c/,c:/,$<)
\r
56 $(Q)$(AS) $(ASFLAGS) -o $@ $<
\r
61 $(Q)$(CPP) -o $@ $(addprefix -I ,$(inc-y)) $(addprefix -D,$(def-y)) $<
\r
63 #$(warning RULES $(target) $(ARCH) $(MCU) $(build-lib-y))
\r
66 $(build-lib-y): $(dep-y) $(obj-y)
\r
67 @echo " >> AR $(RELDIR)/$@"
\r
68 $(Q)$(AR) -r -o $@ $(obj-y) 2> /dev/null
\r
72 # @echo " >> LD $(RELDIR)/$@"
\r
74 $(build-exe-y): $(obj-y) $(sim-y) $(libitem-y)
\r
76 $(LD) $(LDFLAGS) $(ldcmdfile-y) -o $@ $(libpath-y) --start-group $(obj-y) $(lib-y) $(libitem-y) --end-group $(LDMAPFILE)
\r
77 @echo " >>>>>>> DONE <<<<<<<<<"
\r
80 $(size-exe-y): $(build-exe-y)
\r
81 $(Q)$(OBJDUMP) -h $<
\r
82 @echo TODO: Parse the file....
\r
87 #$(foreach obj,$(obj-y),$(shell cp $(obj) $(INSTALL_PATH)))
\r
90 #+@[ -d $@/$(objdir) ] || mkdir -p $@/$(objdir)
\r
92 include $(ROOTDIR)/scripts/rules_install.mk
\r
95 $(Q)$(call cmd_mkdir,$(install-mkdir-y))
\r
96 $(Q)$(call cmd_install_dir,$(install-dir-y))
\r
97 $(Q)$(call cmd_install_file,$(install-file-y))
\r
101 # @echo $(install-dir-y)
\r
102 # @echo $(call split,$(install-dir-y))
\r
103 # @echo $(word 1,$(call split,$(install-dir-y)))
\r
104 # $(foreach dir, $(install-dir-y), $(shell cp -r $(word 1,$(call split,$(dir))) $(INSTALL_PATH)/$(word 2,$(call split,$(dir)))))
\r
105 # $(foreach file, $(install-file-y), $(shell cp $(word 1,$(call split,$(file))) $(INSTALL_PATH)/$(word 2,$(call split,$(file)))))
\r
108 # @echo $(word 1,$(subst \,, ,$(install-dir-y)))
\r
109 # $(foreach dir,$(install-dir-y),$(shell cp $(word 1,$(subst , ,$(dir))) $(INSTALL_PATH)/$(word 2,$(dir))))
\r