Makefile 583 B

123456789101112131415161718192021222324
  1. # Target
  2. BIN = demo
  3. CFLAGS += -std=c89 -pedantic -O2
  4. LDFLAGS += -lm
  5. SRC = ${wildcard *.c}
  6. OBJ = $(SRC:.c=.o)
  7. # Freetype
  8. CFLAGS += ${shell pkg-config --cflags freetype2}
  9. LDFLAGS += ${shell pkg-config --libs freetype2}
  10. # XCB
  11. CFLAGS += ${shell pkg-config --cflags xcb xcb-util xcb-keysyms}
  12. LDFLAGS += ${shell pkg-config --libs xcb xcb-util xcb-keysyms}
  13. # Cairo
  14. CFLAGS += ${shell pkg-config --cflags cairo}
  15. LDFLAGS += ${shell pkg-config --libs cairo}
  16. # Rules
  17. $(BIN):
  18. @mkdir -p bin
  19. rm -f bin/$(BIN) $(OBJS)
  20. $(CC) $(SRC) $(CFLAGS) -D_POSIX_C_SOURCE=200809L -o bin/$(BIN) ${LDFLAGS}