mirror of
https://github.com/3proxy/3proxy.git
synced 2025-02-23 02:25:40 +08:00
141 lines
3.9 KiB
Makefile
141 lines
3.9 KiB
Makefile
#
|
|
# 3 proxy Makefile for GCC/Unix
|
|
#
|
|
# You can try to remove -DWITH_STD_MALLOC to CFLAGS to use optimized malloc
|
|
# libraries
|
|
#
|
|
# 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 -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL
|
|
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 src/ -type f -name "*.o" -delete && find src/ -type f -name "Makefile.var" -delete && find bin/ -type f -executable -delete
|
|
TYPECOMMAND = cat
|
|
COMPATLIBS =
|
|
MAKEFILE = Makefile.unix
|
|
PLUGINS = StringsPlugin TrafficPlugin PCREPlugin PamAuth TransparentPlugin
|
|
|
|
include Makefile.inc
|
|
|
|
allplugins:
|
|
@list='$(PLUGINS)'; for p in $$list; do cp Makefile Makefile.var plugins/$$p; cd plugins/$$p ; make ; cd ../.. ; done
|
|
|
|
DESTDIR =
|
|
prefix =
|
|
exec_prefix = $(prefix)
|
|
man_prefix = /usr/share
|
|
chroot_prefix = /usr/local
|
|
|
|
INSTALL = /usr/bin/install
|
|
INSTALL_BIN = $(INSTALL) -m 755
|
|
INSTALL_DATA = $(INSTALL) -m 644
|
|
INSTALL_OBJS = bin/3proxy \
|
|
bin/ftppr \
|
|
bin/mycrypt \
|
|
bin/pop3p \
|
|
bin/proxy \
|
|
bin/socks \
|
|
bin/tcppm \
|
|
bin/udppm
|
|
|
|
|
|
INSTALL_CFG = scripts/3proxy.cfg.chroot
|
|
INSTALL_CFG_OBJS = scripts/3proxy.cfg \
|
|
scripts/add3proxyuser.sh
|
|
|
|
INSTALL_CFG_OBJS2 = counters bandlimiters
|
|
|
|
INSTALL_INITD_SCRIPT = scripts/init.d/3proxy.sh
|
|
INSTALL_SYSTEMD_SCRIPT = scripts/3proxy.service
|
|
|
|
CHROOTDIR = $(DESTDIR)$(chroot_prefix)/3proxy
|
|
CHROOTREL = ../..$(chroot_prefix)/3proxy
|
|
MANDIR1 = $(DESTDIR)$(man_prefix)/man/man1
|
|
MANDIR3 = $(DESTDIR)$(man_prefix)/man/man3
|
|
MANDIR8 = $(DESTDIR)$(man_prefix)/man/man8
|
|
BINDIR = $(DESTDIR)$(exec_prefix)/bin
|
|
ETCDIR = $(DESTDIR)/etc/3proxy
|
|
INITDDIR = $(DESTDIR)/etc/init.d
|
|
RUNBASE = $(DESTDIR)/var/run
|
|
RUNDIR = $(RUNBASE)/3proxy
|
|
LOGBASE = $(DESTDIR)/var/log
|
|
LOGDIR = $(LOGBASE)/3proxy
|
|
INSTALL_CFG_DEST = $(ETCDIR)/conf
|
|
SYSTEMDDIR = $(DESTDIR)/usr/lib/systemd/system/
|
|
|
|
install-bin:
|
|
$(INSTALL_BIN) -d $(BINDIR)
|
|
$(INSTALL_BIN) -s $(INSTALL_OBJS) $(BINDIR)
|
|
$(INSTALL_BIN) -s bin/*.ld.so $(CHROOTDIR)/libexec
|
|
chmod -R a-w $(CHROOTDIR)/libexec
|
|
|
|
install-etc-dir:
|
|
$(INSTALL_BIN) -d $(ETCDIR)
|
|
|
|
install-chroot-dir:
|
|
$(INSTALL_BIN) -d $(CHROOTDIR)
|
|
$(INSTALL_BIN) -d $(CHROOTDIR)/conf
|
|
$(INSTALL_BIN) -d $(CHROOTDIR)/logs
|
|
$(INSTALL_BIN) -d $(CHROOTDIR)/count
|
|
$(INSTALL_BIN) -d $(CHROOTDIR)/libexec
|
|
chmod -R o-rwx $(CHROOTDIR)
|
|
|
|
install-etc-default-config:
|
|
if [ ! -d $(INSTALL_CFG_DEST) ]; then \
|
|
ln -s $(CHROOTREL)/conf $(INSTALL_CFG_DEST); \
|
|
$(INSTALL_BIN) $(INSTALL_CFG) $(ETCDIR)/3proxy.cfg; \
|
|
$(INSTALL_BIN) $(INSTALL_CFG_OBJS) $(INSTALL_CFG_DEST); \
|
|
fi
|
|
|
|
install-etc: install-etc-dir install-etc-default-config
|
|
for file in $(INSTALL_CFG_OBJS2); \
|
|
do \
|
|
touch $(INSTALL_CFG_DEST)/$$file; chmod 0600 $(INSTALL_CFG_DEST)/$$file; \
|
|
done;
|
|
|
|
install-man:
|
|
$(INSTALL_BIN) -d $(MANDIR3)
|
|
$(INSTALL_BIN) -d $(MANDIR8)
|
|
$(INSTALL_DATA) man/*.3 $(MANDIR3)
|
|
$(INSTALL_DATA) man/*.8 $(MANDIR8)
|
|
|
|
install-init:
|
|
$(INSTALL_BIN) -d $(INITDDIR)
|
|
$(INSTALL_BIN) $(INSTALL_INITD_SCRIPT) $(INITDDIR)/3proxy
|
|
$(INSTALL_BIN) -d $(SYSTEMDDIR)
|
|
$(INSTALL_DATA) $(INSTALL_SYSTEMD_SCRIPT) $(SYSTEMDDIR)
|
|
|
|
install-run:
|
|
$(INSTALL_BIN) -d $(RUNDIR)
|
|
|
|
install-log:
|
|
$(INSTALL_BIN) -d $(LOGBASE)
|
|
@if [ ! -d $(LOGDIR) ]; then \
|
|
ln -s $(CHROOTREL)/logs $(LOGDIR);\
|
|
fi
|
|
|
|
install: install-chroot-dir install-bin install-etc install-log install-man install-run install-init
|
|
@if [ "$(DESTDIR)" = "" ]; then \
|
|
sh scripts/postinst; \
|
|
fi
|