Makefile.Linux 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. #
  2. # 3 proxy Makefile for GCC/Linux/Cygwin
  3. #
  4. # You can try to remove -DWITH_STD_MALLOC to CFLAGS to use optimized malloc
  5. # libraries
  6. #
  7. # remove -DNOODBC from CFLAGS and add -lodbc to LDFLAGS to compile with ODBC
  8. # library support. Add -DSAFESQL for poorely written ODBC library / drivers.
  9. BUILDDIR =
  10. CC = gcc
  11. CFLAGS = -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL
  12. COUT = -o
  13. LN = gcc
  14. DCFLAGS = -fpic
  15. LDFLAGS = -Wall -O2 -pthread
  16. DLFLAGS = -shared
  17. DLSUFFICS = .ld.so
  18. # -lpthreads may be reuqired on some platforms instead of -pthreads
  19. LIBS = -lcrypto -lssl -ldl
  20. LNOUT = -o
  21. EXESUFFICS =
  22. OBJSUFFICS = .o
  23. DEFINEOPTION = -D
  24. COMPFILES = *~
  25. REMOVECOMMAND = rm -f
  26. TYPECOMMAND = cat
  27. COMPATLIBS =
  28. MAKEFILE = Makefile.Linux
  29. PLUGINS = SSLPlugin StringsPlugin TrafficPlugin PCREPlugin TransparentPlugin
  30. include Makefile.inc
  31. allplugins:
  32. @list='$(PLUGINS)'; for p in $$list; do cp Makefile Makefile.var plugins/$$p; cd plugins/$$p ; make ; cd ../.. ; done
  33. DESTDIR =
  34. prefix = /usr/local
  35. exec_prefix = $(prefix)
  36. man_prefix = $(prefix)/share
  37. INSTALL = /usr/bin/install
  38. INSTALL_BIN = $(INSTALL) -m 755
  39. INSTALL_DATA = $(INSTALL) -m 644
  40. INSTALL_OBJS = src/3proxy \
  41. src/countersutil \
  42. src/dighosts \
  43. src/ftppr \
  44. src/mycrypt \
  45. src/pop3p \
  46. src/proxy \
  47. src/socks \
  48. src/tcppm \
  49. src/udppm
  50. INSTALL_CFG_OBJS = scripts/3proxy.cfg \
  51. scripts/add3proxyuser.sh
  52. INSTALL_CFG_DEST = config
  53. INSTALL_CFG_OBJS2 = passwd counters bandlimiters
  54. MANDIR1 = $(DESTDIR)$(man_prefix)/man/man1
  55. MANDIR3 = $(DESTDIR)$(man_prefix)/man/man3
  56. MANDIR8 = $(DESTDIR)$(man_prefix)/man/man8
  57. BINDIR = $(DESTDIR)$(exec_prefix)/bin
  58. ETCDIR = $(DESTDIR)$(prefix)/etc/3proxy
  59. install-bin:
  60. $(INSTALL_BIN) -d $(BINDIR)
  61. $(INSTALL_BIN) -s $(INSTALL_OBJS) $(BINDIR)
  62. install-etc-dir:
  63. $(INSTALL_BIN) -d $(ETCDIR)
  64. install-etc-default-config:
  65. if [ -f $(ETCDIR)/$(INSTALL_CFG_DEST) ]; then \
  66. : ; \
  67. else \
  68. $(INSTALL_DATA) $(INSTALL_CFG_OBJS) $(ETCDIR)/$(INSTALL_CFG_DEST) \
  69. fi
  70. install-etc: install-etc-dir
  71. for file in $(INSTALL_CFG_OBJS2); \
  72. do \
  73. touch $(ETCDIR)/$$file; chmod 0600 $(ETCDIR)/$$file; \
  74. done;
  75. install-man:
  76. $(INSTALL_BIN) -d $(MANDIR3)
  77. $(INSTALL_BIN) -d $(MANDIR8)
  78. $(INSTALL_DATA) man/*.3 $(MANDIR3)
  79. $(INSTALL_DATA) man/*.8 $(MANDIR8)
  80. install: install-bin install-etc install-man