X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=common.mk;h=1a1adf22cfb2462bd8ff0937eb4df7a744f61984;hb=7a471237f204bb160a09092e9787a294f28d6c8c;hp=374049ebe902ea92766ca9782b9f4965b7130d07;hpb=415f34914ef7031ec1b018b4fcfe4721a2bc8151;p=~andy%2Fcsm213a-hw diff --git a/common.mk b/common.mk index 374049e..1a1adf2 100644 --- a/common.mk +++ b/common.mk @@ -6,8 +6,8 @@ GXX ?= arm-none-eabi-g++ GLD ?= arm-none-eabi-gcc OBJCOPY ?= arm-none-eabi-objcopy -CFLAGS ?= -Wall -Os -g --std=gnu99 -CXXFLAGS ?= -Wall -Os -g --std=gnu++98 +CFLAGS ?= -Wall -g --std=gnu99 +CXXFLAGS ?= -Wall -g --std=gnu++98 # Cross compiler flags CPPFLAGS += -I$(MBED) -I$(MBED)/TARGET_KL46Z @@ -25,7 +25,7 @@ LDFLAGS += --specs=nano.specs -Wl,-u_printf_float -Wl,--gc-sections \ -Wl,--start-group -lmbed -lc_s -lstdc++_s -Wl,--end-group # Targets -all: $(PROG).bin +all: $(addsuffix .bin,$(PROG)) info: all @echo "LS $(PROG).bin $(PROG).elf" @@ -51,26 +51,29 @@ openocd: all -f board/frdm-kl46z.cfg clean: - @echo "RM $(PROG).bin $(PROG).elf $(OBJS)" - @rm -f $(PROG).bin $(PROG).elf $(OBJS) + @echo "RM *.bin *.elf *.o $(CLEAN)" + @rm -f *.bin *.elf *.o $(CLEAN) + +# Defaults +$(PROG).elf: $(OJBS) # Rules -%.o: %.c makefile ../common.mk ../config.mk +%.o: %.c $(wildcard *.h) makefile ../common.mk ../config.mk @echo "CC $<" @$(GCC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $< -%.o: %.cc makefile ../common.mk ../config.mk +%.o: %.cc $(wildcard *.h) makefile ../common.mk ../config.mk @echo "CXX $<" @$(GXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $< -%.o: %.cpp makefile ../common.mk ../config.mk +%.o: %.cpp $(wildcard *.h) makefile ../common.mk ../config.mk @echo "CXX $<" @$(GXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $< -$(PROG).elf: $(OBJS) +%.elf: @echo "LD $+" @$(GLD) $(CFLAGS) -o $@ $^ $(LDFLAGS) -$(PROG).bin: $(PROG).elf +%.bin: %.elf @echo "BIN $+" @$(OBJCOPY) -O binary $< $@