12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- CC ?= gcc
- PREFIX ?= /usr/local
- VERSION = $(shell git describe --always | tail -c +2)
- LIBS = -lpcap
- CFLAGS += -Wall -g -DNMRPFLASH_VERSION=\"$(VERSION)\"
- LDFLAGS += $(LIBS)
- ifeq ($(shell uname -s),Linux)
- CFLAGS += $(shell pkg-config libnl-route-3.0 --cflags)
- LIBS += $(shell pkg-config libnl-route-3.0 --libs)
- endif
- nmrpflash_OBJ = nmrp.o tftp.o ethsock.o main.o util.o
- .PHONY: clean install release release/osx release/linux release/win32
- nmrpflash: $(nmrpflash_OBJ)
- $(CC) $(CFLAGS) -o nmrpflash $(nmrpflash_OBJ) $(LDFLAGS)
- tftptest:
- CFLAGS=-DNMRPFLASH_TFTP_TEST make clean nmrpflash
- %.o: %.c nmrpd.h
- $(CC) -c $(CFLAGS) $< -o $@
- fuzz: clean
- CC=afl-gcc CFLAGS=-DNMRPFLASH_FUZZ make nmrpflash
- mv nmrpflash fuzz
- dofuzz: fuzz
- echo core | sudo tee /proc/sys/kernel/core_pattern
- echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
- afl-fuzz -i fuzzin -o fuzzout -- ./fuzz
- echo powersave | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
- clean:
- rm -f $(nmrpflash_OBJ) nmrpflash
- install: nmrpflash
- install -m 755 nmrpflash $(PREFIX)/bin
- release/osx:
- CFLAGS="-arch i386 -arch x86_64 -mmacosx-version-min=10.6" make release
- zip nmrpflash-$(VERSION)-osx.zip nmrpflash
- release/linux: release
- zip nmrpflash-$(VERSION)-linux.zip nmrpflash
- release/win32:
- zip nmrpflash-$(VERSION)-win32.zip nmrpflash.exe
- release: clean nmrpflash
- strip nmrpflash
|