makefile 809 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. BUILDDIR := build
  2. BINDIR := bin
  3. # define common variables
  4. # added for debug
  5. #CFLAGS := -g
  6. SRCEXT := c
  7. #SOURCES := main.c
  8. #OBJECTS := main.o
  9. SOURCES := $(shell find . -type f -iname "*.$(SRCEXT)" )
  10. OBJECTS := $(patsubst %,%,$(SOURCES:.$(SRCEXT)=.o))
  11. INC := -I . -I lvgl -I oboo_gui -I lv_drivers -I duktape
  12. LIB := -lm -lmosquitto
  13. TARGET := card-manager
  14. all: info $(TARGET)
  15. $(TARGET): $(OBJECTS)
  16. @mkdir -p $(BINDIR)
  17. @echo " Linking..."
  18. $(CC) $^ $(CFLAGS) $(LDFLAGS) -o $(BINDIR)/$(TARGET) $(LIB)
  19. # generic: build any object file required
  20. %.o: %.c
  21. $(CC) $(CFLAGS) $(INC) $(LIB) -c -o $@ $<
  22. clean:
  23. rm -rf $(BINDIR) $(OBJECTS)
  24. info:
  25. @echo "INFO!"
  26. @echo "SOURCES=$(SOURCES)"
  27. @echo "OBJECTS=$(OBJECTS)"
  28. @echo "CC=$(CC)"
  29. @echo "CFLAGS=$(CFLAGS)"
  30. @echo "LDFLAGS=$(LDFLAGS)"
  31. @echo "LIB=$(LIB)"