build-targets.mk 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. # main project target
  2. $(BUILD_PATH)/main.o: $(SRCROOT)/main.cpp
  3. $(SILENT_CXX) $(CXX) $(CFLAGS) $(CXXFLAGS) $(LIBMAPLE_INCLUDES) $(WIRISH_INCLUDES) -o $@ -c $<
  4. $(BUILD_PATH)/libmaple.a: $(BUILDDIRS) $(TGT_BIN)
  5. - rm -f $@
  6. $(AR) crv $(BUILD_PATH)/libmaple.a $(TGT_BIN)
  7. library: $(BUILD_PATH)/libmaple.a
  8. .PHONY: library
  9. $(BUILD_PATH)/$(BOARD).elf: $(BUILDDIRS) $(TGT_BIN) $(BUILD_PATH)/main.o
  10. $(SILENT_LD) $(CXX) $(LDFLAGS) -o $@ $(TGT_BIN) $(BUILD_PATH)/main.o -Wl,-Map,$(BUILD_PATH)/$(BOARD).map
  11. $(BUILD_PATH)/$(BOARD).bin: $(BUILD_PATH)/$(BOARD).elf
  12. $(SILENT_OBJCOPY) $(OBJCOPY) -v -Obinary $(BUILD_PATH)/$(BOARD).elf $@ 1>/dev/null
  13. $(SILENT_DISAS) $(DISAS) -d $(BUILD_PATH)/$(BOARD).elf > $(BUILD_PATH)/$(BOARD).disas
  14. @echo " "
  15. @echo "Object file sizes:"
  16. @find $(BUILD_PATH) -iname *.o | xargs $(SIZE) -t > $(BUILD_PATH)/$(BOARD).sizes
  17. @cat $(BUILD_PATH)/$(BOARD).sizes
  18. @echo " "
  19. @echo "Final Size:"
  20. @$(SIZE) $<
  21. @echo $(MEMORY_TARGET) > $(BUILD_PATH)/build-type
  22. $(BUILDDIRS):
  23. @mkdir -p $@
  24. MSG_INFO:
  25. @echo "================================================================================"
  26. @echo ""
  27. @echo " Build info:"
  28. @echo " BOARD: " $(BOARD)
  29. @echo " MCU: " $(MCU)
  30. @echo " MEMORY_TARGET: " $(MEMORY_TARGET)
  31. @echo ""
  32. @echo " See 'make help' for all possible targets"
  33. @echo ""
  34. @echo "================================================================================"
  35. @echo ""