| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308 | DIR_Config	 = ./lib/ConfigDIR_EPD		 = ./lib/e-PaperDIR_FONTS	 = ./lib/FontsDIR_GUI		 = ./lib/GUIDIR_Examples = ./examplesDIR_BIN		 = ./binEPD = NULLifeq ($(EPD), epd1in64g)	OBJ_C_EPD = ${DIR_EPD}/EPD_1in64g.c	OBJ_C_Examples = ${DIR_Examples}/EPD_1in64g_test.celse ifeq ($(EPD), epd2in36g)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in36g.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in36g_test.celse ifeq ($(EPD), epd3in0g)	OBJ_C_EPD = ${DIR_EPD}/EPD_3in0g.c	OBJ_C_Examples = ${DIR_Examples}/EPD_3in0g_test.celse ifeq ($(EPD), epd4in37g)	OBJ_C_EPD = ${DIR_EPD}/EPD_4in37g.c	OBJ_C_Examples = ${DIR_Examples}/EPD_4in37g_test.celse ifeq ($(EPD), epd7in3g)	OBJ_C_EPD = ${DIR_EPD}/EPD_7in3g.c	OBJ_C_Examples = ${DIR_Examples}/EPD_7in3g_test.celse ifeq ($(EPD), epd1in54des)	OBJ_C_EPD = ${DIR_EPD}/EPD_1in54_DES.c	OBJ_C_Examples = ${DIR_Examples}/EPD_1in54_DES_test.celse ifeq ($(EPD), epd2in13des)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in13_DES.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in13_DES_test.celse ifeq ($(EPD), epd2in9des)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in9_DES.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in9_DES_test.celse ifeq ($(EPD), epd1in02d)	OBJ_C_EPD = ${DIR_EPD}/EPD_1in02d.c	OBJ_C_Examples = ${DIR_Examples}/EPD_1in02d_test.celse ifeq ($(EPD), epd1in54)	OBJ_C_EPD = ${DIR_EPD}/EPD_1in54.c	OBJ_C_Examples = ${DIR_Examples}/EPD_1in54_test.celse ifeq ($(EPD), epd1in54V2)	OBJ_C_EPD = ${DIR_EPD}/EPD_1in54_V2.c	OBJ_C_Examples = ${DIR_Examples}/EPD_1in54_V2_test.celse ifeq ($(EPD), epd1in54b)	OBJ_C_EPD = ${DIR_EPD}/EPD_1in54b.c	OBJ_C_Examples = ${DIR_Examples}/EPD_1in54b_test.celse ifeq ($(EPD), epd1in54bV2)	OBJ_C_EPD = ${DIR_EPD}/EPD_1in54b_V2.c	OBJ_C_Examples = ${DIR_Examples}/EPD_1in54b_V2_test.celse ifeq ($(EPD), epd1in54c)	OBJ_C_EPD = ${DIR_EPD}/EPD_1in54c.c	OBJ_C_Examples = ${DIR_Examples}/EPD_1in54c_test.celse ifeq ($(EPD), epd2in66)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in66.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in66_test.celse ifeq ($(EPD), epd2in66b)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in66b.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in66b_test.celse ifeq ($(EPD), epd2in66g)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in66g.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in66g_test.celse ifeq ($(EPD), epd2in7)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in7.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in7_test.celse ifeq ($(EPD), epd2in7V2)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in7_V2.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in7_V2_test.celse ifeq ($(EPD), epd2in7b)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in7b.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in7b_test.celse ifeq ($(EPD), epd2in7bV2)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in7b_V2.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in7b_V2_test.celse ifeq ($(EPD), epd2in9)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in9.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in9_test.celse ifeq ($(EPD), epd2in9V2)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in9_V2.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in9_V2_test.celse ifeq ($(EPD), epd2in9bc)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in9bc.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in9bc_test.celse ifeq ($(EPD), epd2in9bV3)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in9b_V3.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in9b_V3_test.celse ifeq ($(EPD), epd2in9bV4)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in9b_V4.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in9b_V4_test.celse ifeq ($(EPD), epd2in9d)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in9d.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in9d_test.celse ifeq ($(EPD), epd2in13)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in13.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in13_test.celse ifeq ($(EPD), epd2in13V2)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in13_V2.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in13_V2_test.celse ifeq ($(EPD), epd2in13V3)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in13_V3.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in13_V3_test.celse ifeq ($(EPD), epd2in13V4)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in13_V4.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in13_V4_test.celse ifeq ($(EPD), epd2in13bc)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in13bc.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in13bc_test.celse ifeq ($(EPD), epd2in13bV3)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in13b_V3.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in13b_V3_test.celse ifeq ($(EPD), epd2in13bV4)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in13b_V4.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in13b_V4_test.celse ifeq ($(EPD), epd2in13d)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in13d.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in13d_test.celse ifeq ($(EPD), epd2in13g)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in13g.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in13g_test.celse ifeq ($(EPD), epd2in15b)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in15b.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in15b_test.celse ifeq ($(EPD), epd2in15g)	OBJ_C_EPD = ${DIR_EPD}/EPD_2in15g.c	OBJ_C_Examples = ${DIR_Examples}/EPD_2in15g_test.celse ifeq ($(EPD), epd3in52)	OBJ_C_EPD = ${DIR_EPD}/EPD_3in52.c	OBJ_C_Examples = ${DIR_Examples}/EPD_3in52_test.celse ifeq ($(EPD), epd3in7)	OBJ_C_EPD = ${DIR_EPD}/EPD_3in7.c	OBJ_C_Examples = ${DIR_Examples}/EPD_3in7_test.celse ifeq ($(EPD), epd4in01f)	OBJ_C_EPD = ${DIR_EPD}/EPD_4in01f.c	OBJ_C_Examples = ${DIR_Examples}/EPD_4in01f_test.celse ifeq ($(EPD), epd4in2)	OBJ_C_EPD = ${DIR_EPD}/EPD_4in2.c	OBJ_C_Examples = ${DIR_Examples}/EPD_4in2_test.celse ifeq ($(EPD), epd4in2V2)	OBJ_C_EPD = ${DIR_EPD}/EPD_4in2_V2.c	OBJ_C_Examples = ${DIR_Examples}/EPD_4in2_V2_test.celse ifeq ($(EPD), epd4in2bc)	OBJ_C_EPD = ${DIR_EPD}/EPD_4in2bc.c	OBJ_C_Examples = ${DIR_Examples}/EPD_4in2bc_test.celse ifeq ($(EPD), epd4in2bV2)	OBJ_C_EPD = ${DIR_EPD}/EPD_4in2b_V2.c	OBJ_C_Examples = ${DIR_Examples}/EPD_4in2b_V2_test.celse ifeq ($(EPD), epd4in2bV2_old)	OBJ_C_EPD = ${DIR_EPD}/EPD_4in2b_V2_old.c	OBJ_C_Examples = ${DIR_Examples}/EPD_4in2b_V2_test_old.celse ifeq ($(EPD), epd4in26)	OBJ_C_EPD = ${DIR_EPD}/EPD_4in26.c	OBJ_C_Examples = ${DIR_Examples}/EPD_4in26_test.celse ifeq ($(EPD), epd4in37b)	OBJ_C_EPD = ${DIR_EPD}/EPD_4in37b.c	OBJ_C_Examples = ${DIR_Examples}/EPD_4in37b_test.celse ifeq ($(EPD), epd5in65f)	OBJ_C_EPD = ${DIR_EPD}/EPD_5in65f.c	OBJ_C_Examples = ${DIR_Examples}/EPD_5in65f_test.celse ifeq ($(EPD), epd5in79)	OBJ_C_EPD = ${DIR_EPD}/EPD_5in79.c	OBJ_C_Examples = ${DIR_Examples}/EPD_5in79_test.celse ifeq ($(EPD), epd5in79b)	OBJ_C_EPD = ${DIR_EPD}/EPD_5in79b.c	OBJ_C_Examples = ${DIR_Examples}/EPD_5in79b_test.celse ifeq ($(EPD), epd5in79g)	OBJ_C_EPD = ${DIR_EPD}/EPD_5in79g.c	OBJ_C_Examples = ${DIR_Examples}/EPD_5in79g_test.celse ifeq ($(EPD), epd5in83)	OBJ_C_EPD = ${DIR_EPD}/EPD_5in83.c	OBJ_C_Examples = ${DIR_Examples}/EPD_5in83_test.celse ifeq ($(EPD), epd5in83V2)	OBJ_C_EPD = ${DIR_EPD}/EPD_5in83_V2.c	OBJ_C_Examples = ${DIR_Examples}/EPD_5in83_V2_test.celse ifeq ($(EPD), epd5in83bc)	OBJ_C_EPD = ${DIR_EPD}/EPD_5in83bc.c	OBJ_C_Examples = ${DIR_Examples}/EPD_5in83bc_test.celse ifeq ($(EPD), epd5in83bV2)	OBJ_C_EPD = ${DIR_EPD}/EPD_5in83b_V2.c	OBJ_C_Examples = ${DIR_Examples}/EPD_5in83b_V2_test.celse ifeq ($(EPD), epd5in84)	OBJ_C_EPD = ${DIR_EPD}/EPD_5in84.c	OBJ_C_Examples = ${DIR_Examples}/EPD_5in84_test.celse ifeq ($(EPD), epd7in3e)	OBJ_C_EPD = ${DIR_EPD}/EPD_7in3e.c	OBJ_C_Examples = ${DIR_Examples}/EPD_7in3e_test.celse ifeq ($(EPD), epd7in3f)	OBJ_C_EPD = ${DIR_EPD}/EPD_7in3f.c	OBJ_C_Examples = ${DIR_Examples}/EPD_7in3f_test.celse ifeq ($(EPD), epd7in5)	OBJ_C_EPD = ${DIR_EPD}/EPD_7in5.c	OBJ_C_Examples = ${DIR_Examples}/EPD_7in5_test.celse ifeq ($(EPD), epd7in5V2)	OBJ_C_EPD = ${DIR_EPD}/EPD_7in5_V2.c	OBJ_C_Examples = ${DIR_Examples}/EPD_7in5_V2_test.celse ifeq ($(EPD), epd7in5V2_old)	OBJ_C_EPD = ${DIR_EPD}/EPD_7in5_V2_old.c	OBJ_C_Examples = ${DIR_Examples}/EPD_7in5_V2_test_old.celse ifeq ($(EPD), epd7in5bc)	OBJ_C_EPD = ${DIR_EPD}/EPD_7in5bc.c	OBJ_C_Examples = ${DIR_Examples}/EPD_7in5bc_test.celse ifeq ($(EPD), epd7in5bV2)	OBJ_C_EPD = ${DIR_EPD}/EPD_7in5b_V2.c	OBJ_C_Examples = ${DIR_Examples}/EPD_7in5b_V2_test.celse ifeq ($(EPD), epd7in5bV2_old)	OBJ_C_EPD = ${DIR_EPD}/EPD_7in5b_V2_old.c	OBJ_C_Examples = ${DIR_Examples}/EPD_7in5b_V2_test_old.celse ifeq ($(EPD), epd7in5HD)	OBJ_C_EPD = ${DIR_EPD}/EPD_7in5_HD.c	OBJ_C_Examples = ${DIR_Examples}/EPD_7in5_HD_test.celse ifeq ($(EPD), epd7in5bHD)	OBJ_C_EPD = ${DIR_EPD}/EPD_7in5b_HD.c	OBJ_C_Examples = ${DIR_Examples}/EPD_7in5b_HD_test.celse ifeq ($(EPD), epd10in2b)	OBJ_C_EPD = ${DIR_EPD}/EPD_10in2b.c	OBJ_C_Examples = ${DIR_Examples}/EPD_10in2b_test.celse ifeq ($(EPD), epd13in3b)	OBJ_C_EPD = ${DIR_EPD}/EPD_13in3b.c	OBJ_C_Examples = ${DIR_Examples}/EPD_13in3b_test.celse ifeq ($(EPD), epd13in3k)	OBJ_C_EPD = ${DIR_EPD}/EPD_13in3k.c	OBJ_C_Examples = ${DIR_Examples}/EPD_13in3k_test.celse     OBJ_C_EPD = NULL    OBJ_C_Examples = NULLendifOBJ_C = $(wildcard ${OBJ_C_EPD} ${DIR_GUI}/*.c ${OBJ_C_Examples} ${DIR_Examples}/main.c ${DIR_Examples}/ImageData2.c ${DIR_Examples}/ImageData.c ${DIR_FONTS}/*.c )OBJ_O = $(patsubst %.c,${DIR_BIN}/%.o,$(notdir ${OBJ_C}))RPI_DEV_C = $(wildcard $(DIR_BIN)/dev_hardware_SPI.o $(DIR_BIN)/RPI_gpiod.o $(DIR_BIN)/DEV_Config.o )JETSON_DEV_C = $(wildcard $(DIR_BIN)/sysfs_software_spi.o $(DIR_BIN)/sysfs_gpio.o $(DIR_BIN)/DEV_Config.o )DEBUG = -D DEBUG# USELIB_RPI = USE_BCM2835_LIB# USELIB_RPI = USE_WIRINGPI_LIBUSELIB_RPI = USE_LGPIO_LIB# USELIB_RPI = USE_DEV_LIBLIB_RPI=-Wl,--gc-sectionsifeq ($(USELIB_RPI), USE_BCM2835_LIB)	LIB_RPI += -lbcm2835 -lm else ifeq ($(USELIB_RPI), USE_WIRINGPI_LIB)	LIB_RPI += -lwiringPi -lm else ifeq ($(USELIB_RPI), USE_LGPIO_LIB)	LIB_RPI += -llgpio -lmelse ifeq ($(USELIB_RPI), USE_DEV_LIB)	LIB_RPI += -lgpiod -lm endifDEBUG_RPI = -D $(USELIB_RPI) -D RPIUSELIB_JETSONI = USE_DEV_LIB# USELIB_JETSONI = USE_HARDWARE_LIBifeq ($(USELIB_JETSONI), USE_DEV_LIB)	LIB_JETSONI = -lm else ifeq ($(USELIB_JETSONI), USE_HARDWARE_LIB)	LIB_JETSONI = -lm endifDEBUG_JETSONI = -D $(USELIB_JETSONI) -D JETSON.PHONY : RPI JETSON cleanRPI:RPI_DEV RPI_epd JETSON: JETSON_DEV JETSON_epdTARGET = epdCC = gccMSG = -g -O -ffunction-sections -fdata-sections -WallCFLAGS += $(MSG) -D $(EPD)RPI_epd:${OBJ_O}	echo $(@)	$(CC) $(CFLAGS) -D RPI $(OBJ_O) $(RPI_DEV_C) -o $(TARGET) $(LIB_RPI) $(DEBUG)	JETSON_epd:${OBJ_O}	echo $(@)	$(CC) $(CFLAGS) $(OBJ_O) $(JETSON_DEV_C) -o $(TARGET) $(LIB_JETSONI) $(DEBUG)$(shell mkdir -p $(DIR_BIN))${DIR_BIN}/%.o:$(DIR_Examples)/%.c	$(CC) $(CFLAGS) -c	$< -o $@ -I $(DIR_Config) -I $(DIR_GUI) -I $(DIR_EPD) $(DEBUG)	${DIR_BIN}/%.o:$(DIR_EPD)/%.c	$(CC) $(CFLAGS) -c	$< -o $@ -I $(DIR_Config) $(DEBUG)${DIR_BIN}/%.o:$(DIR_FONTS)/%.c 	$(CC) $(CFLAGS) -c	$< -o $@ $(DEBUG)	${DIR_BIN}/%.o:$(DIR_GUI)/%.c	$(CC) $(CFLAGS) -c	$< -o $@ -I $(DIR_Config) $(DEBUG)RPI_DEV:ifeq ($(USELIB_RPI), USE_DEV_LIB)	$(CC) $(CFLAGS) $(DEBUG_RPI) -c	 $(DIR_Config)/dev_hardware_SPI.c -o $(DIR_BIN)/dev_hardware_SPI.o $(LIB_RPI) $(DEBUG)	$(CC) $(CFLAGS) $(DEBUG_RPI) -c	 $(DIR_Config)/DEV_Config.c -o $(DIR_BIN)/DEV_Config.o $(LIB_RPI) $(DEBUG)	$(CC) $(CFLAGS) $(DEBUG_RPI) -c	 $(DIR_Config)/RPI_gpiod.c -o $(DIR_BIN)/RPI_gpiod.o $(LIB_RPI) $(DEBUG)else	$(CC) $(CFLAGS) $(DEBUG_RPI) -c	 $(DIR_Config)/dev_hardware_SPI.c -o $(DIR_BIN)/dev_hardware_SPI.o $(LIB_RPI) $(DEBUG)	$(CC) $(CFLAGS) $(DEBUG_RPI) -c	 $(DIR_Config)/DEV_Config.c -o $(DIR_BIN)/DEV_Config.o $(LIB_RPI) $(DEBUG)endif	JETSON_DEV:	$(CC) $(CFLAGS) $(DEBUG_JETSONI) -c	 $(DIR_Config)/sysfs_software_spi.c -o $(DIR_BIN)/sysfs_software_spi.o $(LIB_JETSONI) $(DEBUG)	$(CC) $(CFLAGS) $(DEBUG_JETSONI) -c	 $(DIR_Config)/sysfs_gpio.c -o $(DIR_BIN)/sysfs_gpio.o $(LIB_JETSONI) $(DEBUG)	$(CC) $(CFLAGS) $(DEBUG_JETSONI) -c	 $(DIR_Config)/DEV_Config.c -o $(DIR_BIN)/DEV_Config.o $(LIB_JETSONI)  $(DEBUG)clean :	rm $(DIR_BIN)/*.* 	rm $(TARGET) 
 |