]> rtime.felk.cvut.cz Git - arc.git/blob - scripts/rules.mk.orig
Copied CodeWarrior VLE support from applications branch
[arc.git] / scripts / rules.mk.orig
1 \r
2 CFG_ARCH_$(ARCH):=y\r
3 \r
4 RELDIR := $(subst $(TOPDIR)/,,$(CURDIR))\r
5 \r
6 -include $(ROOTDIR)/boards/$(BOARDDIR)/config.mk\r
7 \r
8 ARCH_PATH-y = arch/$(ARCH_FAM)/$(ARCH)\r
9 \r
10 # Include compiler generic and arch specific\r
11 COMPILER?=gcc\r
12 include $(ROOTDIR)/scripts/cc_$(COMPILER).mk\r
13 #include $(ROOTDIR)/$(ARCH_PATH-y)/scripts/gcc.mk\r
14 \r
15 # Create the target name... \r
16 target := $(subst /,_,$(SUBDIR))\r
17 \r
18 # Get object files\r
19 include ../makefile\r
20 \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
29 \r
30 \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
33 \r
34 # Determine what kind of filetype to build from  \r
35 VPATH += $(ROOTDIR)/$(SUBDIR)/src\r
36 VPATH += $(ROOTDIR)/$(SUBDIR)\r
37 \r
38 inc-y += ../include\r
39 \r
40 .SUFFIXES:\r
41 \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
46 \r
47 # Compile\r
48 %.o: %.c\r
49         @echo "  >> CC $<"\r
50         $(Q)$(CC) -c $(CFLAGS) -o $@ $(addprefix -I ,$(inc-y)) $(addprefix -D,$(def-y)) $<\r
51         \r
52 #        $(subst /cygdrive/c/,c:/,$<)\r
53 \r
54 # Assembler\r
55 %.o: %.s\r
56         $(Q)$(AS) $(ASFLAGS) -o $@ $<\r
57         \r
58 # PP Assembler  \r
59 %.s: %.S\r
60         @echo " >> CPP $<"\r
61         $(Q)$(CPP) -o $@ $(addprefix -I ,$(inc-y)) $(addprefix -D,$(def-y)) $<\r
62         \r
63 #$(warning RULES $(target) $(ARCH) $(MCU) $(build-lib-y))       \r
64         \r
65 # lib   \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
69 \r
70 #       $(Q)cp $@ ../lib\r
71 \r
72 #       @echo "  >> LD $(RELDIR)/$@"\r
73 # exe\r
74 $(build-exe-y): $(obj-y) $(sim-y) $(libitem-y) \r
75         @echo "  >> LD $@"\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
78         \r
79 \r
80 $(size-exe-y): $(build-exe-y)\r
81         $(Q)$(OBJDUMP) -h $<\r
82         @echo TODO: Parse the file....\r
83 #\r
84 # Installation\r
85 #       \r
86 #\r
87 #$(foreach obj,$(obj-y),$(shell cp $(obj) $(INSTALL_PATH)))\r
88 #\r
89 #define mkdir\r
90 #+@[ -d $@/$(objdir) ] || mkdir -p $@/$(objdir)\r
91 #endef\r
92 include $(ROOTDIR)/scripts/rules_install.mk\r
93 \r
94 install:\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
98 \r
99 \r
100 #\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
106 #\r
107 #\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
110