Makefile
上传用户:ladybrid91
上传日期:2007-01-04
资源大小:287k
文件大小:10k
源码类别:

Web服务器

开发平台:

Unix_Linux

  1. # Top level makefile for phttpd
  2. #
  3. # This program is free software; you can redistribute it and/or modify
  4. # it under the terms of the GNU General Public License as published by
  5. # the Free Software Foundation; either version 2 of the License, or
  6. # (at your option) any later version.
  7. #
  8. # This program is distributed in the hope that it will be useful,
  9. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11. # GNU General Public License for more details.
  12. # You should have received a copy of the GNU General Public License
  13. # along with this program; if not, write to the Free Software
  14. # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  15. ##
  16. ## Where all files are to be installed/located
  17. ##
  18. INSTROOT  = /opt/phttpd
  19. DOINSTROOT  = /opt/phttpd
  20. #DOINSTROOT  = ../in/opt/phttpd
  21. ##
  22. ## Which Make to use
  23. ##
  24. MAKE = make
  25. ##
  26. ## Common C compiler flags for all compilers.
  27. ##
  28. ## Add "-DUNIXWARE" if compiling under UnixWare.
  29. ##
  30. ## Add "-DHAVE_VSNPRINTF" if your Unix have the __vsnprintf() function.
  31. ## (Solaris 2.5.1 does)
  32. #
  33. #COMCFLAGS = -DINSTROOT='"'$(INSTROOT)'"' -DINCLUDE_ALLOC_STATS -DUSE_RK_ADDONS
  34. COMCFLAGS = -DINSTROOT='"'$(INSTROOT)'"' -DUSE_RK_ADDONS
  35. ##
  36. ## Uncomment this to link with the Electric Fence malloc debugger
  37. ## (an MT-Safe version is available by FTP from ftp.lysator.liu.se in
  38. ##  the directory pub/libraries)
  39. ##
  40. # LIBEFENCE = -L/opt/gnu/lib -lefence
  41. ##
  42. ## Sun/Solaris - Gnu CC
  43. ##
  44. ## Add "-msupersparc" to CFLAGS if compiling for a SuperSPARC machine.
  45. ##
  46. CC        = gcc -Wall
  47. CFLAGS    = -g -O2 $(COMCFLAGS) -DUSE_GETDENTS -DUI_THREADS
  48. LIBCFLAGS = -fpic
  49. XOBJS     = solaris.o
  50. LIBS      = -lmalloc -lpthread -lsocket -lnsl -ldl 
  51. MODLD    = /usr/ccs/bin/ld -s -G -z text
  52. ##
  53. ## Sun/Solaris - SparcWorks C
  54. ##
  55. #CC        = cc
  56. #CFLAGS    = -g -O -fast $(COMCFLAGS) -DUSE_GETDENTS -DUI_THREADS
  57. #LIBCFLAGS = -Kpic
  58. #XOBJS     = solaris.o
  59. #LIBS      = -lthread -lnsl -lsocket -ldl
  60. #MODLD    = /usr/ccs/bin/ld -G -z text
  61. ##
  62. ## Sun/Solaris - Apogee C
  63. ##
  64. #CC        = apcc
  65. #CFLAGS    = -g -O $(COMCFLAGS) -DUSE_GETDENTS -DUI_THREADS
  66. #LIBCFLAGS = -pic
  67. #XOBJS     = solaris.o
  68. #LIBS      = -lthread -lnsl -lsocket -ldl
  69. #MODLD    = /usr/ccs/bin/ld -G -z text
  70. ##
  71. ## UnixWare - Gnu CC
  72. ##
  73. #CC        = gcc -Wall
  74. #CFLAGS    = -g -O $(COMCFLAGS) -DUSE_GETDENTS -DUI_THREADS
  75. #LIBCFLAGS = -fpic
  76. #XOBJS    =  unixware.o
  77. #LIBS      = -lthread -lnsl -lsocket -ldl
  78. #MODLD    = /usr/ccs/bin/ld -G -z text
  79. ##
  80. ## Digital Unix 4.0 - cc
  81. ##
  82. #CC      = cc -pthread
  83. #CFLAGS  = -I../spilt -O $(COMCFLAGS) 
  84. #LIBCFLAGS =
  85. #XOBJS = spilt_thread.o osf.o
  86. #LIBS    = -lpthread
  87. #MODLD = ld -shared -expect_unresolved '*'
  88.  
  89. ##
  90. ## IRIX 5.3 - pgcc
  91. ##
  92. # CC     = pgcc -Wall
  93. # CFLAGS    = -I../spilt -O $(COMCFLAGS) -I/usr/local/pthreads/include -g  -D_SGI_MP_SOURCE -D_SGI_REENTRANT_FUNCTIONS 
  94. # LIBCFLAGS = 
  95. # XOBJS     = spilt_thread.o irix.o hackpthreads.o
  96. # LIBS      = -lpthread -ldl
  97. ##
  98. ## IRIX 6.2 - cc
  99. ##
  100. # CC     = cc
  101. # CFLAGS    = -I../spilt -O $(COMCFLAGS) -D_SGI_MP_SOURCE -D_SGI_REENTRANT_FUNCTIONS -Wl,-woff,85
  102. # LIBCFLAGS =
  103. # XOBJS     = spilt_thread.o irix.o hackpthreads.o
  104. # LIBS      = -lpthread -ldl
  105. INSTALL   = /usr/ucb/install
  106. TAR       = tar
  107. ##### You should not have to modify anything below this line ###############
  108. all: phttpd modules ackpfd utils ptester dhttpd tests
  109. install.all: install install.conf install.etc install.header
  110. install: install.bin install.doc install.icons
  111. install.srv: phttpd
  112. @$(INSTALL) -d -m 0755 $(DOINSTROOT)/sbin
  113. $(INSTALL) -c -m 0755 src/phttpd/phttpd $(DOINSTROOT)/sbin
  114. install.modules: modules
  115. @$(INSTALL) -d -m 0755 $(DOINSTROOT)/modules
  116. $(INSTALL) -c -m 0755 src/modules/*.so $(DOINSTROOT)/modules
  117. install.bin: install.srv install.modules ackpfd utils ptester dhttpd
  118. @$(INSTALL) -d -m 0755 $(DOINSTROOT)/bin
  119. $(INSTALL) -c -m 0755 src/ackpfd/ackpfd $(DOINSTROOT)/sbin
  120. $(INSTALL) -c -m 0755 src/dhttpd/dhttpd $(DOINSTROOT)/sbin
  121. $(INSTALL) -c -m 0755 src/ptester/ptester $(DOINSTROOT)/bin
  122. $(INSTALL) -c -m 0755 src/utils/logcvt-ip2n $(DOINSTROOT)/bin
  123. $(INSTALL) -c -m 0755 src/utils/htmlencode $(DOINSTROOT)/bin
  124. $(INSTALL) -c -m 0755 src/utils/httpdecode $(DOINSTROOT)/bin
  125. $(INSTALL) -c -m 0755 etc/rotate.logs $(DOINSTROOT)/bin
  126. # $(INSTALL) -c -m 0644 etc/purify.options $(DOINSTROOT)/bin/.purify
  127. # $(INSTALL) -c -m 0644 etc/purify.options $(DOINSTROOT)/sbin/.purify
  128. install.header:
  129. @$(INSTALL) -d -m 0755 $(DOINSTROOT)/include
  130. @$(INSTALL) -d -m 0755 $(DOINSTROOT)/include/phttpd
  131. @$(INSTALL) -d -m 0755 $(DOINSTROOT)/include/modules
  132. $(INSTALL) -c -m 0755 src/phttpd.h $(DOINSTROOT)/include
  133. $(INSTALL) -c -m 0755 src/phttpd/auth.h $(DOINSTROOT)/include/phhtpd
  134. $(INSTALL) -c -m 0755 src/phttpd/autofail.h $(DOINSTROOT)/include/phhtpd
  135. $(INSTALL) -c -m 0755 src/phttpd/cache.h $(DOINSTROOT)/include/phhtpd
  136. $(INSTALL) -c -m 0755 src/phttpd/config.h $(DOINSTROOT)/include/phhtpd
  137. $(INSTALL) -c -m 0755 src/phttpd/connection.h $(DOINSTROOT)/include/phhtpd
  138. $(INSTALL) -c -m 0755 src/phttpd/dns.h $(DOINSTROOT)/include/phhtpd
  139. $(INSTALL) -c -m 0755 src/phttpd/error.h $(DOINSTROOT)/include/phhtpd
  140. $(INSTALL) -c -m 0755 src/phttpd/fdstdio.h $(DOINSTROOT)/include/phhtpd
  141. $(INSTALL) -c -m 0755 src/phttpd/fscache.h $(DOINSTROOT)/include/phhtpd
  142. $(INSTALL) -c -m 0755 src/phttpd/globals.h $(DOINSTROOT)/include/phhtpd
  143. $(INSTALL) -c -m 0755 src/phttpd/hashtable.h $(DOINSTROOT)/include/phhtpd
  144. $(INSTALL) -c -m 0755 src/phttpd/hostcache.h $(DOINSTROOT)/include/phhtpd
  145. $(INSTALL) -c -m 0755 src/phttpd/html.h $(DOINSTROOT)/include/phhtpd
  146. $(INSTALL) -c -m 0755 src/phttpd/http.h $(DOINSTROOT)/include/phhtpd
  147. $(INSTALL) -c -m 0755 src/phttpd/ident.h $(DOINSTROOT)/include/phhtpd
  148. $(INSTALL) -c -m 0755 src/phttpd/logger.h $(DOINSTROOT)/include/phhtpd
  149. $(INSTALL) -c -m 0755 src/phttpd/macros.h $(DOINSTROOT)/include/phhtpd
  150. $(INSTALL) -c -m 0755 src/phttpd/mime.h $(DOINSTROOT)/include/phhtpd
  151. $(INSTALL) -c -m 0755 src/phttpd/modules.h $(DOINSTROOT)/include/phhtpd
  152. $(INSTALL) -c -m 0755 src/phttpd/multi.h $(DOINSTROOT)/include/phhtpd
  153. $(INSTALL) -c -m 0755 src/phttpd/process.h $(DOINSTROOT)/include/phhtpd
  154. $(INSTALL) -c -m 0755 src/phttpd/readdir.h $(DOINSTROOT)/include/phhtpd
  155. $(INSTALL) -c -m 0755 src/phttpd/safeio.h $(DOINSTROOT)/include/phhtpd
  156. $(INSTALL) -c -m 0755 src/phttpd/server.h $(DOINSTROOT)/include/phhtpd
  157. $(INSTALL) -c -m 0755 src/phttpd/signals.h $(DOINSTROOT)/include/phhtpd
  158. $(INSTALL) -c -m 0755 src/phttpd/strutils.h $(DOINSTROOT)/include/phhtpd
  159. $(INSTALL) -c -m 0755 src/phttpd/table.h $(DOINSTROOT)/include/phhtpd
  160. $(INSTALL) -c -m 0755 src/phttpd/url.h $(DOINSTROOT)/include/phhtpd
  161. $(INSTALL) -c -m 0755 src/phttpd/urlcache.h $(DOINSTROOT)/include/phhtpd
  162. $(INSTALL) -c -m 0755 src/phttpd/usercache.h $(DOINSTROOT)/include/phhtpd
  163. $(INSTALL) -c -m 0755 src/phttpd/util.h $(DOINSTROOT)/include/phhtpd
  164. install.demo:
  165. @$(INSTALL) -d -m 0755 $(DOINSTROOT)/demo
  166. @$(INSTALL) -d -m 0755 $(DOINSTROOT)/demo/src
  167. @$(INSTALL) -d -m 0755 $(DOINSTROOT)/demo/src/modules
  168. $(INSTALL) -c -m 0755 src/modules/demo.c $(DOINSTROOT)/demo/src/modules
  169. $(INSTALL) -c -m 0755 src/modules/Makefile.demo $(DOINSTROOT)/demo/src/modules
  170. install.conf:
  171. @$(INSTALL) -d -m 0755 $(DOINSTROOT)/modules
  172. @$(INSTALL) -d -m 0755 $(DOINSTROOT)/etc
  173. $(INSTALL) -m 0755 config/modules/*.conf $(DOINSTROOT)/modules
  174. $(INSTALL) -c -m 0644 config/phttpd.conf $(DOINSTROOT)/etc
  175. install.doc:
  176. @$(INSTALL) -d -m 0755 $(DOINSTROOT)/db
  177. @$(INSTALL) -d -m 0755 $(DOINSTROOT)/db/phttpd
  178. @$(INSTALL) -d -m 0755 $(DOINSTROOT)/db/phttpd/doc
  179. @$(INSTALL) -d -m 0755 $(DOINSTROOT)/db/phttpd/doc/user
  180. @$(INSTALL) -d -m 0755 $(DOINSTROOT)/db/phttpd/doc/admin
  181. @$(INSTALL) -d -m 0755 $(DOINSTROOT)/db/phttpd/examples
  182. $(INSTALL) -c -m 0644 doc/phttpd/*.html $(DOINSTROOT)/db/phttpd
  183. $(INSTALL) -c -m 0644 doc/phttpd/*.gif $(DOINSTROOT)/db/phttpd
  184. $(INSTALL) -c -m 0644 examples/*.shtml $(DOINSTROOT)/db/phttpd/examples
  185. $(INSTALL) -c -m 0644 examples/*.map $(DOINSTROOT)/db/phttpd/examples
  186. $(INSTALL) -c -m 0644 examples/*.txt $(DOINSTROOT)/db/phttpd/examples
  187. $(INSTALL) -c -m 0644 examples/*.acl $(DOINSTROOT)/db/phttpd/examples
  188. $(INSTALL) -c -m 0755 examples/*.cgi $(DOINSTROOT)/db/phttpd/examples
  189. rm -fr $(DOINSTROOT)/db/phttpd/doc/admin
  190. cp -r doc/admin $(DOINSTROOT)/db/phttpd/doc
  191. rm -fr $(DOINSTROOT)/db/phttpd/doc/user
  192. cp -r doc/user $(DOINSTROOT)/db/phttpd/doc
  193. install.icons:
  194. @$(INSTALL) -d -m 0755 $(DOINSTROOT)/db
  195. @$(INSTALL) -d -m 0755 $(DOINSTROOT)/db/icons
  196. $(INSTALL) -c -m 0644 icons/* $(DOINSTROOT)/db/icons
  197. install.etc:
  198. @if [ `id | awk '{print index($$1, "root")}'` -eq 0 ]; then 
  199. echo "Seeing as you aren't root I shall not install /etc/init.d/phttpd" ; 
  200. else 
  201. $(INSTALL) -c -m 0755 etc/phttpd.init /etc/init.d/phttpd ; 
  202. fi
  203. #
  204. phttpd:
  205. @(cd src/phttpd ; $(MAKE) all CC="$(CC)" CFLAGS="$(CFLAGS) -D_REENTRANT -I.." LIBS="$(LIBS) $(LIBEFENCE)" XOBJS="$(XOBJS)")
  206. modules:
  207. @(cd src/modules ; $(MAKE) all CC="$(CC)" CFLAGS="$(LIBCFLAGS) $(CFLAGS) -D_REENTRANT -I.." LINKER="$(MODLD)" LIBS="$(LIBS) $(LIBEFENCE)")
  208. ackpfd:
  209. @(cd src/ackpfd ; $(MAKE) all CC="$(CC)" CFLAGS="$(CFLAGS)" LIBS="$(LIBS) $(LIBEFENCE)")
  210. utils:
  211. @(cd src/utils ; $(MAKE) all CC="$(CC)" CFLAGS="$(CFLAGS)" LIBS="$(LIBS) $(LIBEFENCE)")
  212. ptester:
  213. @(cd src/ptester ; $(MAKE) all CC="$(CC)" CFLAGS="$(CFLAGS) -D_REENTRANT -I.." LIBS="$(LIBS) $(LIBEFENCE)")
  214. dhttpd:
  215. @(cd src/dhttpd ; $(MAKE) all CC="$(CC)" CFLAGS="$(CFLAGS) -D_REENTRANT -I.." LIBS="$(LIBS) $(LIBEFENCE)")
  216. tests:
  217. @(cd src/tests ; $(MAKE) all CC="$(CC)" CFLAGS="$(CFLAGS) -D_REENTRANT -I.." LIBS="$(LIBS) $(LIBEFENCE)")
  218. #
  219. clean:
  220. @echo "Cleaning up..."
  221. @find . '(' -name '*~' -o -name 'core' -o -name '.nfs*' -o -name '%*' -o -name '#*' ')' -print -exec rm -f {} ;
  222. @(cd src/phttpd ; $(MAKE) clean)
  223. @(cd src/ackpfd ; $(MAKE) clean)
  224. @(cd src/modules ; $(MAKE) clean)
  225. @(cd src/tests ; $(MAKE) clean)
  226. @(cd src/utils ; $(MAKE) clean)
  227. @(cd src/ptester ; $(MAKE) clean)
  228. @(cd src/dhttpd ; $(MAKE) clean)
  229. #
  230. version:
  231. (PACKNAME=`basename `pwd`` ; echo 'char server_version[] = "'`echo $$PACKNAME | cut -d- -f2`'";' >src/phttpd/version.c)
  232. #
  233. dist: clean version
  234. (PACKNAME=`basename `pwd`` ; cd .. ; $(TAR) cf - $$PACKNAME | gzip -9 >$$PACKNAME.tar.gz)
  235. #
  236. upload: dist
  237. (PACKNAME=`basename `pwd`` ; scp ../$$PACKNAME.tar.gz ChangeLog pen@sparky.signum.se:/usr/local/ftp/pub/phttpd)
  238. #
  239. # DO NOT DELETE THIS LINE -- make depend depends on it.