Makefile 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. DIR_Config = ./lib/Config
  2. DIR_OLED = ./lib/OLED
  3. DIR_FONTS = ./lib/Fonts
  4. DIR_GUI = ./lib/GUI
  5. DIR_Examples = ./examples
  6. DIR_BIN = ./bin
  7. OBJ_C = $(wildcard ${DIR_OLED}/*.c ${DIR_Config}/*.c ${DIR_GUI}/*.c ${DIR_Examples}/*.c ${DIR_FONTS}/*.c)
  8. OBJ_O = $(patsubst %.c,${DIR_BIN}/%.o,$(notdir ${OBJ_C}))
  9. TARGET = main
  10. # USELIB = USE_BCM2835_LIB
  11. # USELIB = USE_WIRINGPI_LIB
  12. USELIB = USE_DEV_LIB
  13. DEBUG = -D $(USELIB)
  14. ifeq ($(USELIB), USE_BCM2835_LIB)
  15. LIB = -lbcm2835 -lm
  16. else ifeq ($(USELIB), USE_WIRINGPI_LIB)
  17. LIB = -lwiringPi -lm
  18. else ifeq ($(USELIB), USE_DEV_LIB)
  19. LIB = -llgpio -lm
  20. endif
  21. CC = gcc
  22. MSG = -g -O0 -Wall
  23. CFLAGS += $(MSG) $(DEBUG)
  24. ${TARGET}:${OBJ_O}
  25. $(CC) $(CFLAGS) $(OBJ_O) -o $@ $(LIB)
  26. ${DIR_BIN}/%.o:$(DIR_Examples)/%.c
  27. $(CC) $(CFLAGS) -c $< -o $@ -I $(DIR_Config) -I $(DIR_GUI) -I $(DIR_OLED)
  28. ${DIR_BIN}/%.o:$(DIR_OLED)/%.c
  29. $(CC) $(CFLAGS) -c $< -o $@ -I $(DIR_Config)
  30. ${DIR_BIN}/%.o:$(DIR_FONTS)/%.c
  31. $(CC) $(CFLAGS) -c $< -o $@
  32. ${DIR_BIN}/%.o:$(DIR_GUI)/%.c
  33. $(CC) $(CFLAGS) -c $< -o $@ -I $(DIR_Config) -I $(DIR_OLED) -I $(DIR_Examples)
  34. ${DIR_BIN}/%.o:$(DIR_Config)/%.c
  35. $(CC) $(CFLAGS) -c $< -o $@ $(LIB)
  36. clean :
  37. rm $(DIR_BIN)/*.*
  38. rm $(TARGET)