-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"
-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 $< $@