Makefile 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. .PHONY: all clean install test
  2. COMMON_OBJECTS=byte_utils.o database.o minipro.o fuses.o easyconfig.o
  3. OBJECTS=$(COMMON_OBJECTS) main.o minipro-query-db.o
  4. PROGS=minipro minipro-query-db
  5. MINIPRO=minipro
  6. MINIPRO_QUERY_DB=minipro-query-db
  7. MINIPROHEX=miniprohex
  8. TESTS=$(wildcard tests/test_*.c);
  9. OBJCOPY=objcopy
  10. BIN_DIR=$(DESTDIR)/usr/bin/
  11. UDEV_RULES_DIR=$(DESTDIR)/usr/lib/udev/rules.d/
  12. MAN_DIR=$(DESTDIR)/usr/share/man/man1/
  13. COMPLETIONS_DIR=$(DESTDIR)/etc/bash_completion.d/
  14. libusb_CFLAGS = `pkg-config --cflags libusb-1.0`
  15. libusb_LIBS = `pkg-config --libs libusb-1.0`
  16. CFLAGS = -g -O0
  17. override CFLAGS += $(libusb_CFLAGS)
  18. override LIBS += $(libusb_LIBS)
  19. all: $(OBJECTS) $(PROGS)
  20. minipro: $(COMMON_OBJECTS) main.o
  21. $(CC) $(COMMON_OBJECTS) main.o $(LIBS) -o $(MINIPRO)
  22. minipro-query-db: $(COMMON_OBJECTS) minipro-query-db.o
  23. $(CC) $(COMMON_OBJECTS) minipro-query-db.o $(LIBS) -o $(MINIPRO_QUERY_DB)
  24. clean:
  25. rm -f $(OBJECTS) $(PROGS)
  26. install:
  27. mkdir -p $(BIN_DIR)
  28. mkdir -p $(UDEV_RULES_DIR)
  29. mkdir -p $(MAN_DIR)
  30. mkdir -p $(COMPLETIONS_DIR)
  31. cp $(MINIPRO) $(BIN_DIR)
  32. cp $(MINIPRO_QUERY_DB) $(BIN_DIR)
  33. cp $(MINIPROHEX) $(BIN_DIR)
  34. cp udev/rules.d/80-minipro.rules $(UDEV_RULES_DIR)
  35. cp bash_completion.d/minipro $(COMPLETIONS_DIR)
  36. cp man/minipro.1 $(MAN_DIR)