When building nmrpflash for Debian, there is no 'git' command available, and there is no '.git' directory either. This makes the build emit warnings from the $(shell) calls in VERSION variable in the Makefile and breaks the '-V' option. The change in this patch accounts for missing 'git' command and resorts to using a STANDALONE_VERSION environment variable which in turn is provided by the package build mechanics. This change has no effect when the git command is available and the '.git' directory is present.
		
			
				
	
	
		
			52 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| CC ?= gcc
 | |
| PREFIX ?= /usr/local
 | |
| VERSION := $(shell if [ -d .git ] && which git 2>&1 > /dev/null; then git describe --always | tail -c +2; else echo $$STANDALONE_VERSION; fi)
 | |
| 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/macos 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/macos:
 | |
| 	CFLAGS="-mmacosx-version-min=10.6" make release
 | |
| 	zip nmrpflash-$(VERSION)-macos.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
 |