Skip to content

Commit

Permalink
Makefile
Browse files Browse the repository at this point in the history
  • Loading branch information
krishpranav committed Aug 27, 2021
1 parent 74c165a commit 4304d8f
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
CFLAGS_FILE?=.cflags
COMPILE_TEST_FILE?=.test.c
PREFIX?=/usr/local

all: cvpn

cvpn: $(CFLAGS_FILE) Makefile src/vpn.c src/charm.c src/os.c include/charm.h include/vpn.h include/os.h
$(CC) $$(cat "$(CFLAGS_FILE)") $(OPTFLAGS) -Iinclude -o $@ src/vpn.c src/charm.c src/os.c
strip $@

install: cvpn
install -d $(PREFIX)/sbin
install -m 0755 cvpn $(PREFIX)/sbin

uninstall:
rm -f $(PREFIX)/sbin/cvpn

clean:
rm -f cvpn *~ $(CFLAGS_FILE) $(COMPILE_TEST_FILE)

$(CFLAGS_FILE):
@CFLAGS="$(CFLAGS)"
@if [ -z "$$CFLAGS" ]; then \
if [ ! -r "$(CFLAGS_FILE)" ]; then \
echo "int main(void) { return 0; }" > "$(COMPILE_TEST_FILE)"; \
for flag in -march=native -mtune=native -Ofast -Wno-unused-command-line-argument; do \
$(CC) $${CFLAGS} $${flag} "$(COMPILE_TEST_FILE)" >/dev/null 2>&1 && CFLAGS="$$CFLAGS $$flag"; \
done; \
rm -f a.out \
CFLAGS="$${CFLAGS} -Wall -W -Wshadow -Wmissing-prototypes"; \
fi \
fi; \
echo "$$CFLAGS" > "$(CFLAGS_FILE)"

0 comments on commit 4304d8f

Please sign in to comment.