Makefile 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. # Chosse proper compiler for your PI
  2. # NanoPi: arm-linux-gnueabi-gcc
  3. # Raspberry Pi Zero: arm-linux-gnueabi-gcc
  4. # Raspberry Pi 2: arm-linux-gnueabihf-gcc
  5. # OrangePi Zero: arm-linux-gnueabihf-gcc
  6. # NanoPi NEO: arm-linux-gnueabihf-gcc
  7. # NanoPi NEO Plus 2: arm-linux-gnueabihf-gcc
  8. # C-SKY Linux: csky-linux-gcc
  9. CC=arm-linux-gnueabi-gcc
  10. CXX=arm-linux-gnueabi-g++
  11. # IP Address of your PI
  12. PI=pi@raspberrypi.local
  13. TARGET=u8g2_hw_i2c_cpp
  14. IDIR= -I ../../../drivers -I ../../../../../csrc -I ../../../port
  15. CSRCDIR=../../../../../csrc
  16. CXXSRCDIR=../../../port
  17. OBJDIR=../../../obj
  18. OUTDIR=../../../bin
  19. LDIR= -L ../../../lib
  20. LIBS= -lm
  21. CFLAGS= $(IDIR) -W -Wall -D __ARM_LINUX__
  22. OBJ+=u8g2_hw_i2c.cpp.o\
  23. ../../../port/u8g2port.o\
  24. ../../../drivers/gpio.o\
  25. ../../../drivers/spi.o\
  26. ../../../drivers/i2c.o\
  27. $(OBJDIR)/Print.cpp.o\
  28. $(OBJDIR)/U8x8lib.cpp.o\
  29. $(OBJDIR)/U8g2lib.cpp.o\
  30. OBJ+=$(patsubst $(CSRCDIR)/%.c,$(OBJDIR)/%.o, $(wildcard $(CSRCDIR)/*.c))
  31. all: directories $(TARGET)
  32. directories:
  33. @mkdir -p $(OBJDIR)
  34. @mkdir -p $(OUTDIR)
  35. $(TARGET):$(OBJ)
  36. @echo Generating $(TARGET) ...
  37. @$(CXX) -o $(OUTDIR)/$@ $(OBJ) $(LDIR) $(LIBS)
  38. u8g2_hw_i2c.cpp.o: u8g2_hw_i2c.cpp
  39. $(CXX) -c -o $@ $< $(CFLAGS) $(LDIR) $(LIBS)
  40. $(OBJDIR)/%.cpp.o: $(CXXSRCDIR)/%.cpp
  41. $(CXX) -c -o $@ $< $(CFLAGS) $(LDIR) $(LIBS)
  42. $(OBJDIR)/%.o: $(CSRCDIR)/%.c
  43. $(CC) -c -o $@ $< $(CFLAGS) $(LDIR) $(LIBS)
  44. clean:
  45. @echo RM -rf $(OBJDIR)/
  46. @rm -rf $(OBJ)
  47. @rm -rf $(OBJDIR)
  48. @echo RM -rf $(OUTDIR)/
  49. @rm -rf $(OUTDIR)
  50. upload:
  51. scp $(OUTDIR)/$(TARGET) $(PI):~/
  52. run:
  53. ssh $(PI)