mirror of
https://github.com/3proxy/3proxy.git
synced 2026-04-07 05:40:12 +08:00
Some checks are pending
C/C++ CI / ${{ matrix.target }} (macos-15) (push) Waiting to run
C/C++ CI / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Waiting to run
C/C++ CI / ${{ matrix.target }} (ubuntu-latest) (push) Waiting to run
C/C++ CI / ${{ matrix.target }} (windows-2022) (push) Waiting to run
65 lines
2.7 KiB
Makefile
65 lines
2.7 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/
|
|
CC ?= gcc
|
|
|
|
# you may need -L/usr/pkg/lib for older NetBSD versions
|
|
CFLAGS := -g -O2 -fno-strict-aliasing -c -pthread -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DFD_SETSIZE=4096 -DWITH_POLL $(CFLAGS)
|
|
COUT = -o
|
|
LN ?= $(CC)
|
|
LDFLAGS ?= -O2 -fno-strict-aliasing -pthread
|
|
# -lpthreads may be reuqired on some platforms instead of -pthreads
|
|
# -ldl or -lld may be required for some platforms
|
|
DCFLAGS ?= -fPIC
|
|
DLFLAGS ?= -shared
|
|
DLSUFFICS ?= .ld.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 -executable -delete) || true
|
|
TYPECOMMAND = cat
|
|
COMPATLIBS =
|
|
MAKEFILE = Makefile.unix
|
|
PLUGINS ?= StringsPlugin TrafficPlugin TransparentPlugin
|
|
OPENSSL_CHECK = $(shell echo "\#include <openssl/ssl.h>\\n int main(){return 0;}" | tr -d \\\\ | cc -x c $(CFLAGS) $(LDFLAGS) -l crypto -l ssl -o testssl - 2>/dev/null && rm testssl && echo true||echo false)
|
|
ifeq ($(OPENSSL_CHECK), true)
|
|
LIBS += -l crypto -l ssl
|
|
PLUGINS += SSLPlugin
|
|
endif
|
|
PAM_CHECK = $(shell echo "\#include <security/pam_appl.h>\\n int main(){return 0;}" | tr -d \\\\ | cc -x c $(CFLAGS) $(LDFLAGS) -l pam -o testpam - 2>/dev/null && rm testpam && echo true||echo false)
|
|
ifeq ($(PAM_CHECK), true)
|
|
PLUGINS += PamAuth
|
|
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) $(LDFLAGS) -l pcre2-8 -o testpcre - 2>/dev/null && rm testpcre && echo true||echo false)
|
|
ifeq ($(PCRE_CHECK), true)
|
|
PLUGINS += PCREPlugin
|
|
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/mycrypt /usr/local/3proxy/bin/mycrypt
|
|
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 /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
|
|
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
|