Makefile 941 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. CC ?= gcc
  2. PREFIX ?= /usr/local
  3. VERSION = $(shell git describe --always | tail -c +2)
  4. LIBS = -lpcap
  5. CFLAGS += -Wall -g -DNMRPFLASH_VERSION=\"$(VERSION)\"
  6. LDFLAGS += $(LIBS)
  7. nmrpflash_OBJ = nmrp.o tftp.o ethsock.o main.o util.o
  8. .PHONY: clean install release release/osx release/linux release/win32
  9. nmrpflash: $(nmrpflash_OBJ)
  10. $(CC) $(CFLAGS) -o nmrpflash $(nmrpflash_OBJ) $(LDFLAGS)
  11. %.o: %.c nmrpd.h
  12. $(CC) -c $(CFLAGS) $< -o $@
  13. fuzz: clean
  14. CC=afl-gcc CFLAGS=-DNMRPFLASH_FUZZ make nmrpflash
  15. mv nmrpflash fuzz
  16. clean:
  17. rm -f nmrp.o tftp.o main.o ethsock.o nmrpflash
  18. install: nmrpflash
  19. install -m 755 nmrpflash $(PREFIX)/bin
  20. release/osx:
  21. CFLAGS="-arch i386 -arch x86_64 -mmacosx-version-min=10.6" make release
  22. zip nmrpflash-$(VERSION)-osx.zip nmrpflash
  23. release/linux: release
  24. zip nmrpflash-$(VERSION)-linux.zip nmrpflash
  25. release/win32:
  26. zip nmrpflash-$(VERSION)-win32.zip nmrpflash.exe
  27. release: clean nmrpflash
  28. strip nmrpflash