CC ?= gcc
PREFIX ?= /usr/local
-VERSION = $(shell git describe --always)
+VERSION = $(shell git describe --always | tail -c +2)
LIBS = -lpcap
CFLAGS += -Wall -g -DNMRPFLASH_VERSION=\"$(VERSION)\"
LDFLAGS += $(LIBS)
-.PHONY: clean install release release/osx release/linux release/win32
-
-nmrpflash: nmrp.o tftp.o ethsock.o main.o
- $(CC) $(CFLAGS) -o nmrpflash nmrp.o tftp.o ethsock.o main.o $(LDFLAGS)
+nmrpflash_OBJ = nmrp.o tftp.o ethsock.o main.o util.o
-nmrp.o: nmrp.c nmrpd.h
- $(CC) $(CFLAGS) -c -o nmrp.o nmrp.c
+.PHONY: clean install release release/osx release/linux release/win32
-tftp.o: tftp.c nmrpd.h
- $(CC) $(CFLAGS) -c -o tftp.o tftp.c
+nmrpflash: $(nmrpflash_OBJ)
+ $(CC) $(CFLAGS) -o nmrpflash $(nmrpflash_OBJ) $(LDFLAGS)
-ethsock.o: ethsock.c nmrpd.h
- $(CC) $(CFLAGS) -c -o ethsock.o ethsock.c
+%.o: %.c nmrpd.h
+ $(CC) -c $(CFLAGS) $< -o $@
-main.o: main.c nmrpd.h
- $(CC) $(CFLAGS) -c -o main.o main.c
+fuzz: clean
+ CC=afl-gcc CFLAGS=-DNMRPFLASH_FUZZ make nmrpflash
+ mv nmrpflash fuzz
clean:
rm -f nmrp.o tftp.o main.o ethsock.o nmrpflash
release/osx:
CFLAGS="-arch i386 -arch x86_64 -mmacosx-version-min=10.6" make release
- zip nmrpflash-osx.zip nmrpflash
+ zip nmrpflash-$(VERSION)-osx.zip nmrpflash
release/linux: release
- zip nmrpflash-linux.zip nmrpflash
+ zip nmrpflash-$(VERSION)-linux.zip nmrpflash
release/win32:
- zip nmrpflash-win32.zip nmrpflash.exe
+ zip nmrpflash-$(VERSION)-win32.zip nmrpflash.exe
release: clean nmrpflash
strip nmrpflash