Makefile
上传用户:lampled
上传日期:2007-01-07
资源大小:94k
文件大小:6k
源码类别:

Web服务器

开发平台:

Unix_Linux

  1. # Makefile for xs-httpd
  2. # Copyright (C) 1995, 1996 by Sven Berkvens (sven@stack.nl)
  3. # Some utilities for installing the programs
  4. RM = rm -f
  5. CP = cp -p
  6. MKDIR = mkdir -p
  7. CHOWN = chown
  8. CHMOD = chmod
  9. STRIP = strip
  10. SHELL = /bin/sh
  11. # What compiler do you have? Use an ANSI compatible one if you can!
  12. CC = gcc
  13. # What flags do you need to give your compiler? The default below works
  14. # for GCC. It optimizes the programs very well, and makes GCC gives ALL
  15. # warnings. I absolutely HATE programs that do not compile without
  16. # warnings. If you do not have GCC, no flags (an empty string after the
  17. # = symbol) will suffice. If you know how to enable some optimization and
  18. # more warning flags, turn them on!
  19. CFLAGS = -O3 -Wall -pedantic -ansi
  20. # If you have Linux, you need to uncomment the following line, otherwise
  21. # your screen will be cluttered with warnings.
  22. #CFLAGS += -D_BSD_SOURCE -D_GNU_SOURCE -D_POSIX_SOURCE
  23. # What flags you you want to give to the linker? The default below
  24. # strips the binary (removes any symbolname garbage). If you use
  25. # FreeBSD (or any other operating system where crypt() is not in
  26. # the C library), then add something like -lcrypt. If you're using
  27. # SCO, you will to add -lintl because of strftime().
  28. LDFLAGS = -s
  29. # Where should systemwide user-usable binaries be installed? This includes
  30. # the WWW server itself, the controller (httpdc) and also the authentication
  31. # password manager (xspasswd).
  32. BINDIR = /usr/local/bin
  33. # Where should the manual pages be installed?
  34. MANDIR = /usr/local/man
  35. # What should be used to "copy" the manual pages? If your system supports
  36. # compressed or gzipped manual pages, use compress or gzip here. Do not forgot
  37. # to fill in the appropriate extension. If your system accepts only plain
  38. # manual pages, then fill in cat here, and use no extension.
  39. MANPROG = gzip
  40. MANEXT = .gz
  41. # What is the root directory of the WWW server? This should be directory
  42. # in which the subdirectories 'logs' and 'htdocs'will be placed.
  43. HTTPDIR = /usr/local/lib/httpd
  44. # Location of the systemwide CGI binaries.
  45. CGIDIR = $(HTTPDIR)/cgi-bin
  46. ################################################
  47. # No user configurable values after this line! #
  48. ################################################
  49. all_with_text: all
  50. @echo "Everything seems to have been compiled. The package"
  51. @echo "is now ready for installation. To install it, type"
  52. @echo "     make install      on a prompt."
  53. all: httpd xspasswd xschpass imagemap clearxs 
  54. readxs error gfxcount xsindex httpdc
  55. .c.o:
  56. $(CC) $(CFLAGS) -c $<
  57. httpd: httpd.o local.o err.o procname.o extra.o ssi.o cgi.o 
  58. xscrypt.o path.o setenv.o methods.o convert.o
  59. $(CC) httpd.o local.o err.o procname.o extra.o ssi.o cgi.o 
  60. xscrypt.o path.o setenv.o methods.o convert.o 
  61. -o httpd $(LDFLAGS)
  62. $(STRIP) httpd
  63. xspasswd: xspasswd.o err.o xscrypt.o extra.o
  64. $(CC) xspasswd.o err.o xscrypt.o extra.o -o xspasswd $(LDFLAGS)
  65. $(STRIP) xspasswd
  66. xschpass: xschpass.o xscrypt.o extra.o
  67. $(CC) xschpass.o xscrypt.o extra.o -o xschpass $(LDFLAGS)
  68. $(STRIP) xschpass
  69. imagemap: imagemap.o extra.o
  70. $(CC) imagemap.o extra.o -o imagemap $(LDFLAGS)
  71. $(STRIP) imagemap
  72. clearxs: clearxs.o err.o extra.o
  73. $(CC) clearxs.o err.o extra.o -o clearxs $(LDFLAGS)
  74. $(STRIP) clearxs
  75. readxs: readxs.o err.o extra.o
  76. $(CC) readxs.o err.o extra.o -o readxs $(LDFLAGS)
  77. $(STRIP) readxs
  78. error: error.o setenv.o local.o path.o
  79. $(CC) error.o setenv.o local.o path.o -o error $(LDFLAGS)
  80. $(STRIP) error
  81. gfxcount: gfxcount.o setenv.o extra.o
  82. $(CC) gfxcount.o setenv.o extra.o -o gfxcount $(LDFLAGS)
  83. $(STRIP) gfxcount
  84. httpdc: httpdc.o path.o err.o extra.o
  85. $(CC) httpdc.o path.o err.o extra.o -o httpdc $(LDFLAGS)
  86. $(STRIP) httpdc
  87. xsindex: xsindex.o err.o local.o extra.o
  88. $(CC) xsindex.o err.o extra.o -o xsindex $(LDFLAGS)
  89. $(STRIP) xsindex
  90. install: all
  91. -$(MKDIR) $(BINDIR) $(HTTPDIR) $(CGIDIR)
  92. -$(MKDIR) $(HTTPDIR)/logs $(HTTPDIR)/htdocs $(HTTPDIR)/htdocs/icons
  93. -$(MKDIR) $(HTTPDIR)/gfxcount $(MANDIR)/man1
  94. if [ -f "$(CGIDIR)/xs-counter.data" ] ; 
  95. then 
  96. echo ">> xs-counter.data has moved in this version..." ; 
  97. echo ">> Moving it to $(HTTPDIR)/logs/xs-counter.data!" ; 
  98. mv $(CGIDIR)/xs-counter.data $(HTTPDIR)/logs/ ; 
  99. fi
  100. $(CP) httpd $(BINDIR)/
  101. $(CP) httpdc $(BINDIR)/
  102. $(CP) xspasswd $(BINDIR)/
  103. $(CP) clearxs $(BINDIR)/
  104. $(CP) readxs $(BINDIR)/
  105. $(CP) xsindex $(BINDIR)/
  106. $(CP) xschpass $(CGIDIR)/
  107. $(CP) imagemap $(CGIDIR)/
  108. $(CP) error $(CGIDIR)/
  109. $(CP) gfxcount $(CGIDIR)/
  110. for i in mime.types mime.index compress.methods ; 
  111. do 
  112. if [ -f "$(HTTPDIR)"/"$$i" ] ; 
  113. then 
  114. echo ">> $$i is already installed: skipped!" ; 
  115. else 
  116. $(CP) "$$i" $(HTTPDIR)/ ; 
  117. fi ; 
  118. done
  119. cd man ; for i in *.1 ; 
  120. do 
  121. $(MANPROG) < "$$i" > $(MANDIR)/man1/"$$i"$(MANEXT) ; 
  122. done
  123. $(CP) fonts/*.ppm $(HTTPDIR)/gfxcount/
  124. $(CP) icons/*.gif $(HTTPDIR)/htdocs/icons/
  125. $(CHOWN) root $(CGIDIR)/xschpass
  126. $(CHMOD) u=srwx,g=rx,o=rx $(CGIDIR)/xschpass
  127. @echo "Finished installing!"
  128. @echo "You might need to adjust the ownership of the"
  129. @echo "files and subdirectories in $(HTTPDIR)"
  130. clean:
  131. $(RM) httpd httpdc xspasswd xschpass imagemap clearxs error 
  132. readxs gfxcount xsindex *.core *.bin *.o *.s *.i core
  133. ###########################
  134. # For Sven's personal use #
  135. ###########################
  136. tar: clean
  137. rm -f config.h config.h.old
  138. cp Makefile.original Makefile
  139. cd .. ; tar zcvf httpd.tar.gz httpd
  140. copy-tar: tar
  141. cp ../httpd.tar.gz $(HOME)/.html/xs-httpd/
  142. copy-doc:
  143. cp doc/index.html $(HOME)/.html/xs-httpd/readme.html
  144. cp doc/ssi.html $(HOME)/.html/xs-httpd/
  145. cp doc/cgi.html $(HOME)/.html/xs-httpd/