Makefile 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. # IP Address of your PI
  11. PI=pi@raspberrypi.local
  12. TARGET=u8g2_hw_i2c
  13. IDIR= -I ../../../drivers -I ../../../../../csrc -I ../../../port
  14. SRCDIR=../../../../../csrc
  15. OBJDIR=../../../obj
  16. OUTDIR=../../../bin
  17. LDIR= -L ../../../lib
  18. LIBS= -lm
  19. CFLAGS= $(IDIR) -W -Wall -D __ARM_LINUX__
  20. OBJ+=u8g2_hw_i2c.o\
  21. ../../../port/u8g2port.o\
  22. ../../../drivers/gpio.o\
  23. ../../../drivers/spi.o\
  24. ../../../drivers/i2c.o\
  25. OBJ+=$(patsubst $(SRCDIR)/%.c,$(OBJDIR)/%.o, $(wildcard $(SRCDIR)/*.c))
  26. all: directories $(TARGET)
  27. directories:
  28. @mkdir -p $(OBJDIR)
  29. @mkdir -p $(OUTDIR)
  30. $(TARGET):$(OBJ)
  31. @echo Generating $(TARGET) ...
  32. @$(CC) -o $(OUTDIR)/$@ $(OBJ) $(LDIR) $(LIBS)
  33. $(OBJDIR)/%.o: $(SRCDIR)/%.c
  34. $(CC) -c -o $@ $< $(CFLAGS) $(LDIR) $(LIBS)
  35. clean:
  36. @echo RM -rf $(OBJDIR)/
  37. @rm -rf $(OBJ)
  38. @rm -rf $(OBJDIR)
  39. @echo RM -rf $(OUTDIR)/
  40. @rm -rf $(OUTDIR)
  41. upload:
  42. scp $(OUTDIR)/$(TARGET) $(PI):~/
  43. run:
  44. ssh $(PI)