diff --git a/BaS_gcc/Makefile b/BaS_gcc/Makefile index 7922823..d0f8bc4 100644 --- a/BaS_gcc/Makefile +++ b/BaS_gcc/Makefile @@ -112,12 +112,9 @@ lib: $(LIBS) .PHONY clean: for d in $(TRGTDIRS);\ - do rm -f $$d/$(FLASH_EXEC) $(patsubst %.elf, %.s19, $$d/$(FLASH_EXEC)) \ - $$d/$(RAM_EXEC) $(patsubst %.elf, %.s19, $$d/$(RAM_EXEC)) \ - $d$/$(BASFLASH_EXEC) $(patsubst %.elf, %.s19, $$d/$(BASFLASH_EXEC)) $$d/$(OBJDIR)/basflash.o $$d/$(OBJDIR)/basflash_start.o \ - $$d/objs/* $$d/$(LIBBAS) \ - $$d/bas.lk $$d/bas.map $$d/ram.lk $$d/ram.map $$d/basflash.lk $$d/basflash.map depend; \ - done + do rm -f $$d/*.map $$d/*.s19 $$d/*.elf $$d/*.lk $$d/objs/* ;\ + done + rm -f depend # flags for targets @@ -160,34 +157,37 @@ $(foreach DIR,$(TRGTDIRS),$(eval $(call AR_TEMPLATE,$(DIR)))) # define pattern rules for binaries # define EX_TEMPLATE -$(1)_MAPFILE=$(1)/$$(basename $$FLASH_EXEC).map +# pattern rule for flash +$(1)_MAPFILE=$(1)/$$(basename $$(FLASH_EXEC)).map $(1)/$$(FLASH_EXEC): $(1)/$(LIBBAS) $(LDCSRC) $(CPP) $(INCLUDE) -DOBJDIR=$(1)/objs -P -DFORMAT=$$(FORMAT) -D$$(MACHINE) $(LDCSRC) -o $(1)/$$(LDCFILE) - $(LD) --oformat $$(FORMAT) -Map $(1)_MAPFILE --cref -T $(1)/$$(LDCFILE) -o $$@ + $(LD) --oformat $$(FORMAT) -Map $$($(1)_MAPFILE) --cref -T $(1)/$$(LDCFILE) -o $$@ ifeq ($(COMPILE_ELF),Y) - $(OBJCOPY) -O srec $$@ $(basename $$@).s19 + $(OBJCOPY) -O srec $$@ $$(basename $$@).s19 else - objcopy -I srec -O elf32big --alt-machine-code 4 $$@ $(basename $$@).elf + objcopy -I srec -O elf32big --alt-machine-code 4 $$@ $$(basename $$@).elf endif +# pattern rule for RAM +$(1)_MAPFILE_RAM=$(1)/$$(basename $$(RAM_EXEC)).map $(1)/$$(RAM_EXEC): $(1)/$(LIBBAS) $(LDCSRC) $(CPP) $(INCLUDE) -DCOMPILE_RAM -DOBJDIR=$(1)/objs -P -DFORMAT=$$(FORMAT) -D$$(MACHINE) $(LDCSRC) -o $(1)/$$(LDCFILE) - $(LD) --oformat $$(FORMAT) -Map $(1)_MAPFILE --cref -T $(1)/$$(LDCFILE) -o $$@ + $(LD) --oformat $$(FORMAT) -Map $$($(1)_MAPFILE_RAM) --cref -T $(1)/$$(LDCFILE) -o $$@ ifeq ($(COMPILE_ELF),Y) - $(OBJCOPY) -O srec $$@ $(basename $$@).s19 + $(OBJCOPY) -O srec $$@ $$(basename $$@).s19 else - objcopy -I srec -O elf32big --alt-machine-code 4 $$@ $(basename $$@).elf + objcopy -I srec -O elf32big --alt-machine-code 4 $$@ $$(basename $$@).elf endif - +# pattern rule for basflash $(1)_MAPFILE_BFL=$(1)/$$(basename $$(BASFLASH_EXEC)).map $(1)/$$(BASFLASH_EXEC): $(1)/objs/basflash.o $(1)/objs/basflash_start.o $(1)/$(LIBBAS) $(LDCBFL) $(CPP) $(INCLUDE) -P -DOBJDIR=$(1)/objs -DFORMAT=$$(FORMAT) -D$$(MACHINE) $(LDCBSRC) -o $(1)/$$(LDCFILE) - $(LD) --oformat $$(FORMAT) -Map $(1)_MAPFILE_BFL --cref -T $(1)/$$(LDCFILE) -L$(1) -lbas -o $$@ + $(LD) --oformat $$(FORMAT) -Map $$($(1)_MAPFILE_BFL) --cref -T $(1)/$$(LDCFILE) -L$(1) -lbas -o $$@ ifeq ($(COMPILE_ELF),Y) - $(OBJCOPY) -O srec $$@ $(basename $$@).s19 + $(OBJCOPY) -O srec $$@ $$(basename $$@).s19 else - objcopy -I srec -O elf32big --alt-machine-code 4 $$@ $(basename $$@).elf + objcopy -I srec -O elf32big --alt-machine-code 4 $$@ $$(basename $$@).elf endif endef $(foreach DIR,$(TRGTDIRS),$(eval $(call EX_TEMPLATE,$(DIR))))