1# Compilation Arguments 2CC ?= cc 3CFLAGS ?= -Wall -Wextra -Wformat-security 4CFLAGS += -std=c99 -D_POSIX_C_SOURCE=200809L 5LDFLAGS += -fPIC -shared 6 7# General Constants 8INSTALL=/usr/bin/install -c 9 10# Output Files 11SRC = $(wildcard *.c) 12OUT = $(SRC:%.c=%.so) 13 14# Determine Prefix 15ifeq ($(PREFIX),) 16 PREFIX := /usr/local 17endif 18 19# Construction Targets 20%.so: %.c 21 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< 22 23.PHONY: all 24all: $(OUT) 25 26.PHONY: install 27install: all installdirs 28 $(INSTALL) $(OUT) $(DESTDIR)$(PREFIX)/lib/openvpn/plugins/$(OUT) 29 30.PHONY: installdirs 31installdirs: 32 mkdir -p $(DESTDIR)$(PREFIX)/lib/openvpn/plugins 33 34.PHONY: clean 35clean: 36 rm -f *.so 37 38