Update README.md
[oweals/nmrpflash.git] / Makefile
1 CC ?= gcc
2 PREFIX ?= /usr/local
3 VERSION = $(shell git describe --always)
4 LIBS = -lpcap
5 CFLAGS += -Wall -g -DNMRPFLASH_VERSION=\"$(VERSION)\"
6 LDFLAGS += $(LIBS)
7
8 .PHONY: clean install release release/osx release/linux release/win32
9
10 nmrpflash: nmrp.o tftp.o ethsock.o main.o
11         $(CC) $(CFLAGS) -o nmrpflash nmrp.o tftp.o ethsock.o main.o $(LDFLAGS)
12
13 nmrp.o: nmrp.c nmrpd.h
14         $(CC) $(CFLAGS) -c -o nmrp.o nmrp.c
15
16 tftp.o: tftp.c nmrpd.h
17         $(CC) $(CFLAGS) -c -o tftp.o tftp.c
18
19 ethsock.o: ethsock.c nmrpd.h
20         $(CC) $(CFLAGS) -c -o ethsock.o ethsock.c
21
22 main.o: main.c nmrpd.h
23         $(CC) $(CFLAGS) -c -o main.o main.c
24
25 clean:
26         rm -f nmrp.o tftp.o main.o ethsock.o nmrpflash
27
28 install: nmrpflash
29         install -m 755 nmrpflash $(PREFIX)/bin
30
31 release/osx:
32         CFLAGS="-arch i686 -arch x86_64 -mmacosx-version-min=10.6" make release
33         zip nmrpflash-osx.zip nmrpflash
34
35 release/linux: release
36         zip nmrpflash-linux.zip nmrpflash
37
38 release/win32:
39         zip nmrpflash-win32.zip nmrpflash.exe
40
41 release: clean nmrpflash
42         strip nmrpflash