2015-03-15 21:38:29 +00:00
|
|
|
### Variable overrides
|
|
|
|
|
|
|
|
# You can change many aspects of the build behaviour without modifying this
|
|
|
|
# make file simply by setting environment variables.
|
|
|
|
#
|
|
|
|
# Dependencies and features are auto-detected, but can be overridden:
|
|
|
|
#
|
|
|
|
# OPENSSL_BASE Prefix of OpenSSL library and headers to build against
|
|
|
|
# LIBEVENT_BASE Prefix of libevent library and headers to build against
|
2018-11-03 15:23:31 +00:00
|
|
|
# LIBPCAP_BASE Prefix of libpcap library and headers to build against
|
|
|
|
# LIBNET_BASE Prefix of libnet library and headers to build against
|
2019-08-08 09:23:04 +00:00
|
|
|
# SQLITE_BASE Prefix of sqlite3 library and headers to build against
|
2015-03-15 21:38:29 +00:00
|
|
|
# CHECK_BASE Prefix of check library and headers to build against (optional)
|
|
|
|
# PKGCONFIG Name/path of pkg-config program to use for auto-detection
|
2015-03-23 21:10:00 +00:00
|
|
|
# PCFLAGS Additional pkg-config flags
|
2015-03-15 21:38:29 +00:00
|
|
|
# XNU_VERSION Version of included XNU headers to build against (OS X only)
|
|
|
|
# FEATURES Enable optional or force-enable undetected features (see below)
|
|
|
|
#
|
Allow uid, gid and mode of installed files to be tuned
Introducing the overridable variables INSTALLUID, INSTALLGID, BINUID,
BINGID, BINMODE, MANUID, MANGID, MANMODE that allow overriding of uid,
gid and mode of installed files. Note that this solution still has the
limitation that uid, gid and mode of created directories cannot be set.
Issue: #81
Reported by: Shiloh Heurich
2015-03-16 23:09:19 +00:00
|
|
|
# Where and how to install to:
|
2015-03-15 21:38:29 +00:00
|
|
|
#
|
|
|
|
# PREFIX Prefix to install under (default /usr/local)
|
|
|
|
# DESTDIR Destination root under which prefix is located (default /)
|
|
|
|
# MANDIR Subdir of PREFIX that contains man section dirs
|
2017-07-25 13:07:39 +00:00
|
|
|
# INSTALLUID UID to use for installed files if installing as root
|
|
|
|
# INSTALLGID GID to use for installed files if installing as root
|
2015-03-15 21:38:29 +00:00
|
|
|
#
|
|
|
|
# Standard compiler variables are respected, e.g.:
|
|
|
|
#
|
|
|
|
# CC Compiler, e.g. for cross-compiling, ccache or ccc-analyzer
|
|
|
|
# CFLAGS Additional compiler flags, e.g. optimization flags
|
|
|
|
# CPPFLAGS Additional pre-processor flags
|
|
|
|
# LDFLAGS Additional linker flags
|
|
|
|
# LIBS Additional libraries to link against
|
2018-11-03 15:23:31 +00:00
|
|
|
# SOURCE_DATE_EPOCH Set to epoch time to make the build reproducible
|
2015-03-23 21:10:00 +00:00
|
|
|
#
|
2018-11-03 15:23:31 +00:00
|
|
|
# On macOS, the following build environment variables are respected:
|
|
|
|
#
|
|
|
|
# DEVELOPER_DIR Override Xcode Command Line Developer Tools directory
|
|
|
|
# MACOSX_VERSION_MIN Minimal version of macOS to target, e.g. 10.11
|
|
|
|
# SDK SDK name to build against, e.g. macosx, macosx10.11
|
|
|
|
#
|
|
|
|
# Examples:
|
|
|
|
#
|
|
|
|
# Build against custom installed libraries under /opt:
|
|
|
|
# % OPENSSL_BASE=/opt/openssl LIBEVENT_BASE=/opt/libevent make
|
|
|
|
#
|
|
|
|
# Create a statically linked binary:
|
2015-03-23 21:10:00 +00:00
|
|
|
# % PCFLAGS='--static' CFLAGS='-static' LDFLAGS='-static' make
|
2018-11-03 15:23:31 +00:00
|
|
|
#
|
2019-08-08 09:23:04 +00:00
|
|
|
# Build against musl libc that needs an additional library for fts(3):
|
|
|
|
# % LIBS='-lfts' make
|
|
|
|
#
|
2018-11-03 15:23:31 +00:00
|
|
|
# Build a macOS binary for El Capitan using the default SDK from Xcode 7.3.1:
|
|
|
|
# % MACOSX_VERSION_MIN=10.11 DEVELOPER_DIR=/Applications/Xcode-7.3.1.app/Contents/Developer make
|
|
|
|
|
|
|
|
|
|
|
|
### Mirroring
|
|
|
|
|
|
|
|
# Define to disable support for mirroring connection content as emulated
|
|
|
|
# packets to a network interface (-I/-T options). Doing so will remove the
|
|
|
|
# dependency on both libnet and libpcap. Use this for constrained environments
|
|
|
|
# or on platforms without usable libnet/libpcap. Logging connection content to
|
|
|
|
# PCAP files will remain fully functional (-X/-Y/-y options) as it does not
|
|
|
|
# make use of libnet and libpcap.
|
|
|
|
#FEATURES+= -DWITHOUT_MIRROR
|
2015-03-15 21:38:29 +00:00
|
|
|
|
|
|
|
|
2012-04-13 12:47:30 +00:00
|
|
|
### OpenSSL tweaking
|
|
|
|
|
2014-11-05 19:06:11 +00:00
|
|
|
# Define to enable support for SSLv2.
|
2015-07-28 21:23:53 +00:00
|
|
|
# Default since 0.4.9 is to disable SSLv2 entirely even if OpenSSL supports it,
|
|
|
|
# since there are servers that are not compatible with SSLv2 Client Hello
|
|
|
|
# messages. If you build in SSLv2 support, you can disable it at runtime using
|
|
|
|
# -R ssl2 to get the same result as not building in SSLv2 support at all.
|
2014-11-05 19:06:11 +00:00
|
|
|
#FEATURES+= -DWITH_SSLV2
|
2012-04-13 12:47:30 +00:00
|
|
|
|
|
|
|
|
|
|
|
### Debugging
|
|
|
|
|
2012-06-05 21:11:05 +00:00
|
|
|
# These flags are added to CFLAGS iff building from a git repo.
|
2018-08-22 19:48:55 +00:00
|
|
|
DEBUG_CFLAGS?= -g
|
2012-04-13 12:47:30 +00:00
|
|
|
#DEBUG_CFLAGS+= -Werror
|
|
|
|
|
|
|
|
# Define to remove false positives when debugging memory allocation.
|
|
|
|
# Note that you probably want to build OpenSSL with -DPURIFY too.
|
|
|
|
#FEATURES+= -DPURIFY
|
|
|
|
|
|
|
|
# Define to add proxy state machine debugging; dump state in debug mode.
|
2019-02-28 23:08:24 +00:00
|
|
|
#FEATURES+= -DDEBUG_PROXY
|
2012-04-13 12:47:30 +00:00
|
|
|
|
|
|
|
# Define to add certificate debugging; dump all certificates in debug mode.
|
|
|
|
#FEATURES+= -DDEBUG_CERTIFICATE
|
|
|
|
|
|
|
|
# Define to add SSL session cache debugging; dump all sessions in debug mode.
|
|
|
|
#FEATURES+= -DDEBUG_SESSION_CACHE
|
|
|
|
|
2015-05-17 18:23:25 +00:00
|
|
|
# Define to add debugging of sslsplit's own ClientHello message parser.
|
|
|
|
#FEATURES+= -DDEBUG_CLIENTHELLO_PARSER
|
2012-04-13 12:47:30 +00:00
|
|
|
|
|
|
|
# Define to add thread debugging; dump thread state when choosing a thread.
|
2017-08-11 13:53:46 +00:00
|
|
|
#FEATURES+= -DDEBUG_THREAD
|
2012-04-13 12:47:30 +00:00
|
|
|
|
2017-07-25 13:07:39 +00:00
|
|
|
# Define to add privilege separation server event loop debugging.
|
2019-02-28 23:08:24 +00:00
|
|
|
#FEATURES+= -DDEBUG_PRIVSEP_SERVER
|
2017-07-25 13:07:39 +00:00
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Define to add diagnostic output for debugging option parsing.
|
|
|
|
#FEATURES+= -DDEBUG_OPTS
|
|
|
|
|
2014-01-14 16:28:59 +00:00
|
|
|
# When debugging OpenSSL related issues, make sure you use a debug build of
|
|
|
|
# OpenSSL and consider enabling its debugging options -DREF_PRINT -DREF_CHECK
|
|
|
|
# for debugging reference counting of OpenSSL objects and/or
|
|
|
|
# -DPURIFY for using valgrind and similar tools.
|
|
|
|
|
2012-04-13 12:47:30 +00:00
|
|
|
|
2014-10-30 22:01:55 +00:00
|
|
|
### Mac OS X header selection
|
2014-01-10 13:58:04 +00:00
|
|
|
|
2015-02-24 18:24:12 +00:00
|
|
|
# First, try to use the exact XNU version reported by the kernel. If they
|
|
|
|
# are not available, try to look up a suitable XNU version that we have
|
|
|
|
# headers for based on the OS X release reported by sw_vers. Then as a last
|
|
|
|
# resort, fall back to the latest version of XNU that we have headers for,
|
2015-05-02 10:23:14 +00:00
|
|
|
# which may or may not work, depending on if there were API or ABI changes
|
2015-02-24 18:24:12 +00:00
|
|
|
# in the DIOCNATLOOK ioctl interface to the NAT state table in the kernel.
|
2015-03-15 21:38:29 +00:00
|
|
|
#
|
|
|
|
# Note that you can override the XNU headers used by defining XNU_VERSION.
|
2015-02-24 18:24:12 +00:00
|
|
|
|
2014-01-10 13:58:04 +00:00
|
|
|
ifeq ($(shell uname),Darwin)
|
2018-11-03 15:23:31 +00:00
|
|
|
include Mk/xcode.mk
|
2014-11-10 18:59:56 +00:00
|
|
|
ifneq ($(wildcard /usr/include/libproc.h),)
|
2014-11-07 23:46:07 +00:00
|
|
|
FEATURES+= -DHAVE_DARWIN_LIBPROC
|
2014-11-10 18:59:56 +00:00
|
|
|
endif
|
2018-01-18 00:18:53 +00:00
|
|
|
OSX_VERSION= $(shell sw_vers -productVersion)
|
|
|
|
ifneq ($(XNU_VERSION),)
|
|
|
|
XNU_METHOD= override
|
|
|
|
XNU_HAVE= $(shell uname -a|sed 's/^.*root:xnu-//g'|sed 's/~.*$$//')
|
|
|
|
else
|
2015-02-24 18:24:12 +00:00
|
|
|
XNU_METHOD= uname
|
2018-01-18 00:18:53 +00:00
|
|
|
XNU_VERSION= $(shell uname -a|sed 's/^.*root:xnu-//g'|sed 's/~.*$$//')
|
2015-03-02 22:13:48 +00:00
|
|
|
XNU_HAVE:= $(XNU_VERSION)
|
2018-01-18 00:18:53 +00:00
|
|
|
endif
|
2014-10-30 22:01:55 +00:00
|
|
|
ifeq ($(wildcard xnu/xnu-$(XNU_VERSION)),)
|
2015-02-24 18:24:12 +00:00
|
|
|
XNU_METHOD= sw_vers
|
2018-01-18 00:18:53 +00:00
|
|
|
XNU_VERSION= $(shell awk '/^XNU_RELS.*\# $(OSX_VERSION)$$/ {print $$2}' xnu/GNUmakefile)
|
2015-02-24 18:24:12 +00:00
|
|
|
endif
|
|
|
|
ifeq ($(wildcard xnu/xnu-$(XNU_VERSION)),)
|
|
|
|
XNU_METHOD= fallback
|
2018-01-18 00:18:53 +00:00
|
|
|
XNU_VERSION= $(shell awk '/^XNU_RELS/ {print $$2}' xnu/GNUmakefile|tail -1)
|
2014-10-30 22:01:55 +00:00
|
|
|
endif
|
|
|
|
ifneq ($(wildcard xnu/xnu-$(XNU_VERSION)),)
|
2014-10-18 01:45:28 +00:00
|
|
|
FEATURES+= -DHAVE_PF
|
2014-10-30 22:01:55 +00:00
|
|
|
PKG_CPPFLAGS+= -I./xnu/xnu-$(XNU_VERSION)
|
2015-03-02 22:13:48 +00:00
|
|
|
BUILD_INFO+= OSX:$(OSX_VERSION) XNU:$(XNU_VERSION):$(XNU_METHOD):$(XNU_HAVE)
|
2014-01-10 13:58:04 +00:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
2012-04-13 12:47:30 +00:00
|
|
|
### Autodetected features
|
|
|
|
|
|
|
|
# Autodetect pf
|
|
|
|
ifneq ($(wildcard /usr/include/net/pfvar.h),)
|
|
|
|
FEATURES+= -DHAVE_PF
|
2013-12-23 13:27:39 +00:00
|
|
|
# OpenBSD 4.7+ and FreeBSD 9.0+ also include ipfw-style divert-to in pf
|
|
|
|
FEATURES+= -DHAVE_IPFW
|
2012-04-13 12:47:30 +00:00
|
|
|
endif
|
|
|
|
|
|
|
|
# Autodetect ipfw
|
|
|
|
ifneq ($(wildcard /sbin/ipfw),)
|
|
|
|
FEATURES+= -DHAVE_IPFW
|
|
|
|
endif
|
|
|
|
|
|
|
|
# Autodetect ipfilter
|
|
|
|
ifneq ($(wildcard /usr/include/netinet/ip_fil.h),)
|
|
|
|
FEATURES+= -DHAVE_IPFILTER
|
|
|
|
endif
|
|
|
|
|
|
|
|
# Autodetect netfilter
|
|
|
|
ifneq ($(wildcard /usr/include/linux/netfilter.h),)
|
|
|
|
FEATURES+= -DHAVE_NETFILTER
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
### Variables you might need to override
|
|
|
|
|
|
|
|
PREFIX?= /usr/local
|
2014-10-18 17:32:22 +00:00
|
|
|
MANDIR?= share/man
|
2018-02-08 20:40:18 +00:00
|
|
|
EXAMPLESDIR?= share/examples
|
2012-04-13 12:47:30 +00:00
|
|
|
|
Allow uid, gid and mode of installed files to be tuned
Introducing the overridable variables INSTALLUID, INSTALLGID, BINUID,
BINGID, BINMODE, MANUID, MANGID, MANMODE that allow overriding of uid,
gid and mode of installed files. Note that this solution still has the
limitation that uid, gid and mode of created directories cannot be set.
Issue: #81
Reported by: Shiloh Heurich
2015-03-16 23:09:19 +00:00
|
|
|
INSTALLUID?= 0
|
|
|
|
INSTALLGID?= 0
|
|
|
|
BINUID?= $(INSTALLUID)
|
|
|
|
BINGID?= $(INSTALLGID)
|
|
|
|
BINMODE?= 0755
|
2018-11-03 15:23:31 +00:00
|
|
|
CNFUID?= $(INSTALLUID)
|
|
|
|
CNFGID?= $(INSTALLGID)
|
|
|
|
CNFMODE?= 0644
|
Allow uid, gid and mode of installed files to be tuned
Introducing the overridable variables INSTALLUID, INSTALLGID, BINUID,
BINGID, BINMODE, MANUID, MANGID, MANMODE that allow overriding of uid,
gid and mode of installed files. Note that this solution still has the
limitation that uid, gid and mode of created directories cannot be set.
Issue: #81
Reported by: Shiloh Heurich
2015-03-16 23:09:19 +00:00
|
|
|
MANUID?= $(INSTALLUID)
|
|
|
|
MANGID?= $(INSTALLGID)
|
|
|
|
MANMODE?= 0644
|
2018-02-08 20:40:18 +00:00
|
|
|
EXAMPLESMODE?= 0444
|
2017-07-25 13:07:39 +00:00
|
|
|
ifeq ($(shell id -u),0)
|
|
|
|
BINOWNERFLAGS?= -o $(BINUID) -g $(BINGID)
|
2018-11-03 15:23:31 +00:00
|
|
|
CNFOWNERFLAGS?= -o $(CNFUID) -g $(CNFGID)
|
2017-07-25 13:07:39 +00:00
|
|
|
MANOWNERFLAGS?= -o $(MANUID) -g $(MANGID)
|
|
|
|
else
|
|
|
|
BINOWNERFLAGS?=
|
2018-11-03 15:23:31 +00:00
|
|
|
CNFOWNERFLAGS?=
|
2017-07-25 13:07:39 +00:00
|
|
|
MANOWNERFLAGS?=
|
|
|
|
endif
|
Allow uid, gid and mode of installed files to be tuned
Introducing the overridable variables INSTALLUID, INSTALLGID, BINUID,
BINGID, BINMODE, MANUID, MANGID, MANMODE that allow overriding of uid,
gid and mode of installed files. Note that this solution still has the
limitation that uid, gid and mode of created directories cannot be set.
Issue: #81
Reported by: Shiloh Heurich
2015-03-16 23:09:19 +00:00
|
|
|
|
2012-04-13 12:47:30 +00:00
|
|
|
OPENSSL?= openssl
|
2018-11-03 15:23:31 +00:00
|
|
|
PKGCONFIG?= $(shell command -v pkg-config||echo false)
|
|
|
|
ifeq ($(PKGCONFIG),false)
|
|
|
|
$(warning pkg-config not found - guessing paths/flags for dependencies)
|
|
|
|
endif
|
2012-04-13 12:47:30 +00:00
|
|
|
|
|
|
|
BASENAME?= basename
|
|
|
|
CAT?= cat
|
2017-07-25 13:07:39 +00:00
|
|
|
CHECKNR?= checknr
|
2015-04-22 21:12:03 +00:00
|
|
|
CUT?= cut
|
2012-04-13 12:47:30 +00:00
|
|
|
GREP?= grep
|
|
|
|
INSTALL?= install
|
|
|
|
MKDIR?= mkdir
|
|
|
|
SED?= sed
|
2018-05-09 17:05:29 +00:00
|
|
|
SORT?= sort
|
2012-04-13 12:47:30 +00:00
|
|
|
|
|
|
|
|
|
|
|
### Variables only used for developer targets
|
|
|
|
|
|
|
|
KHASH_URL?= https://github.com/attractivechaos/klib/raw/master/khash.h
|
2018-11-03 15:23:31 +00:00
|
|
|
GPGSIGNKEY?= 0xE1520675375F5E35
|
2012-04-13 12:47:30 +00:00
|
|
|
|
|
|
|
CPPCHECK?= cppcheck
|
2012-05-14 19:07:53 +00:00
|
|
|
GPG?= gpg
|
2012-04-13 12:47:30 +00:00
|
|
|
GIT?= git
|
|
|
|
WGET?= wget
|
2018-11-03 15:23:31 +00:00
|
|
|
DOCKER?= docker
|
2012-04-13 12:47:30 +00:00
|
|
|
|
|
|
|
BZIP2?= bzip2
|
2012-04-13 13:25:07 +00:00
|
|
|
COL?= col
|
2012-04-13 12:47:30 +00:00
|
|
|
LN?= ln
|
|
|
|
MAN?= man
|
|
|
|
TAR?= tar
|
|
|
|
|
|
|
|
|
|
|
|
### You should not need to touch anything below this line
|
|
|
|
|
2018-03-26 15:14:54 +00:00
|
|
|
PKGLABEL:= SSLproxy
|
|
|
|
PKGNAME:= sslproxy
|
|
|
|
TARGET:= $(PKGNAME)
|
2012-04-30 23:40:31 +00:00
|
|
|
SRCS:= $(filter-out $(wildcard *.t.c),$(wildcard *.c))
|
2012-04-13 12:47:30 +00:00
|
|
|
HDRS:= $(wildcard *.h)
|
|
|
|
OBJS:= $(SRCS:.c=.o)
|
2018-11-03 15:23:31 +00:00
|
|
|
MKFS= $(wildcard GNUmakefile Mk/*.mk)
|
2018-03-26 15:14:54 +00:00
|
|
|
FEATURES:= $(sort $(FEATURES))
|
2012-04-13 12:47:30 +00:00
|
|
|
|
2012-04-30 23:40:31 +00:00
|
|
|
TSRCS:= $(wildcard *.t.c)
|
|
|
|
TOBJS:= $(TSRCS:.t.c=.t.o)
|
2012-04-13 12:47:30 +00:00
|
|
|
TOBJS+= $(filter-out main.o,$(OBJS))
|
|
|
|
|
2018-03-26 15:14:54 +00:00
|
|
|
include Mk/buildinfo.mk
|
|
|
|
VERSION:= $(BUILD_VERSION)
|
2018-11-03 15:23:31 +00:00
|
|
|
ifdef GITDIR
|
|
|
|
CFLAGS+= $(DEBUG_CFLAGS)
|
|
|
|
endif
|
2012-04-13 12:47:30 +00:00
|
|
|
|
|
|
|
# Autodetect dependencies known to pkg-config
|
|
|
|
PKGS:=
|
|
|
|
ifndef OPENSSL_BASE
|
2015-03-23 21:10:00 +00:00
|
|
|
PKGS+= $(shell $(PKGCONFIG) $(PCFLAGS) --exists openssl \
|
|
|
|
&& echo openssl)
|
2012-04-13 12:47:30 +00:00
|
|
|
endif
|
|
|
|
ifndef LIBEVENT_BASE
|
2015-03-23 21:10:00 +00:00
|
|
|
PKGS+= $(shell $(PKGCONFIG) $(PCFLAGS) --exists libevent \
|
|
|
|
&& echo libevent)
|
|
|
|
PKGS+= $(shell $(PKGCONFIG) $(PCFLAGS) --exists libevent_openssl \
|
2012-04-13 12:47:30 +00:00
|
|
|
&& echo libevent_openssl)
|
2015-03-23 21:10:00 +00:00
|
|
|
PKGS+= $(shell $(PKGCONFIG) $(PCFLAGS) --exists libevent_pthreads \
|
2012-04-13 12:47:30 +00:00
|
|
|
&& echo libevent_pthreads)
|
|
|
|
endif
|
2018-11-03 15:23:31 +00:00
|
|
|
ifneq ($(filter -DWITHOUT_MIRROR,$(FEATURES)),-DWITHOUT_MIRROR)
|
|
|
|
ifndef LIBPCAP_BASE
|
|
|
|
PKGS+= $(shell $(PKGCONFIG) $(PCFLAGS) --exists libpcap \
|
|
|
|
&& echo libpcap)
|
|
|
|
endif
|
|
|
|
endif
|
2019-02-16 14:29:14 +00:00
|
|
|
ifndef SQLITE_BASE
|
|
|
|
PKGS+= $(shell $(PKGCONFIG) $(PCFLAGS) --exists sqlite3 \
|
|
|
|
&& echo sqlite3)
|
|
|
|
endif
|
2012-04-13 12:47:30 +00:00
|
|
|
TPKGS:=
|
|
|
|
ifndef CHECK_BASE
|
2015-03-23 21:10:00 +00:00
|
|
|
TPKGS+= $(shell $(PKGCONFIG) $(PCFLAGS) --exists check \
|
|
|
|
&& echo check)
|
2012-04-13 12:47:30 +00:00
|
|
|
endif
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Function: Generate list of base paths to search when locating packages
|
|
|
|
# $1 packagename
|
|
|
|
bases= /usr/local/opt/$(1) \
|
|
|
|
/opt/local \
|
|
|
|
/usr/local \
|
|
|
|
/usr
|
|
|
|
|
|
|
|
# Function: Locate base path for a package we depend on
|
|
|
|
# $1 packagename, $2 pattern suffix, $3 override path(s)
|
|
|
|
locate= $(subst /$(2),,$(word 1,$(wildcard \
|
|
|
|
$(addsuffix /$(2),$(if $(3),$(3),$(call bases,$(1)))))))
|
|
|
|
|
2012-04-13 12:47:30 +00:00
|
|
|
# Autodetect dependencies not known to pkg-config
|
|
|
|
ifeq (,$(filter openssl,$(PKGS)))
|
2018-11-03 15:23:31 +00:00
|
|
|
OPENSSL_FOUND:= $(call locate,openssl,include/openssl/ssl.h,$(OPENSSL_BASE))
|
2018-09-14 23:51:26 +00:00
|
|
|
OPENSSL:= $(OPENSSL_FOUND)/bin/openssl
|
2012-04-13 12:47:30 +00:00
|
|
|
ifndef OPENSSL_FOUND
|
2012-05-02 11:35:36 +00:00
|
|
|
$(error dependency 'OpenSSL' not found; \
|
|
|
|
install it or point OPENSSL_BASE to base path)
|
2012-04-13 12:47:30 +00:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
ifeq (,$(filter libevent,$(PKGS)))
|
2018-11-03 15:23:31 +00:00
|
|
|
LIBEVENT_FOUND:=$(call locate,libevent,include/event2/event.h,$(LIBEVENT_BASE))
|
2012-04-13 12:47:30 +00:00
|
|
|
ifndef LIBEVENT_FOUND
|
2012-05-02 11:35:36 +00:00
|
|
|
$(error dependency 'libevent 2.x' not found; \
|
|
|
|
install it or point LIBEVENT_BASE to base path)
|
2012-04-13 12:47:30 +00:00
|
|
|
endif
|
|
|
|
endif
|
2018-11-03 15:23:31 +00:00
|
|
|
ifneq ($(filter -DWITHOUT_MIRROR,$(FEATURES)),-DWITHOUT_MIRROR)
|
|
|
|
ifeq (,$(filter libpcap,$(PKGS)))
|
|
|
|
LIBPCAP_FOUND:= $(call locate,libpcap,include/pcap.h,$(LIBPCAP_BASE))
|
|
|
|
ifndef LIBPCAP_FOUND
|
|
|
|
$(error dependency 'libpcap' not found; \
|
|
|
|
install it or point LIBPCAP_BASE to base path)
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
endif
|
2019-02-16 14:29:14 +00:00
|
|
|
ifeq (,$(filter sqlite3,$(PKGS)))
|
|
|
|
SQLITE_FOUND:=$(call locate,sqlite3,include/sqlite3.h,$(SQLITE_BASE))
|
|
|
|
ifndef SQLITE_FOUND
|
|
|
|
$(error dependency 'SQLite3' not found; \
|
|
|
|
install it or point SQLITE_BASE to base path)
|
|
|
|
endif
|
|
|
|
endif
|
2012-04-13 12:47:30 +00:00
|
|
|
ifeq (,$(filter check,$(TPKGS)))
|
2018-11-03 15:23:31 +00:00
|
|
|
CHECK_FOUND:= $(call locate,check,include/check.h,$(CHECK_BASE))
|
2012-04-13 12:47:30 +00:00
|
|
|
ifndef CHECK_FOUND
|
2012-05-02 11:35:36 +00:00
|
|
|
CHECK_MISSING:= 1
|
2012-04-13 12:47:30 +00:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Always search filesystem for libnet because libnet-config is unreliable
|
|
|
|
ifneq ($(filter -DWITHOUT_MIRROR,$(FEATURES)),-DWITHOUT_MIRROR)
|
|
|
|
LIBNET_FOUND:= $(call locate,libnet,include/libnet-1.1/libnet.h,$(LIBNET_BASE))
|
|
|
|
ifdef LIBNET_FOUND
|
|
|
|
LIBNET_FOUND_INC:= $(LIBNET_FOUND)/include/libnet-1.1
|
|
|
|
else
|
|
|
|
LIBNET_FOUND:= $(call locate,libnet,include/libnet.h,$(LIBNET_BASE))
|
|
|
|
LIBNET_FOUND_INC:= $(LIBNET_FOUND)/include
|
|
|
|
endif
|
|
|
|
ifndef LIBNET_FOUND
|
|
|
|
$(error dependency 'libnet' not found; \
|
|
|
|
install it or point LIBNET_BASE to base path)
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2012-04-13 12:47:30 +00:00
|
|
|
ifdef OPENSSL_FOUND
|
|
|
|
PKG_CPPFLAGS+= -I$(OPENSSL_FOUND)/include
|
|
|
|
PKG_LDFLAGS+= -L$(OPENSSL_FOUND)/lib
|
|
|
|
PKG_LIBS+= -lssl -lcrypto -lz
|
|
|
|
endif
|
|
|
|
ifdef LIBEVENT_FOUND
|
|
|
|
PKG_CPPFLAGS+= -I$(LIBEVENT_FOUND)/include
|
|
|
|
PKG_LDFLAGS+= -L$(LIBEVENT_FOUND)/lib
|
|
|
|
PKG_LIBS+= -levent
|
|
|
|
endif
|
|
|
|
ifeq (,$(filter libevent_openssl,$(PKGS)))
|
|
|
|
PKG_LIBS+= -levent_openssl
|
|
|
|
endif
|
|
|
|
ifeq (,$(filter libevent_pthreads,$(PKGS)))
|
|
|
|
PKG_LIBS+= -levent_pthreads
|
|
|
|
endif
|
2018-11-03 15:23:31 +00:00
|
|
|
ifneq ($(filter -DWITHOUT_MIRROR,$(FEATURES)),-DWITHOUT_MIRROR)
|
|
|
|
ifdef LIBNET_FOUND
|
|
|
|
PKG_CPPFLAGS+= -I$(LIBNET_FOUND_INC)
|
|
|
|
PKG_LDFLAGS+= -L$(LIBNET_FOUND)/lib
|
|
|
|
PKG_LIBS+= -lnet
|
|
|
|
endif
|
|
|
|
ifdef LIBPCAP_FOUND
|
|
|
|
PKG_CPPFLAGS+= -I$(LIBPCAP_FOUND)/include
|
|
|
|
PKG_LDFLAGS+= -L$(LIBPCAP_FOUND)/lib
|
|
|
|
PKG_LIBS+= -lpcap
|
|
|
|
endif
|
|
|
|
endif
|
2019-02-16 14:29:14 +00:00
|
|
|
ifdef SQLITE_FOUND
|
|
|
|
PKG_CPPFLAGS+= -I$(SQLITE_FOUND)/include
|
|
|
|
PKG_LDFLAGS+= -L$(SQLITE_FOUND)/lib
|
|
|
|
PKG_LIBS+= -lsqlite3
|
|
|
|
endif
|
2012-04-13 12:47:30 +00:00
|
|
|
ifdef CHECK_FOUND
|
|
|
|
TPKG_CPPFLAGS+= -I$(CHECK_FOUND)/include
|
|
|
|
TPKG_LDFLAGS+= -L$(CHECK_FOUND)/lib
|
|
|
|
TPKG_LIBS+= -lcheck
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(strip $(PKGS)))
|
2015-03-23 21:10:00 +00:00
|
|
|
PKG_CFLAGS+= $(shell $(PKGCONFIG) $(PCFLAGS) --cflags-only-other $(PKGS))
|
|
|
|
PKG_CPPFLAGS+= $(shell $(PKGCONFIG) $(PCFLAGS) --cflags-only-I $(PKGS))
|
|
|
|
PKG_LDFLAGS+= $(shell $(PKGCONFIG) $(PCFLAGS) --libs-only-L \
|
|
|
|
--libs-only-other $(PKGS))
|
|
|
|
PKG_LIBS+= $(shell $(PKGCONFIG) $(PCFLAGS) --libs-only-l $(PKGS))
|
2012-04-13 12:47:30 +00:00
|
|
|
endif
|
|
|
|
ifneq (,$(strip $(TPKGS)))
|
2015-03-23 21:10:00 +00:00
|
|
|
TPKG_CFLAGS+= $(shell $(PKGCONFIG) $(PCFLAGS) --cflags-only-other $(TPKGS))
|
|
|
|
TPKG_CPPFLAGS+= $(shell $(PKGCONFIG) $(PCFLAGS) --cflags-only-I $(TPKGS))
|
|
|
|
TPKG_LDFLAGS+= $(shell $(PKGCONFIG) $(PCFLAGS) --libs-only-L \
|
|
|
|
--libs-only-other $(TPKGS))
|
|
|
|
TPKG_LIBS+= $(shell $(PKGCONFIG) $(PCFLAGS) --libs-only-l $(TPKGS))
|
2012-04-13 12:47:30 +00:00
|
|
|
endif
|
|
|
|
|
2014-11-03 21:08:07 +00:00
|
|
|
CPPDEFS+= -D_GNU_SOURCE \
|
2018-03-26 15:14:54 +00:00
|
|
|
-D"PKGLABEL=\"$(PKGLABEL)\""
|
2014-11-03 21:08:07 +00:00
|
|
|
CPPCHECKFLAGS+= $(CPPDEFS)
|
|
|
|
|
2014-11-04 17:31:19 +00:00
|
|
|
ifneq (ccc-analyzer,$(notdir $(CC)))
|
|
|
|
PKG_CPPFLAGS:= $(subst -I,-isystem,$(PKG_CPPFLAGS))
|
|
|
|
TPKG_CPPFLAGS:= $(subst -I,-isystem,$(TPKG_CPPFLAGS))
|
|
|
|
endif
|
|
|
|
|
2014-11-03 21:08:07 +00:00
|
|
|
CFLAGS+= $(PKG_CFLAGS) \
|
|
|
|
-std=c99 -Wall -Wextra -pedantic \
|
|
|
|
-D_FORTIFY_SOURCE=2 -fstack-protector-all
|
2014-11-04 17:31:19 +00:00
|
|
|
CPPFLAGS+= $(PKG_CPPFLAGS) $(CPPDEFS) $(FEATURES)
|
|
|
|
TCPPFLAGS+= $(TPKG_CPPFLAGS)
|
2014-01-14 16:29:32 +00:00
|
|
|
LDFLAGS+= $(PKG_LDFLAGS)
|
2012-05-23 17:09:52 +00:00
|
|
|
LIBS+= $(PKG_LIBS)
|
|
|
|
|
2014-01-14 16:29:32 +00:00
|
|
|
ifneq ($(shell uname),Darwin)
|
|
|
|
CFLAGS+= -pthread
|
|
|
|
LDFLAGS+= -pthread
|
|
|
|
endif
|
|
|
|
|
2017-07-25 13:07:39 +00:00
|
|
|
# _FORTIFY_SOURCE requires -O on Linux
|
|
|
|
ifeq (,$(findstring -O,$(CFLAGS)))
|
2019-05-27 08:12:12 +00:00
|
|
|
CFLAGS+= -O2
|
2017-07-25 13:07:39 +00:00
|
|
|
endif
|
|
|
|
|
2012-04-13 12:47:30 +00:00
|
|
|
export VERSION
|
|
|
|
export OPENSSL
|
2018-09-14 23:51:26 +00:00
|
|
|
export OPENSSL_BASE
|
|
|
|
export OPENSSL_FOUND
|
2012-04-13 12:47:30 +00:00
|
|
|
export MKDIR
|
2014-10-30 22:01:55 +00:00
|
|
|
export WGET
|
2012-04-13 12:47:30 +00:00
|
|
|
|
2015-03-15 21:38:29 +00:00
|
|
|
ifndef MAKE_RESTARTS
|
|
|
|
$(info ------------------------------------------------------------------------------)
|
2018-05-09 17:05:29 +00:00
|
|
|
$(info $(PKGLABEL) $(VERSION))
|
2015-03-15 21:38:29 +00:00
|
|
|
$(info ------------------------------------------------------------------------------)
|
2018-02-20 17:46:08 +00:00
|
|
|
$(info Report bugs at https://github.com/sonertari/SSLproxy/issues/new)
|
2018-01-18 00:18:53 +00:00
|
|
|
$(info Please supply this header for diagnostics when reporting build issues)
|
2015-03-15 21:38:29 +00:00
|
|
|
$(info Before reporting bugs, make sure to try the latest develop branch first:)
|
2018-02-20 17:46:08 +00:00
|
|
|
$(info % git clone -b develop https://github.com/sonertari/SSLproxy.git)
|
2015-03-15 21:38:29 +00:00
|
|
|
$(info ------------------------------------------------------------------------------)
|
|
|
|
$(info Via pkg-config: $(strip $(PKGS) $(TPKGS)))
|
2012-04-13 12:47:30 +00:00
|
|
|
ifdef OPENSSL_FOUND
|
2015-03-15 21:38:29 +00:00
|
|
|
$(info OPENSSL_BASE: $(strip $(OPENSSL_FOUND)))
|
2012-04-13 12:47:30 +00:00
|
|
|
endif
|
|
|
|
ifdef LIBEVENT_FOUND
|
2015-03-15 21:38:29 +00:00
|
|
|
$(info LIBEVENT_BASE: $(strip $(LIBEVENT_FOUND)))
|
2012-04-13 12:47:30 +00:00
|
|
|
endif
|
2018-11-03 15:23:31 +00:00
|
|
|
ifdef LIBPCAP_FOUND
|
|
|
|
$(info LIBPCAP_BASE: $(strip $(LIBPCAP_FOUND)))
|
|
|
|
endif
|
|
|
|
ifdef LIBNET_FOUND
|
|
|
|
$(info LIBNET_BASE: $(strip $(LIBNET_FOUND)))
|
|
|
|
endif
|
2019-02-16 14:29:14 +00:00
|
|
|
ifdef SQLITE_FOUND
|
|
|
|
$(info SQLITE_BASE: $(strip $(SQLITE_FOUND)))
|
|
|
|
endif
|
2012-04-13 12:47:30 +00:00
|
|
|
ifdef CHECK_FOUND
|
2015-03-15 21:38:29 +00:00
|
|
|
$(info CHECK_BASE: $(strip $(CHECK_FOUND)))
|
2012-04-13 12:47:30 +00:00
|
|
|
endif
|
2015-03-15 21:38:29 +00:00
|
|
|
$(info Build options: $(FEATURES))
|
2018-05-09 17:05:29 +00:00
|
|
|
$(info Build info: $(BUILD_INFO))
|
2014-10-30 22:01:55 +00:00
|
|
|
ifeq ($(shell uname),Darwin)
|
2015-03-15 21:38:29 +00:00
|
|
|
$(info OSX_VERSION: $(OSX_VERSION))
|
|
|
|
$(info XNU_VERSION: $(XNU_VERSION) ($(XNU_METHOD), have $(XNU_HAVE)))
|
|
|
|
endif
|
|
|
|
$(info uname -a: $(shell uname -a))
|
|
|
|
$(info ------------------------------------------------------------------------------)
|
2014-10-30 22:01:55 +00:00
|
|
|
endif
|
2012-04-13 12:47:30 +00:00
|
|
|
|
2015-03-15 21:38:29 +00:00
|
|
|
all: $(TARGET)
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
$(TARGET).test: $(TOBJS)
|
|
|
|
$(CC) $(LDFLAGS) $(TPKG_LDFLAGS) -o $@ $^ $(LIBS) $(TPKG_LIBS)
|
|
|
|
|
2012-04-13 12:47:30 +00:00
|
|
|
$(TARGET): $(OBJS)
|
|
|
|
$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
|
|
|
|
|
2018-03-26 15:14:54 +00:00
|
|
|
build.o: CPPFLAGS+=$(BUILD_CPPFLAGS)
|
|
|
|
build.o: build.c FORCE
|
2012-05-02 11:35:36 +00:00
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
%.t.o: %.t.c $(HDRS) $(MKFS)
|
2012-05-02 11:35:36 +00:00
|
|
|
ifdef CHECK_MISSING
|
|
|
|
$(error unit test dependency 'check' not found; \
|
|
|
|
install it or point CHECK_BASE to base path)
|
|
|
|
endif
|
2014-11-03 21:08:07 +00:00
|
|
|
$(CC) -c $(CPPFLAGS) $(TCPPFLAGS) $(CFLAGS) $(TPKG_CFLAGS) -o $@ \
|
2012-05-02 11:35:36 +00:00
|
|
|
-x c $<
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
%.o: %.c $(HDRS) $(MKFS)
|
2012-04-13 12:47:30 +00:00
|
|
|
$(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
buildtest: TCPPFLAGS+=-D"TEST_ZEROUSR=\"$(shell id -u -n root||echo 0)\""
|
|
|
|
buildtest: TCPPFLAGS+=-D"TEST_ZEROGRP=\"$(shell id -g -n root||echo 0)\""
|
|
|
|
buildtest: $(TARGET).test
|
2018-09-14 23:51:26 +00:00
|
|
|
$(MAKE) -C extra/engine
|
|
|
|
$(MAKE) -C extra/pki testreqs
|
2018-11-03 15:23:31 +00:00
|
|
|
|
|
|
|
test: buildtest
|
2012-04-13 12:47:30 +00:00
|
|
|
./$(TARGET).test
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
sudotest: buildtest
|
2018-08-03 20:36:51 +00:00
|
|
|
sudo ./$(TARGET).test
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
travis: TCPPFLAGS+=-DTRAVIS
|
|
|
|
travis: test
|
2012-04-13 12:47:30 +00:00
|
|
|
|
|
|
|
clean:
|
2018-09-14 23:51:26 +00:00
|
|
|
$(MAKE) -C extra/engine clean
|
2014-11-27 21:09:03 +00:00
|
|
|
$(RM) -f $(TARGET) $(TARGET).test *.o .*.o *.core *~
|
2012-04-13 12:47:30 +00:00
|
|
|
$(RM) -rf *.dSYM
|
|
|
|
|
|
|
|
install: $(TARGET)
|
2014-10-18 17:32:22 +00:00
|
|
|
test -d $(DESTDIR)$(PREFIX)/bin || $(MKDIR) -p $(DESTDIR)$(PREFIX)/bin
|
|
|
|
test -d $(DESTDIR)$(PREFIX)/$(MANDIR)/man1 || \
|
|
|
|
$(MKDIR) -p $(DESTDIR)$(PREFIX)/$(MANDIR)/man1
|
2017-08-24 13:16:45 +00:00
|
|
|
test -d $(DESTDIR)$(PREFIX)/$(MANDIR)/man5 || \
|
|
|
|
$(MKDIR) -p $(DESTDIR)$(PREFIX)/$(MANDIR)/man5
|
2018-11-03 15:23:31 +00:00
|
|
|
test -d $(DESTDIR)$(PREFIX)/$(EXAMPLESDIR)/$(TARGET) || \
|
2018-05-09 17:05:29 +00:00
|
|
|
$(MKDIR) -p $(DESTDIR)$(PREFIX)/$(EXAMPLESDIR)/$(TARGET)
|
2017-07-25 13:07:39 +00:00
|
|
|
$(INSTALL) $(BINOWNERFLAGS) -m $(BINMODE) \
|
Allow uid, gid and mode of installed files to be tuned
Introducing the overridable variables INSTALLUID, INSTALLGID, BINUID,
BINGID, BINMODE, MANUID, MANGID, MANMODE that allow overriding of uid,
gid and mode of installed files. Note that this solution still has the
limitation that uid, gid and mode of created directories cannot be set.
Issue: #81
Reported by: Shiloh Heurich
2015-03-16 23:09:19 +00:00
|
|
|
$(TARGET) $(DESTDIR)$(PREFIX)/bin/
|
2017-07-25 13:07:39 +00:00
|
|
|
$(INSTALL) $(MANOWNERFLAGS) -m $(MANMODE) \
|
Allow uid, gid and mode of installed files to be tuned
Introducing the overridable variables INSTALLUID, INSTALLGID, BINUID,
BINGID, BINMODE, MANUID, MANGID, MANMODE that allow overriding of uid,
gid and mode of installed files. Note that this solution still has the
limitation that uid, gid and mode of created directories cannot be set.
Issue: #81
Reported by: Shiloh Heurich
2015-03-16 23:09:19 +00:00
|
|
|
$(TARGET).1 $(DESTDIR)$(PREFIX)/$(MANDIR)/man1/
|
2017-08-24 13:16:45 +00:00
|
|
|
$(INSTALL) $(MANOWNERFLAGS) -m $(MANMODE) \
|
|
|
|
$(TARGET).conf.5 $(DESTDIR)$(PREFIX)/$(MANDIR)/man5/
|
|
|
|
$(INSTALL) $(MANOWNERFLAGS) -m $(EXAMPLESMODE) \
|
2018-05-09 17:05:29 +00:00
|
|
|
$(TARGET).conf $(DESTDIR)$(PREFIX)/$(EXAMPLESDIR)/$(TARGET)/
|
2012-04-13 12:47:30 +00:00
|
|
|
|
|
|
|
deinstall:
|
2017-08-24 13:16:45 +00:00
|
|
|
$(RM) -f $(DESTDIR)$(PREFIX)/bin/$(TARGET) $(DESTDIR)$(PREFIX)/$(MANDIR)/man1/$(TARGET).1 \
|
|
|
|
$(DESTDIR)$(PREFIX)/$(MANDIR)/man5/$(TARGET).conf.5
|
2018-05-09 17:05:29 +00:00
|
|
|
$(RM) -rf $(DESTDIR)$(PREFIX)/$(EXAMPLESDIR)/$(TARGET)/
|
2012-04-13 12:47:30 +00:00
|
|
|
|
|
|
|
ifdef GITDIR
|
2012-04-13 20:49:52 +00:00
|
|
|
lint:
|
2014-11-03 21:08:07 +00:00
|
|
|
$(CPPCHECK) $(CPPCHECKFLAGS) --force --enable=all --error-exitcode=1 .
|
2012-04-13 20:49:52 +00:00
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
manlint: $(TARGET).1 $(TARGET).conf.5
|
2017-07-25 13:07:39 +00:00
|
|
|
$(CHECKNR) $(TARGET).1
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
mantest: $(TARGET).1 $(TARGET).conf.5
|
|
|
|
$(RM) -f man1 man5
|
2012-04-13 12:47:30 +00:00
|
|
|
$(LN) -sf . man1
|
2018-11-03 15:23:31 +00:00
|
|
|
$(LN) -sf . man5
|
2012-04-13 12:47:30 +00:00
|
|
|
$(MAN) -M . 1 $(TARGET)
|
2018-11-03 15:23:31 +00:00
|
|
|
$(MAN) -M . 5 $(TARGET).conf
|
|
|
|
$(RM) man1 man5
|
2012-04-13 12:47:30 +00:00
|
|
|
|
2018-09-14 23:51:26 +00:00
|
|
|
copyright: *.c *.h *.1 *.5 extra/*/*.c
|
2018-03-26 15:14:54 +00:00
|
|
|
Mk/bin/copyright.py $^
|
|
|
|
|
|
|
|
$(PKGNAME)-$(VERSION).1.txt: $(TARGET).1
|
2012-04-13 13:25:07 +00:00
|
|
|
$(RM) -f man1
|
|
|
|
$(LN) -sf . man1
|
|
|
|
$(MAN) -M . 1 $(TARGET) | $(COL) -b >$@
|
|
|
|
$(RM) man1
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
$(PKGNAME)-$(VERSION).conf.5.txt: $(TARGET).conf.5
|
|
|
|
$(RM) -f man5
|
|
|
|
$(LN) -sf . man5
|
|
|
|
$(MAN) -M . 5 $(TARGET).conf | $(COL) -b >$@
|
|
|
|
$(RM) man5
|
|
|
|
|
|
|
|
man: $(PKGNAME)-$(VERSION).1.txt $(PKGNAME)-$(VERSION).conf.5.txt
|
2012-04-13 13:25:07 +00:00
|
|
|
|
|
|
|
manclean:
|
2018-11-03 15:23:31 +00:00
|
|
|
$(RM) -f $(PKGNAME)-*.1.txt $(PKGNAME)-*.conf.5.txt
|
2012-04-13 13:25:07 +00:00
|
|
|
|
2012-04-13 12:47:30 +00:00
|
|
|
fetchdeps:
|
2014-11-04 17:30:26 +00:00
|
|
|
$(WGET) -O- $(KHASH_URL) >khash.h
|
2014-10-30 22:01:55 +00:00
|
|
|
#$(RM) -rf xnu/xnu-*
|
|
|
|
$(MAKE) -C xnu fetch
|
2012-04-13 12:47:30 +00:00
|
|
|
|
2018-03-26 15:14:54 +00:00
|
|
|
dist: $(PKGNAME)-$(VERSION).tar.bz2 $(PKGNAME)-$(VERSION).tar.bz2.asc
|
2012-05-14 19:07:53 +00:00
|
|
|
|
|
|
|
%.asc: %
|
|
|
|
$(GPG) -u $(GPGSIGNKEY) --armor --output $@ --detach-sig $<
|
2012-04-13 12:47:30 +00:00
|
|
|
|
2018-03-26 15:14:54 +00:00
|
|
|
$(PKGNAME)-$(VERSION).tar.bz2:
|
|
|
|
$(MKDIR) -p $(PKGNAME)-$(VERSION)
|
|
|
|
echo $(VERSION) >$(PKGNAME)-$(VERSION)/VERSION
|
2018-05-09 17:05:29 +00:00
|
|
|
$(OPENSSL) dgst -sha1 -r *.[hc] | $(SORT) -k 2 \
|
|
|
|
>$(PKGNAME)-$(VERSION)/HASHES
|
2018-03-26 15:14:54 +00:00
|
|
|
$(GIT) archive --prefix=$(PKGNAME)-$(VERSION)/ HEAD \
|
|
|
|
>$(PKGNAME)-$(VERSION).tar
|
|
|
|
$(TAR) -f $(PKGNAME)-$(VERSION).tar -r $(PKGNAME)-$(VERSION)/VERSION
|
2018-05-09 17:05:29 +00:00
|
|
|
$(TAR) -f $(PKGNAME)-$(VERSION).tar -r $(PKGNAME)-$(VERSION)/HASHES
|
2018-03-26 15:14:54 +00:00
|
|
|
$(BZIP2) <$(PKGNAME)-$(VERSION).tar >$(PKGNAME)-$(VERSION).tar.bz2
|
|
|
|
$(RM) $(PKGNAME)-$(VERSION).tar
|
|
|
|
$(RM) -r $(PKGNAME)-$(VERSION)
|
|
|
|
|
|
|
|
disttest: $(PKGNAME)-$(VERSION).tar.bz2 $(PKGNAME)-$(VERSION).tar.bz2.asc
|
2012-05-14 19:07:53 +00:00
|
|
|
$(GPG) --verify $<.asc $<
|
|
|
|
$(BZIP2) -d < $< | $(TAR) -x -f -
|
2018-03-26 15:14:54 +00:00
|
|
|
cd $(PKGNAME)-$(VERSION) && $(MAKE) && $(MAKE) test && ./$(TARGET) -V
|
|
|
|
$(RM) -r $(PKGNAME)-$(VERSION)
|
2012-04-13 12:47:30 +00:00
|
|
|
|
2012-04-13 13:25:07 +00:00
|
|
|
distclean:
|
2018-03-26 15:14:54 +00:00
|
|
|
$(RM) -f $(PKGNAME)-*.tar.bz2*
|
2012-04-13 12:47:30 +00:00
|
|
|
|
2012-04-13 13:25:07 +00:00
|
|
|
realclean: distclean manclean clean
|
2012-04-13 12:47:30 +00:00
|
|
|
$(MAKE) -C extra/pki clean
|
|
|
|
endif
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
docker:
|
|
|
|
$(DOCKER) build -f docker/sslproxy/Dockerfile --target builder -t sslproxy-builder:$(VERSION) .
|
|
|
|
$(DOCKER) build -f docker/sslproxy/Dockerfile --target production -t sslproxy:$(VERSION) .
|
|
|
|
$(DOCKER) run sslproxy:$(VERSION)
|
|
|
|
|
2012-04-13 20:49:52 +00:00
|
|
|
FORCE:
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
.PHONY: all config clean buildtest test sudotest travis lint \
|
|
|
|
install deinstall copyright manlint mantest man manclean fetchdeps \
|
|
|
|
dist disttest distclean realclean docker
|
2012-04-13 12:47:30 +00:00
|
|
|
|