# # 3 proxy Makefile for GCC/Linux/Cygwin # # You can try to remove -DWITH_STD_MALLOC to CFLAGS to use optimized malloc # libraries # # remove -DNOODBC from CFLAGS and add -lodbc to LIBS to compile with ODBC # library support. Add -DSAFESQL for poorely written ODBC library / drivers. BUILDDIR = CC = gcc CFLAGS += -g -O2 -fno-strict-aliasing -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL COUT = -o LN = gcc DCFLAGS += -fpic LDFLAGS = -O2 -fno-strict-aliasing -pthread DLFLAGS = -shared DLSUFFICS = .ld.so # -lpthreads may be reuqired on some platforms instead of -pthreads LIBSPREFIX = -l LIBSSUFFIX = LNOUT = -o EXESUFFICS = OBJSUFFICS = .o DEFINEOPTION = -D COMPFILES = *~ REMOVECOMMAND = rm -f TYPECOMMAND = cat COMPATLIBS = MAKEFILE = Makefile.Linux # PamAuth requires libpam, you may require pam-devel package to be installed # SSLPlugin requires -lcrypto -lssl #LIBS = -lcrypto -lssl -ldl LIBS = -ldl #PLUGINS = SSLPlugin StringsPlugin TrafficPlugin PCREPlugin TransparentPlugin PamAuth PLUGINS = StringsPlugin TrafficPlugin PCREPlugin 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 = /usr/local exec_prefix = $(prefix) man_prefix = $(prefix)/share INSTALL = /usr/bin/install INSTALL_BIN = $(INSTALL) -m 755 INSTALL_DATA = $(INSTALL) -m 644 INSTALL_OBJS = src/3proxy \ src/dighosts \ src/ftppr \ src/mycrypt \ src/pop3p \ src/proxy \ src/socks \ src/tcppm \ src/udppm INSTALL_CFG_OBJS = scripts/3proxy.cfg \ scripts/add3proxyuser.sh INSTALL_CFG_DEST = config INSTALL_CFG_OBJS2 = passwd counters bandlimiters 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)$(prefix)/etc/3proxy install-bin: $(INSTALL_BIN) -d $(BINDIR) $(INSTALL_BIN) -s $(INSTALL_OBJS) $(BINDIR) install-etc-dir: $(INSTALL_BIN) -d $(ETCDIR) install-etc-default-config: if [ -f $(ETCDIR)/$(INSTALL_CFG_DEST) ]; then \ : ; \ else \ $(INSTALL_DATA) $(INSTALL_CFG_OBJS) $(ETCDIR)/$(INSTALL_CFG_DEST) \ fi install-etc: install-etc-dir for file in $(INSTALL_CFG_OBJS2); \ do \ touch $(ETCDIR)/$$file; chmod 0600 $(ETCDIR)/$$file; \ done; install-man: $(INSTALL_BIN) -d $(MANDIR3) $(INSTALL_BIN) -d $(MANDIR8) $(INSTALL_DATA) man/*.3 $(MANDIR3) $(INSTALL_DATA) man/*.8 $(MANDIR8) install: install-bin install-etc install-man