Makefile 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. DIR_Config = ./lib/Config
  2. DIR_EPD = ./lib/e-Paper
  3. DIR_FONTS = ./lib/Fonts
  4. DIR_GUI = ./lib/GUI
  5. DIR_Examples = ./examples
  6. DIR_BIN = ./bin
  7. OBJ_C = $(wildcard ${DIR_EPD}/*.c ${DIR_GUI}/*.c ${DIR_Examples}/*.c ${DIR_FONTS}/*.c )
  8. OBJ_O = $(patsubst %.c,${DIR_BIN}/%.o,$(notdir ${OBJ_C}))
  9. RPI_DEV_C = $(wildcard $(DIR_BIN)/dev_hardware_SPI.o $(DIR_BIN)/RPI_sysfs_gpio.o $(DIR_BIN)/DEV_Config.o )
  10. JETSON_DEV_C = $(wildcard $(DIR_BIN)/sysfs_software_spi.o $(DIR_BIN)/sysfs_gpio.o $(DIR_BIN)/DEV_Config.o )
  11. DEBUG = -D DEBUG
  12. # USELIB_RPI = USE_BCM2835_LIB
  13. USELIB_RPI = USE_WIRINGPI_LIB
  14. # USELIB_RPI = USE_DEV_LIB
  15. ifeq ($(USELIB_RPI), USE_BCM2835_LIB)
  16. LIB_RPI = -lbcm2835 -lm
  17. else ifeq ($(USELIB_RPI), USE_WIRINGPI_LIB)
  18. LIB_RPI = -lwiringPi -lm
  19. else ifeq ($(USELIB_RPI), USE_DEV_LIB)
  20. LIB_RPI = -lm
  21. endif
  22. DEBUG_RPI = -D $(USELIB_RPI) -D RPI
  23. USELIB_JETSONI = USE_DEV_LIB
  24. # USELIB_JETSONI = USE_HARDWARE_LIB
  25. ifeq ($(USELIB_JETSONI), USE_DEV_LIB)
  26. LIB_JETSONI = -lm
  27. else ifeq ($(USELIB_JETSONI), USE_HARDWARE_LIB)
  28. LIB_JETSONI = -lm
  29. endif
  30. DEBUG_JETSONI = -D $(USELIB_JETSONI) -D JETSON
  31. .PHONY : RPI JETSON clean
  32. RPI:RPI_DEV RPI_epd
  33. JETSON: JETSON_DEV JETSON_epd
  34. TARGET = epd
  35. CC = gcc
  36. MSG = -g -O0 -Wall
  37. CFLAGS += $(MSG)
  38. RPI_epd:${OBJ_O}
  39. echo $(@)
  40. $(CC) $(CFLAGS) -D RPI $(OBJ_O) $(RPI_DEV_C) -o $(TARGET) $(LIB_RPI) $(DEBUG)
  41. JETSON_epd:${OBJ_O}
  42. echo $(@)
  43. $(CC) $(CFLAGS) $(OBJ_O) $(JETSON_DEV_C) -o $(TARGET) $(LIB_JETSONI) $(DEBUG)
  44. ${DIR_BIN}/%.o:$(DIR_Examples)/%.c
  45. $(CC) $(CFLAGS) -c $< -o $@ -I $(DIR_Config) -I $(DIR_GUI) -I $(DIR_EPD) $(DEBUG)
  46. ${DIR_BIN}/%.o:$(DIR_EPD)/%.c
  47. $(CC) $(CFLAGS) -c $< -o $@ -I $(DIR_Config) $(DEBUG)
  48. ${DIR_BIN}/%.o:$(DIR_FONTS)/%.c
  49. $(CC) $(CFLAGS) -c $< -o $@ $(DEBUG)
  50. ${DIR_BIN}/%.o:$(DIR_GUI)/%.c
  51. $(CC) $(CFLAGS) -c $< -o $@ -I $(DIR_Config) $(DEBUG)
  52. RPI_DEV:
  53. $(CC) $(CFLAGS) $(DEBUG_RPI) -c $(DIR_Config)/dev_hardware_SPI.c -o $(DIR_BIN)/dev_hardware_SPI.o $(LIB_RPI) $(DEBUG)
  54. $(CC) $(CFLAGS) $(DEBUG_RPI) -c $(DIR_Config)/RPI_sysfs_gpio.c -o $(DIR_BIN)/RPI_sysfs_gpio.o $(LIB_RPI) $(DEBUG)
  55. $(CC) $(CFLAGS) $(DEBUG_RPI) -c $(DIR_Config)/DEV_Config.c -o $(DIR_BIN)/DEV_Config.o $(LIB_RPI) $(DEBUG)
  56. JETSON_DEV:
  57. $(CC) $(CFLAGS) $(DEBUG_JETSONI) -c $(DIR_Config)/sysfs_software_spi.c -o $(DIR_BIN)/sysfs_software_spi.o $(LIB_JETSONI) $(DEBUG)
  58. $(CC) $(CFLAGS) $(DEBUG_JETSONI) -c $(DIR_Config)/sysfs_gpio.c -o $(DIR_BIN)/sysfs_gpio.o $(LIB_JETSONI) $(DEBUG)
  59. $(CC) $(CFLAGS) $(DEBUG_JETSONI) -c $(DIR_Config)/DEV_Config.c -o $(DIR_BIN)/DEV_Config.o $(LIB_JETSONI) $(DEBUG)
  60. clean :
  61. rm $(DIR_BIN)/*.*
  62. rm $(TARGET)