mirror of
https://github.com/3proxy/3proxy.git
synced 2026-04-29 07:30:11 +08:00
78 lines
3.4 KiB
Makefile
78 lines
3.4 KiB
Makefile
#
|
|
# 3 proxy Makefile for GCC/Unix
|
|
#
|
|
# remove -DNOODBC from CFLAGS and add -lodbc to LDFLAGS to compile with ODBC
|
|
# library support. Add -DSAFESQL for poorely written ODBC library / drivers.
|
|
|
|
BUILDDIR = ../bin/
|
|
PREFIX ?= 3proxy_
|
|
CRYPT_PREFIX ?= $(PREFIX)
|
|
MANDIR ?= /usr/share/man
|
|
CC ?= cc
|
|
|
|
CFLAGS := -c -fno-strict-aliasing -DNOODBC -DFD_SETSIZE=4096 -DWITH_POLL -DWITH_UN $(CFLAGS)
|
|
COUT = -o
|
|
LN ?= ${CC}
|
|
LDFLAGS += -pthread -fno-strict-aliasing
|
|
# -lpthreads may be reuiured on some platforms instead of -pthreads
|
|
# -ldl or -lld may be required for some platforms
|
|
DCFLAGS ?= -fPIC
|
|
DLFLAGS ?= -shared
|
|
DLSUFFICS = .so
|
|
LIBS ?=
|
|
LIBSPREFIX = -l
|
|
LIBSSUFFIX =
|
|
LNOUT = -o
|
|
EXESUFFICS =
|
|
OBJSUFFICS = .o
|
|
DEFINEOPTION = -D
|
|
COMPFILES = *~
|
|
REMOVECOMMAND = rm -f
|
|
AFTERCLEAN = (find . -type f -name "*.o" -delete && find src/ -type f -name "Makefile.var" -delete && find bin/ -type f -perm +111 -delete) || true
|
|
TYPECOMMAND = cat
|
|
COMPATLIBS =
|
|
MAKEFILE = Makefile.FreeBSD
|
|
PLUGINS ?= StringsPlugin TrafficPlugin TransparentPlugin FilePlugin
|
|
OPENSSL_CHECK = $(shell echo "\#include <openssl/ssl.h>\\n int main(){return 0;}" | tr -d \\\\ | $(CC) -x c $(CFLAGS) -o testssl.o - 2>/dev/null && $(CC) $(LDFLAGS) -otestssl testssl.o -lcrypto -lssl 2>/dev/null && rm testssl testssl.o && echo true||echo false)
|
|
ifeq ($(OPENSSL_CHECK), true)
|
|
LIBS += -l crypto -l ssl
|
|
PLUGINS += SSLPlugin
|
|
endif
|
|
PCRE_CHECK = $(shell echo "\#define PCRE2_CODE_UNIT_WIDTH 8\\n\#include <pcre2.h>\\n int main(){return 0;}" | tr -d \\\\ | $(CC) -x c $(CFLAGS) -o testpcre.o - 2>/dev/null && $(CC) -o testpcre testpcre.o $(LDFLAGS) -lpcre2-8 2>/dev/null && rm testpcre testpcre.o && echo true||echo false)
|
|
ifeq ($(PCRE_CHECK), true)
|
|
PLUGINS += PCREPlugin
|
|
endif
|
|
PAM_CHECK = $(shell echo "\#include <security/pam_appl.h>\\n int main(){return 0;}" | tr -d \\\\ | $(CC) -x c $(CFLAGS) -o testpam.o - 2>/dev/null && $(CC) $(LDFLAGS) -o testpam testpam.o -lpam 2>/dev/null && rm testpam testpam.o && echo true||echo false)
|
|
ifeq ($(PAM_CHECK), true)
|
|
PLUGINS += PamAuth
|
|
endif
|
|
|
|
include Makefile.inc
|
|
|
|
install: all
|
|
if [ ! -d "/usr/local/3proxy/bin" ]; then mkdir -p /usr/local/3proxy/bin/; fi
|
|
install bin/3proxy /usr/local/3proxy/bin/3proxy
|
|
install bin/$(CRYPT_PREFIX)crypt /usr/local/3proxy/bin/$(CRYPT_PREFIX)crypt
|
|
for f in proxy socks pop3p smtpp ftppr tcppm udppm tlspr; do \
|
|
if [ -f bin/$(PREFIX)$$f ]; then install bin/$(PREFIX)$$f /usr/local/3proxy/bin/$(PREFIX)$$f; fi; \
|
|
done
|
|
install scripts/rc.d/3proxy /usr/local/etc/rc.d/3proxy
|
|
install scripts/add3proxyuser.sh /usr/local/3proxy/bin/
|
|
if [ -s /usr/local/etc/3proxy/3proxy.cfg ]; then echo /usr/local/3proxy/3proxy.cfg already exists; else install scripts/3proxy.cfg /usr/local/etc/3proxy/; fi
|
|
if [ ! -d /var/log/3proxy/ ]; then mkdir /var/log/3proxy/; fi
|
|
touch /usr/local/3proxy/passwd
|
|
touch /usr/local/3proxy/counters
|
|
touch /usr/local/3proxy/bandlimiters
|
|
install -d $(MANDIR)/man8
|
|
install -m 644 man/3proxy.8 $(MANDIR)/man8/3proxy.8
|
|
for f in proxy socks pop3p smtpp ftppr tcppm udppm tlspr; do \
|
|
if [ -f man/$$f.8 ]; then install -m 644 man/$$f.8 $(MANDIR)/man8/$(PREFIX)$$f.8; fi; \
|
|
done
|
|
install -m 644 man/3proxy_crypt.8 $(MANDIR)/man8
|
|
install -d $(MANDIR)/man5
|
|
install -m 644 man/3proxy.cfg.5 $(MANDIR)/man5/3proxy.cfg.5
|
|
echo Run /usr/local/3proxy/bin/add3proxyuser.sh to add \'admin\' user
|
|
|
|
allplugins:
|
|
@list='$(PLUGINS)'; for p in $$list; do cp Makefile Makefile.var plugins/$$p; cd plugins/$$p ; make ; cd ../.. ; done
|