1ifneq (,$(EXTRA_BUILDRULES)) 2-include $(EXTRA_BUILDRULES) 3endif 4 5$(EXTRA_LINKER_SCRIPTS): 6 7$(OUTBIN): $(OUTELF) 8 @$(call ECHO_LOG,Generating image: $@) 9 $(NOECHO)$(SIZE) $< 10 $(NOECHO)$(OBJCOPY) -O binary $< $@ 11 12$(OUTELF).hex: $(OUTELF) 13 @echo generating hex file: $@ 14 $(NOECHO)$(OBJCOPY) -O ihex $< $@ 15 16$(OUTELF): $(ALLMODULE_OBJS) $(EXTRA_OBJS) $(LINKER_SCRIPT) $(EXTRA_LINKER_SCRIPTS) 17 @$(call ECHO,$(MODULE),linking,$@) 18 $(NOECHO)$(LD) $(GLOBAL_LDFLAGS) -T $(LINKER_SCRIPT) $(addprefix -T,$(EXTRA_LINKER_SCRIPTS)) \ 19 --start-group $(ALLMODULE_OBJS) $(EXTRA_OBJS) $(LIBGCC) --end-group -Map=$(OUTELF).map -o $@ 20 @$(call ECHO_DONE_SILENT,$(MODULE),linking,$@) 21 22$(OUTELF).sym: $(OUTELF) 23 @echo generating symbols: $@ 24 $(NOECHO)$(OBJDUMP) -t $< | $(CPPFILT) > $@ 25 26$(OUTELF).sym.sorted: $(OUTELF) 27 @echo generating sorted symbols: $@ 28 $(NOECHO)$(OBJDUMP) -t $< | $(CPPFILT) | sort > $@ 29 30$(OUTELF).dump: $(OUTELF) 31 @echo generating objdump: $@ 32 $(NOECHO)$(OBJDUMP) -x $< > $@ 33 34$(OUTELF).lst: $(OUTELF) 35 @echo generating listing: $@ 36 $(NOECHO)$(OBJDUMP) -dS $< > $@ 37 38$(OUTELF).size: $(OUTELF) 39 @echo generating size map: $@ 40 $(NOECHO)$(NM) -S --size-sort $< > $@ 41 42# print some information about the build 43$(BUILDDIR)/srcfiles.txt: $(OUTELF) 44 @echo generating $@ 45 $(NOECHO)echo $(sort $(ALLSRCS)) | tr ' ' '\n' > $@ 46 47$(BUILDDIR)/include_paths.txt: $(OUTELF) 48 @echo generating $@ 49 $(NOECHO)echo $(subst -I,,$(sort $(GLOBAL_INCLUDES))) | tr ' ' '\n' > $@ 50 51#include arch/$(ARCH)/compile.mk 52 53