1# Makefile for proxytunnel 2# 3# Please uncomment the appropriate settings 4 5name = proxytunnel 6version = $(shell awk 'BEGIN { FS="\"" } /^\#define VERSION / { print $$2 }' config.h) 7 8CC ?= cc 9CFLAGS ?= -Wall -O2 -ggdb 10 11# Comment on non-gnu systems 12OPTFLAGS += -DHAVE_GETOPT_LONG 13 14# Comment if you don't have/want ssl 15OPTFLAGS += -DUSE_SSL 16 17# Most systems 18OPTFLAGS += -DSETPROCTITLE -DSPT_TYPE=2 19 20# System dependant blocks... if your system is listed below, uncomment 21# the relevant lines 22 23# OpenBSD 24#OPTFLAGS += -DHAVE_SYS_PSTAT_H 25 26# DARWIN 27#OPTFLAGS += -DDARWIN 28 29# CYGWIN 30#OPTFLAGS += -DCYGWIN 31 32# SOLARIS 33#LDFLAGS += -lsocket -lnsl 34#LDFLAGS += -L/usr/local/ssl/lib # Path to your SSL lib dir 35 36# END system dependant block 37 38SSL_LIBS := $(shell pkg-config --libs openssl 2>/dev/null) 39ifeq ($(SSL_LIBS),) 40SSL_LIBS := $(shell pkg-config --libs libssl 2>/dev/null) 41endif 42ifeq ($(SSL_LIBS),) 43SSL_LIBS := -lssl -lcrypto 44endif 45LDFLAGS += $(SSL_LIBS) 46 47prefix = /usr/local 48bindir = $(prefix)/bin 49datadir = $(prefix)/share 50mandir = $(datadir)/man 51 52# Remove strlcpy/strlcat on (open)bsd/darwin systems 53OBJ = proxytunnel.o \ 54 base64.o \ 55 strzcat.o \ 56 setproctitle.o \ 57 io.o \ 58 http.o \ 59 basicauth.o \ 60 readpassphrase.o \ 61 messages.o \ 62 cmdline.o \ 63 globals.o \ 64 ntlm.o \ 65 ptstream.o 66 67UNAME = $(shell uname) 68ifneq ($(UNAME),Darwin) 69OBJ += strlcpy.o \ 70 strlcat.o 71endif 72 73.PHONY: all clean docs install 74 75all: proxytunnel docs 76 77docs: 78 $(MAKE) -C docs 79 80proxytunnel: $(OBJ) 81 $(CC) -o $(name) $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) $(OBJ) $(LDFLAGS) 82 83clean: 84 @rm -f $(name) $(OBJ) 85 $(MAKE) -C docs clean 86 87install: 88 install -d $(DESTDIR)$(bindir) 89 install -p -m555 $(name) $(DESTDIR)$(bindir) 90 $(MAKE) -C docs install 91 92.c.o: 93 $(CC) $(CPPFLAGS) $(CFLAGS) $(OPTFLAGS) -c -o $@ $< 94 95dist: clean docs 96 sed -i -e 's/^Version:.*$$/Version: $(version)/' contrib/proxytunnel.spec 97 find . ! -wholename '*/.svn*' | pax -d -w -x ustar -s ,^./,$(name)-$(version)/, | bzip2 >../$(name)-$(version).tar.bz2 98 99rpm: dist 100 rpmbuild -tb --clean --rmsource --rmspec --define "_rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm" --define "_rpmdir ../" ../$(name)-$(version).tar.bz2 101 102srpm: dist 103 rpmbuild -ts --clean --rmsource --rmspec --define "_rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm" --define "_srcrpmdir ../" ../$(name)-$(version).tar.bz2 104