home *** CD-ROM | disk | FTP | other *** search
/ Dream 52 / Amiga_Dream_52.iso / Linux / Magazine / wwwoffle-2.1.tar.gz / wwwoffle-2.1 / Makefile < prev    next >
Makefile  |  1998-03-02  |  8KB  |  191 lines

  1. # $Header: /home/amb/wwwoffle/RCS/Makefile 2.22 1998/02/10 19:17:31 amb Exp $
  2. #
  3. # WWWOFFLE - World Wide Web Offline Explorer - Version 2.1.
  4. #
  5. # Program Makefile.
  6. #
  7. # Written by Andrew M. Bishop
  8. #
  9. # This file Copyright 1996,97,98 Andrew M. Bishop
  10. # It may be distributed under the GNU Public License, version 2, or
  11. # any higher version.  See section COPYING of the GNU Public license
  12. # for conditions under which this file may be redistributed.
  13. #
  14.  
  15. ########
  16.  
  17. INSTDIR=/usr/local
  18. SPOOLDIR=/var/spool/wwwoffle
  19. CONFDIR=/var/spool/wwwoffle
  20.  
  21. ########
  22.  
  23. CC=gcc
  24. CFLAGS=-O2 -Wall -g
  25.  
  26. LD=gcc
  27. LDFLAGS=-g
  28.  
  29. LEX=flex -i -L
  30.  
  31. ########
  32.  
  33. INCLUDE=
  34. LIBRARY=
  35. # For Solaris you need the following instead.
  36. #LIBRARY=-lnsl -lsocket
  37.  
  38. COMPILE=$(CC) -c $(CFLAGS)
  39.  
  40. LINK=$(LD) $(LDFLAGS)
  41.  
  42. INSTALL=install
  43. # For Solaris you need the following instead.
  44. #INSTALL=/usr/ucb/install
  45.  
  46. ########
  47.  
  48. all : programs
  49.     @
  50.  
  51. programs : wwwoffle wwwoffled wwwoffle-tools upgrade-cache
  52.     @
  53.  
  54. ########
  55.  
  56. install : programs
  57.     @[ ! -d $(SPOOLDIR) -o -d $(SPOOLDIR)/http ] || \
  58.     (echo '' ;\
  59.      echo 'You *MUST* upgrade the existing cache before you can use this version.' ;\
  60.      echo 'Read the file UPGRADE for details.' ;\
  61.      echo '' && exit 1 )
  62.     [ -x $(INSTDIR)/bin ] || $(INSTALL) -d $(INSTDIR)/bin
  63.     $(INSTALL) -c -m 755 wwwoffle  $(INSTDIR)/bin
  64.     $(INSTALL) -c -m 755 wwwoffle-tools  $(INSTDIR)/bin
  65.     ln -sf wwwoffle-tools $(INSTDIR)/bin/wwwoffle-ls
  66.     ln -sf wwwoffle-tools $(INSTDIR)/bin/wwwoffle-mv
  67.     ln -sf wwwoffle-tools $(INSTDIR)/bin/wwwoffle-rm
  68.     [ -x  $(INSTDIR)/sbin ] || $(INSTALL) -d $(INSTDIR)/sbin
  69.     $(INSTALL) -c -m 755 wwwoffled $(INSTDIR)/sbin
  70.     [ -x $(INSTDIR)/man ] || $(INSTALL) -d $(INSTDIR)/man
  71.     [ -x  $(INSTDIR)/man/man1 ] || $(INSTALL) -d $(INSTDIR)/man/man1
  72.     $(INSTALL) -c -m 644 wwwoffle.man $(INSTDIR)/man/man1/wwwoffle.1
  73.     [ -x  $(INSTDIR)/man/man5 ] || $(INSTALL) -d $(INSTDIR)/man/man5
  74.     sed -e 's%SPOOLDIR%$(SPOOLDIR)%' -e 's%CONFDIR%$(CONFDIR)%' < wwwoffle.conf.man > wwwoffle.conf.man.install
  75.     $(INSTALL) -c -m 644 wwwoffle.conf.man.install $(INSTDIR)/man/man5/wwwoffle.conf.5
  76.     [ -x  $(INSTDIR)/man/man8 ] || $(INSTALL) -d $(INSTDIR)/man/man8
  77.     $(INSTALL) -c -m 644 wwwoffled.man $(INSTDIR)/man/man8/wwwoffled.8
  78.     [ -x  $(SPOOLDIR) ] || $(INSTALL) -d $(SPOOLDIR)
  79.     [ -x  $(SPOOLDIR)/outgoing ] || $(INSTALL) -d $(SPOOLDIR)/outgoing
  80.     [ -x  $(SPOOLDIR)/monitor ] || $(INSTALL) -d $(SPOOLDIR)/monitor
  81.     [ -x  $(SPOOLDIR)/lasttime ] || $(INSTALL) -d $(SPOOLDIR)/lasttime
  82.     [ -x  $(SPOOLDIR)/http ] || $(INSTALL) -d $(SPOOLDIR)/http
  83.     @echo 'GET http://www.gedanken.demon.co.uk/wwwoffle/version-2.1/user.html HTTP/1.0'        > $(SPOOLDIR)/outgoing/Owwwoffle-user ;\
  84.      echo 'Host: www.gedanken.demon.co.uk'                                                    >> $(SPOOLDIR)/outgoing/Owwwoffle-user ;\
  85.      echo 'Accept: */*'                                                                       >> $(SPOOLDIR)/outgoing/Owwwoffle-user ;\
  86.      echo ''                                                                                  >> $(SPOOLDIR)/outgoing/Owwwoffle-user ;\
  87.      awk 'BEGIN{printf("http://www.gedanken.demon.co.uk/wwwoffle/version-2.1/user.html");}'    > $(SPOOLDIR)/outgoing/Uwwwoffle-user < /dev/null
  88.     @echo 'GET http://www.gedanken.demon.co.uk/wwwoffle/version-2.1/browser.html HTTP/1.0'     > $(SPOOLDIR)/outgoing/Owwwoffle-browser ;\
  89.      echo 'Host: www.gedanken.demon.co.uk'                                                    >> $(SPOOLDIR)/outgoing/Owwwoffle-browser ;\
  90.      echo 'Accept: */*'                                                                       >> $(SPOOLDIR)/outgoing/Owwwoffle-browser ;\
  91.      echo ''                                                                                  >> $(SPOOLDIR)/outgoing/Owwwoffle-browser ;\
  92.      awk 'BEGIN{printf("http://www.gedanken.demon.co.uk/wwwoffle/version-2.1/browser.html");}' > $(SPOOLDIR)/outgoing/Uwwwoffle-browser < /dev/null
  93.     sed -e 's%SPOOLDIR%$(SPOOLDIR)%' -e 's%CONFDIR%$(CONFDIR)%' < wwwoffle.conf > wwwoffle.conf.install
  94.     @[ ! -f $(CONFDIR)/wwwoffle.conf ] || echo There is already a configuration file $(CONFDIR)/wwwoffle.conf
  95.     [  ! -f $(CONFDIR)/wwwoffle.conf ] || $(INSTALL) -c -m 644 wwwoffle.conf.install $(CONFDIR)/wwwoffle.conf.install
  96.     [    -f $(CONFDIR)/wwwoffle.conf ] || $(INSTALL) -c -m 644 wwwoffle.conf.install $(CONFDIR)/wwwoffle.conf
  97.  
  98. ########
  99.  
  100. clean :
  101.     -rm -f wwwoffle.conf.install wwwoffle.conf.man.install
  102.     -rm -f wwwoffle wwwoffled wwwoffle-tools upgrade-cache
  103.     -rm -f core *.o *~
  104.  
  105. ########
  106.  
  107. WWWOFFLE_OBJ=wwwoffle.o \
  108.          html.o \
  109.          config.o errors.o io.o misc.o proto-simple.o sockets.o md5.o
  110.  
  111. wwwoffle : $(WWWOFFLE_OBJ)
  112.     $(LINK) $(WWWOFFLE_OBJ) -o $@ $(LIBRARY)
  113.  
  114. ########
  115.  
  116. WWWOFFLED_OBJ=wwwoffled.o wwwoffles.o \
  117.           http.o ftp.o finger.o \
  118.           connect.o control.o configedit.o html.o index.o messages.o monitor.o parse.o purge.o refresh.o spool.o \
  119.           config.o errors.o io.o misc.o proto.o sockets.o md5.o
  120.  
  121. wwwoffled : $(WWWOFFLED_OBJ)
  122.     $(LINK) $(WWWOFFLED_OBJ) -o $@ $(LIBRARY)
  123.  
  124. ########
  125.  
  126. WWWOFFLE_TOOLS_OBJ=wwwoffle-tools.o \
  127.           spool.o \
  128.           config-simple.o errors.o io.o misc.o proto-simple.o md5.o
  129.  
  130. wwwoffle-tools : $(WWWOFFLE_TOOLS_OBJ)
  131.     $(LINK) $(WWWOFFLE_TOOLS_OBJ) -o $@ $(LIBRARY)
  132.  
  133. ########
  134.  
  135. UPGRADE_OBJ=upgrade-cache.o \
  136.         config-simple.o errors.o io.o misc.o proto-simple.o md5.o
  137.  
  138. upgrade-cache : $(UPGRADE_OBJ)
  139.     $(LINK) $(UPGRADE_OBJ) -o $@ $(LIBRARY)
  140.  
  141. ########
  142.  
  143. %.o:%.c
  144.     $(COMPILE) $< -o $@ $(INCLUDE)
  145.  
  146. wwwoffle.o   : wwwoffle.c   wwwoffle.h misc.h config.h errors.h sockets.h         version.h
  147. wwwoffled.o  : wwwoffled.c  wwwoffle.h misc.h config.h errors.h sockets.h         version.h
  148. wwwoffles.o  : wwwoffles.c  wwwoffle.h misc.h config.h errors.h sockets.h proto.h
  149.  
  150. http.o       : http.c       wwwoffle.h misc.h config.h errors.h sockets.h proto.h
  151. ftp.o        : ftp.c        wwwoffle.h misc.h config.h errors.h sockets.h proto.h
  152. finger.o     : finger.c     wwwoffle.h misc.h config.h errors.h sockets.h proto.h
  153.  
  154. configedit.o : configedit.c wwwoffle.h misc.h config.h errors.h
  155. connect.o    : connect.c    wwwoffle.h misc.h config.h errors.h
  156. control.o    : control.c    wwwoffle.h misc.h config.h errors.h sockets.h
  157. html.o         : html.c        wwwoffle.h misc.h
  158. index.o      : index.c      wwwoffle.h misc.h config.h errors.h
  159. messages.o   : messages.c   wwwoffle.h misc.h config.h
  160. monitor.o    : monitor.c    wwwoffle.h misc.h config.h
  161. parse.o      : parse.c      wwwoffle.h misc.h config.h errors.h           proto.h
  162. purge.o      : purge.c      wwwoffle.h misc.h config.h errors.h           proto.h
  163. refresh.o    : refresh.c    wwwoffle.h misc.h config.h errors.h sockets.h
  164. spool.o      : spool.c      wwwoffle.h misc.h config.h errors.h
  165.  
  166. config.o     : config.c     wwwoffle.h misc.h config.h errors.h sockets.h proto.h
  167.     $(COMPILE) $< -o $@ -DSPOOL_DIR=\"$(SPOOLDIR)\" -DCONF_DIR=\"$(CONFDIR)\" $(INCLUDE)
  168. config-simple.o: config.c   wwwoffle.h misc.h config.h errors.h           proto.h
  169.     $(COMPILE) $< -o $@ -DSIMPLE -DSPOOL_DIR=\"$(SPOOLDIR)\" -DCONF_DIR=\"$(CONFDIR)\" $(INCLUDE)
  170. errors.o     : errors.c                       config.h errors.h
  171. io.o         : io.c         wwwoffle.h misc.h          errors.h
  172. misc.o       : misc.c                  misc.h config.h                    proto.h
  173. proto.o      : proto.c                 misc.h                             proto.h
  174. proto-simple.o: proto.c                misc.h                             proto.h
  175.     $(COMPILE) $< -o $@ -DSIMPLE $(INCLUDE)
  176. sockets.o    : sockets.c                               errors.h sockets.h
  177.  
  178. md5.o        : md5.c md5.h
  179.  
  180. wwwoffle-tools.o : wwwoffle-tools.c wwwoffle.h misc.h errors.h
  181.  
  182. upgrade-cache.o : upgrade-cache.c wwwoffle.h misc.h errors.h
  183.  
  184. ########
  185.  
  186. html.c : html.l
  187.     $(LEX) html.l
  188.     @mv lex.yy.c html.c
  189.  
  190. ########
  191.