Makefile.in 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. SUBDIRS = srclib os server modules support
  2. CLEAN_SUBDIRS = test
  3. PROGRAM_NAME = $(progname)
  4. PROGRAM_SOURCES = modules.c
  5. PROGRAM_LDADD = buildmark.o $(HTTPD_LDFLAGS) $(PROGRAM_DEPENDENCIES) $(EXTRA_LIBS) $(AP_LIBS) $(LIBS)
  6. PROGRAM_PRELINK = $(COMPILE) -c $(top_srcdir)/server/buildmark.c
  7. PROGRAM_DEPENDENCIES = \
  8. server/libmain.la \
  9. $(BUILTIN_LIBS) \
  10. $(MPM_LIB) \
  11. os/$(OS_DIR)/libos.la
  12. PROGRAMS = $(PROGRAM_NAME)
  13. TARGETS = $(PROGRAMS) $(shared_build) $(other_targets)
  14. INSTALL_TARGETS = install-conf install-htdocs install-error install-icons \
  15. install-other install-cgi install-include install-suexec install-build \
  16. install-man
  17. DISTCLEAN_TARGETS = include/ap_config_auto.h include/ap_config_layout.h \
  18. modules.c config.cache config.log config.status build/config_vars.mk \
  19. build/rules.mk docs/conf/httpd.conf docs/conf/extra/*.conf shlibtool \
  20. build/pkg/pkginfo build/config_vars.sh
  21. EXTRACLEAN_TARGETS = configure include/ap_config_auto.h.in generated_lists \
  22. httpd.spec
  23. include $(top_builddir)/build/rules.mk
  24. include $(top_srcdir)/build/program.mk
  25. install-conf:
  26. @echo Installing configuration files
  27. @$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir) $(DESTDIR)$(sysconfdir)/extra
  28. @$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/original/extra
  29. @cd $(top_srcdir)/docs/conf; \
  30. for i in mime.types magic; do \
  31. if test ! -f $(DESTDIR)$(sysconfdir)/$$i; then \
  32. $(INSTALL_DATA) $$i $(DESTDIR)$(sysconfdir); \
  33. fi; \
  34. done; \
  35. for j in $(top_srcdir)/docs/conf $(top_builddir)/docs/conf ; do \
  36. cd $$j ; \
  37. for i in httpd.conf extra/httpd-*.conf; do \
  38. if [ -f $$i ] ; then \
  39. ( \
  40. n_lm=`awk 'BEGIN {n=0} /@@LoadModule@@/ {n+=1} END {print n}' < $$i`; \
  41. if test $$n_lm -eq 0 -o "x$(DSO_MODULES)" = "x"; then \
  42. sed -e 's#@@ServerRoot@@#$(prefix)#g' \
  43. -e 's#@@Port@@#$(PORT)#g' \
  44. -e 's#@@SSLPort@@#$(SSLPORT)#g' \
  45. -e '/@@LoadModule@@/d' \
  46. < $$i; \
  47. else \
  48. sed -n -e '/@@LoadModule@@/q' \
  49. -e 's#@@ServerRoot@@#$(prefix)#g' \
  50. -e 's#@@Port@@#$(PORT)#g' \
  51. -e 's#@@SSLPort@@#$(SSLPORT)#g' \
  52. -e 'p' \
  53. < $$i; \
  54. for j in $(DSO_MODULES) "^EOL^"; do \
  55. if test $$j != "^EOL^"; then \
  56. echo "LoadModule $${j}_module $(rel_libexecdir)/mod_$${j}.so"; \
  57. fi; \
  58. done; \
  59. sed -e '1,/@@LoadModule@@/d' \
  60. -e '/@@LoadModule@@/d' \
  61. -e 's#@@ServerRoot@@#$(prefix)#g' \
  62. -e 's#@@Port@@#$(PORT)#g' \
  63. -e 's#@@SSLPort@@#$(SSLPORT)#g' \
  64. < $$i; \
  65. fi \
  66. ) > $(DESTDIR)$(sysconfdir)/original/$$i; \
  67. chmod 0644 $(DESTDIR)$(sysconfdir)/original/$$i; \
  68. file=$$i; \
  69. if [ "$$i" = "httpd.conf" ]; then \
  70. file=`echo $$i|sed s/.*.conf/$(PROGRAM_NAME).conf/`; \
  71. fi; \
  72. if test ! -f $(DESTDIR)$(sysconfdir)/$$file; then \
  73. $(INSTALL_DATA) $(DESTDIR)$(sysconfdir)/original/$$i $(DESTDIR)$(sysconfdir)/$$file; \
  74. fi; \
  75. fi; \
  76. done ; \
  77. done ; \
  78. if test -f "$(builddir)/envvars-std"; then \
  79. cp -p envvars-std $(DESTDIR)$(sbindir); \
  80. if test ! -f $(DESTDIR)$(sbindir)/envvars; then \
  81. cp -p envvars-std $(DESTDIR)$(sbindir)/envvars ; \
  82. fi ; \
  83. fi
  84. # Create a sanitized config_vars.mk
  85. build/config_vars.out: build/config_vars.mk
  86. @$(SHELL) build/config_vars.sh < build/config_vars.mk > build/config_vars.out
  87. install-build: build/config_vars.out
  88. @echo Installing build system files
  89. @$(MKINSTALLDIRS) $(DESTDIR)$(installbuilddir)
  90. @for f in $(top_srcdir)/build/*.mk build/*.mk; do \
  91. $(INSTALL_DATA) $$f $(DESTDIR)$(installbuilddir); \
  92. done
  93. @for f in $(top_builddir)/config.nice \
  94. $(top_srcdir)/build/mkdir.sh \
  95. $(top_srcdir)/build/instdso.sh; do \
  96. $(INSTALL_PROGRAM) $$f $(DESTDIR)$(installbuilddir); \
  97. done
  98. @$(INSTALL_DATA) build/config_vars.out $(DESTDIR)$(installbuilddir)/config_vars.mk
  99. @rm build/config_vars.out
  100. htdocs-srcdir = $(top_srcdir)/docs/docroot
  101. docs:
  102. @if test -d $(top_srcdir)/docs/manual/build; then \
  103. cd $(top_srcdir)/docs/manual/build && ./build.sh all; \
  104. else \
  105. echo 'For details on generating the docs, please read:'; \
  106. echo ' http://httpd.apache.org/docs-project/docsformat.html'; \
  107. fi
  108. dox:
  109. doxygen $(top_srcdir)/docs/doxygen.conf
  110. install-htdocs:
  111. -@if [ -d $(DESTDIR)$(htdocsdir) ]; then \
  112. echo "[PRESERVING EXISTING HTDOCS SUBDIR: $(DESTDIR)$(htdocsdir)]"; \
  113. else \
  114. echo Installing HTML documents ; \
  115. $(MKINSTALLDIRS) $(DESTDIR)$(htdocsdir) ; \
  116. if test -d $(htdocs-srcdir) && test "x$(RSYNC)" != "x" && test -x $(RSYNC) ; then \
  117. $(RSYNC) --exclude .svn -rlpt --numeric-ids $(htdocs-srcdir)/ $(DESTDIR)$(htdocsdir)/; \
  118. else \
  119. test -d $(htdocs-srcdir) && (cd $(htdocs-srcdir) && cp -rp * $(DESTDIR)$(htdocsdir)) ; \
  120. cd $(DESTDIR)$(htdocsdir) && find . -name ".svn" -type d -print | xargs rm -rf 2>/dev/null || true; \
  121. fi; \
  122. fi
  123. install-error:
  124. -@if [ -d $(DESTDIR)$(errordir) ]; then \
  125. echo "[PRESERVING EXISTING ERROR SUBDIR: $(DESTDIR)$(errordir)]"; \
  126. else \
  127. echo Installing error documents ; \
  128. $(MKINSTALLDIRS) $(DESTDIR)$(errordir) ; \
  129. cd $(top_srcdir)/docs/error && cp -rp * $(DESTDIR)$(errordir) ; \
  130. test "x$(errordir)" != "x" && cd $(DESTDIR)$(errordir) && find . -name ".svn" -type d -print | xargs rm -rf 2>/dev/null || true; \
  131. fi
  132. install-icons:
  133. -@if [ -d $(DESTDIR)$(iconsdir) ]; then \
  134. echo "[PRESERVING EXISTING ICONS SUBDIR: $(DESTDIR)$(iconsdir)]"; \
  135. else \
  136. echo Installing icons ; \
  137. $(MKINSTALLDIRS) $(DESTDIR)$(iconsdir) ; \
  138. cd $(top_srcdir)/docs/icons && cp -rp * $(DESTDIR)$(iconsdir) ; \
  139. test "x$(iconsdir)" != "x" && cd $(DESTDIR)$(iconsdir) && find . -name ".svn" -type d -print | xargs rm -rf 2>/dev/null || true; \
  140. fi
  141. install-cgi:
  142. -@if [ -d $(DESTDIR)$(cgidir) ];then \
  143. echo "[PRESERVING EXISTING CGI SUBDIR: $(DESTDIR)$(cgidir)]"; \
  144. else \
  145. echo Installing CGIs ; \
  146. $(MKINSTALLDIRS) $(DESTDIR)$(cgidir) ; \
  147. cd $(top_srcdir)/docs/cgi-examples && cp -rp * $(DESTDIR)$(cgidir) ; \
  148. test "x$(cgidir)" != "x" && cd $(DESTDIR)$(cgidir) && find . -name ".svn" -type d -print | xargs rm -rf 2>/dev/null || true; \
  149. fi
  150. install-other:
  151. @test -d $(DESTDIR)$(logfiledir) || $(MKINSTALLDIRS) $(DESTDIR)$(logfiledir)
  152. @test -d $(DESTDIR)$(runtimedir) || $(MKINSTALLDIRS) $(DESTDIR)$(runtimedir)
  153. @for ext in dll x; do \
  154. file=apachecore.$$ext; \
  155. if test -f $$file; then \
  156. cp -p $$file $(DESTDIR)$(libdir); \
  157. fi; \
  158. done; \
  159. file=httpd.dll; \
  160. if test -f $$file; then \
  161. cp -p $$file $(DESTDIR)$(bindir); \
  162. fi;
  163. INSTALL_HEADERS = \
  164. include/*.h \
  165. $(srcdir)/include/*.h \
  166. $(srcdir)/os/$(OS_DIR)/os.h \
  167. $(srcdir)/server/mpm/$(MPM_SUBDIR_NAME)/*.h \
  168. $(srcdir)/modules/aaa/mod_auth.h \
  169. $(srcdir)/modules/database/mod_dbd.h \
  170. $(srcdir)/modules/dav/main/mod_dav.h \
  171. $(srcdir)/modules/filters/mod_include.h \
  172. $(srcdir)/modules/generators/mod_cgi.h \
  173. $(srcdir)/modules/generators/mod_status.h \
  174. $(srcdir)/modules/loggers/mod_log_config.h \
  175. $(srcdir)/modules/http/mod_core.h \
  176. $(srcdir)/modules/mappers/mod_rewrite.h \
  177. $(srcdir)/modules/proxy/mod_proxy.h \
  178. $(srcdir)/modules/ssl/mod_ssl.h \
  179. $(srcdir)/os/$(OS_DIR)/*.h
  180. install-include:
  181. @echo Installing header files
  182. @$(MKINSTALLDIRS) $(DESTDIR)$(includedir)
  183. @for hdr in $(INSTALL_HEADERS); do \
  184. $(INSTALL_DATA) $$hdr $(DESTDIR)$(includedir); \
  185. done
  186. install-man:
  187. @echo Installing man pages and online manual
  188. @test -d $(DESTDIR)$(mandir) || $(MKINSTALLDIRS) $(DESTDIR)$(mandir)
  189. @test -d $(DESTDIR)$(mandir)/man1 || $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man1
  190. @test -d $(DESTDIR)$(mandir)/man8 || $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man8
  191. @test -d $(DESTDIR)$(manualdir) || $(MKINSTALLDIRS) $(DESTDIR)$(manualdir)
  192. @cp -p $(top_srcdir)/docs/man/*.1 $(DESTDIR)$(mandir)/man1
  193. @cp -p $(top_srcdir)/docs/man/*.8 $(DESTDIR)$(mandir)/man8
  194. @if test "x$(RSYNC)" != "x" && test -x $(RSYNC) ; then \
  195. $(RSYNC) --exclude .svn -rlpt --numeric-ids $(top_srcdir)/docs/manual/ $(DESTDIR)$(manualdir)/; \
  196. else \
  197. cd $(top_srcdir)/docs/manual && cp -rp * $(DESTDIR)$(manualdir); \
  198. cd $(DESTDIR)$(manualdir) && find . -name ".svn" -type d -print | xargs rm -rf 2>/dev/null || true; \
  199. fi
  200. install-suexec:
  201. @if test -f $(builddir)/support/suexec; then \
  202. test -d $(DESTDIR)$(sbindir) || $(MKINSTALLDIRS) $(DESTDIR)$(sbindir); \
  203. $(INSTALL_PROGRAM) $(top_builddir)/support/suexec $(DESTDIR)$(sbindir); \
  204. chmod 4755 $(DESTDIR)$(sbindir)/suexec; \
  205. fi
  206. suexec:
  207. cd support && $(MAKE) suexec
  208. x-local-distclean:
  209. @rm -rf autom4te.cache
  210. include $(top_srcdir)/os/os2/core.mk