Makefile.llvm 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. #
  2. # 3 proxy Makefile for GCC/windows
  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
  9. BUILDDIR = ../bin/
  10. CC = clang
  11. CFLAGS = -O2 -fno-strict-aliasing -c -pthread -static -DWITH_STD_MALLOC -DNOIPV6
  12. COUT = -o
  13. LN = $(CC)
  14. LDFLAGS = -O2 -fno-strict-aliasing -static -s
  15. DLFLAGS = -shared
  16. DLSUFFICS = .dll
  17. LIBS = -lws2_32 -lodbc32 -ladvapi32
  18. LIBSPREFIX = -l
  19. LIBSSUFFIX =
  20. LNOUT = -o
  21. EXESUFFICS = .exe
  22. OBJSUFFICS = .o
  23. DEFINEOPTION = -D
  24. COMPFILES = *.tmp
  25. REMOVECOMMAND = rm -f
  26. AFTERCLEAN = find src/ -type f -name "*.o" -delete && find src/ -type f -name "Makefile.var" -delete && find bin/ -type f -executable -delete
  27. TYPECOMMAND = cat
  28. COMPATLIBS =
  29. MAKEFILE = Makefile.win
  30. PLUGINS = utf8tocp1251 WindowsAuthentication TrafficPlugin StringsPlugin PCREPlugin
  31. include Makefile.inc
  32. allplugins:
  33. for /D %%i in ($(PLUGINS)) do (copy Makefile plugins\%%i && copy Makefile.var plugins\%%i && cd plugins\%%i && nmake && del *.o &&cd ..\..)
  34. DESTDIR =
  35. prefix =
  36. exec_prefix = $(prefix)
  37. man_prefix = /usr/share
  38. chroot_prefix = /usr/local
  39. INSTALL = /usr/bin/install
  40. INSTALL_BIN = $(INSTALL) -m 755
  41. INSTALL_DATA = $(INSTALL) -m 644
  42. INSTALL_OBJS = bin/3proxy \
  43. bin/ftppr \
  44. bin/mycrypt \
  45. bin/pop3p \
  46. bin/proxy \
  47. bin/socks \
  48. bin/tcppm \
  49. bin/udppm
  50. INSTALL_CFG = scripts/3proxy.cfg.chroot
  51. INSTALL_CFG_OBJS = scripts/3proxy.cfg \
  52. scripts/add3proxyuser.sh
  53. INSTALL_CFG_OBJS2 = counters bandlimiters
  54. INSTALL_INITD_SCRIPT = scripts/init.d/3proxy.sh
  55. INSTALL_SYSTEMD_SCRIPT = scripts/3proxy.service
  56. CHROOTDIR = $(DESTDIR)$(chroot_prefix)/3proxy
  57. CHROOTREL = ../..$(chroot_prefix)/3proxy
  58. MANDIR1 = $(DESTDIR)$(man_prefix)/man/man1
  59. MANDIR3 = $(DESTDIR)$(man_prefix)/man/man3
  60. MANDIR8 = $(DESTDIR)$(man_prefix)/man/man8
  61. BINDIR = $(DESTDIR)$(exec_prefix)/bin
  62. ETCDIR = $(DESTDIR)/etc/3proxy
  63. INITDDIR = $(DESTDIR)/etc/init.d
  64. RUNBASE = $(DESTDIR)/var/run
  65. RUNDIR = $(RUNBASE)/3proxy
  66. LOGBASE = $(DESTDIR)/var/log
  67. LOGDIR = $(LOGBASE)/3proxy
  68. INSTALL_CFG_DEST = $(ETCDIR)/conf
  69. SYSTEMDDIR = $(DESTDIR)/usr/lib/systemd/system/
  70. install-bin:
  71. $(INSTALL_BIN) -d $(BINDIR)
  72. $(INSTALL_BIN) -s $(INSTALL_OBJS) $(BINDIR)
  73. $(INSTALL_BIN) -s bin/*.ld.so $(CHROOTDIR)/libexec
  74. chmod -R a-w $(CHROOTDIR)/libexec
  75. install-etc-dir:
  76. $(INSTALL_BIN) -d $(ETCDIR)
  77. install-chroot-dir:
  78. $(INSTALL_BIN) -d $(CHROOTDIR)
  79. $(INSTALL_BIN) -d $(CHROOTDIR)/conf
  80. $(INSTALL_BIN) -d $(CHROOTDIR)/logs
  81. $(INSTALL_BIN) -d $(CHROOTDIR)/count
  82. $(INSTALL_BIN) -d $(CHROOTDIR)/libexec
  83. chmod -R o-rwx $(CHROOTDIR)
  84. install-etc-default-config:
  85. if [ ! -d $(INSTALL_CFG_DEST) ]; then \
  86. ln -s $(CHROOTREL)/conf $(INSTALL_CFG_DEST); \
  87. $(INSTALL_BIN) $(INSTALL_CFG) $(ETCDIR)/3proxy.cfg; \
  88. $(INSTALL_BIN) $(INSTALL_CFG_OBJS) $(INSTALL_CFG_DEST); \
  89. fi
  90. install-etc: install-etc-dir install-etc-default-config
  91. for file in $(INSTALL_CFG_OBJS2); \
  92. do \
  93. touch $(INSTALL_CFG_DEST)/$$file; chmod 0600 $(INSTALL_CFG_DEST)/$$file; \
  94. done;
  95. install-man:
  96. $(INSTALL_BIN) -d $(MANDIR3)
  97. $(INSTALL_BIN) -d $(MANDIR8)
  98. $(INSTALL_DATA) man/*.3 $(MANDIR3)
  99. $(INSTALL_DATA) man/*.8 $(MANDIR8)
  100. install-init:
  101. $(INSTALL_BIN) -d $(INITDDIR)
  102. $(INSTALL_BIN) $(INSTALL_INITD_SCRIPT) $(INITDDIR)/3proxy
  103. $(INSTALL_BIN) -d $(SYSTEMDDIR)
  104. $(INSTALL_DATA) $(INSTALL_SYSTEMD_SCRIPT) $(SYSTEMDDIR)
  105. install-run:
  106. $(INSTALL_BIN) -d $(RUNDIR)
  107. install-log:
  108. $(INSTALL_BIN) -d $(LOGBASE)
  109. @if [ ! -d $(LOGDIR) ]; then \
  110. ln -s $(CHROOTREL)/logs $(LOGDIR);\
  111. fi
  112. install: install-chroot-dir install-bin install-etc install-log install-man install-run install-init
  113. @if [ "$(DESTDIR)" = "" ]; then \
  114. sh scripts/postinst; \
  115. fi