home *** CD-ROM | disk | FTP | other *** search
/ PC Open 48 / pcopen48.iso / Internet / HtTrack / DATA1.CAB / Sources / src / Makefile.in < prev    next >
Encoding:
Makefile  |  2001-01-21  |  11.8 KB  |  334 lines

  1. # HTTrack Website Copier, Offline Browser for Windows and Unix
  2. # Copyright (C) Xavier Roche, Yann Philippot
  3. # Version: 1.1 (01/2001)
  4. # Usage: just type 'make'
  5.  
  6. # Generated by configure
  7. AUTONAME  = 
  8. #__AUTONAME__
  9.  
  10.  
  11. ### Makefile commands
  12. SHELL     = /bin/sh
  13. MAIN      =
  14. CC        = gcc 
  15. CFLAGS    = __CFLAGS__
  16. # threads
  17. LFLAGS    = __LFLAGS__ __LFLAGS2__
  18.  
  19.  
  20. BINARIES  = httrack.o htsback.o htscache.o\
  21.     htscatchurl.o htsfilters.o htsftp.o htshash.o\
  22.     htshelp.o htsjava.o htslib.o htsmain.o\
  23.     htsname.o htsrobots.o htstools.o htswizard.o\
  24.     htsalias.o htsthread.o\
  25.     htsbauth.o htsmd5.o\
  26.     md5.o
  27. BOUTPUT     = httrack
  28. HTSSYSTEM = htssystem.h
  29. BINPATH   = /usr/bin
  30. #__BINPATH__
  31. ## Defines for "library" (program compiled with HTTrack)
  32. BINARIES_LIB = example.o httracklib.o\
  33.     src/httrack.o src/htsback.o src/htscache.o\
  34.     src/htscatchurl.o src/htsfilters.o src/htsftp.o src/htshash.o\
  35.     src/htshelp.o src/htsjava.o src/htslib.o src/htsmain.o\
  36.     src/htsname.o src/htsrobots.o src/htstools.o src/htswizard.o\
  37.     src/htsalias.o htsthread.o\
  38.     src/htsbauth.o src/htsmd5.o\
  39.     src/md5.o
  40. BOUTPUT_LIB = example
  41. HTSSYSTEM_LIB = src/htssystem.h
  42.  
  43. # in_addr_t problems :
  44. # In case of problems during compiling,
  45. # make htss
  46. # edit htssystem.h and add the following line:
  47. # #define HTS_DO_NOT_REDEFINE_in_addr_t
  48. # make manual
  49.  
  50.  
  51. # Keywords for build types (example: make linux)
  52. MAKE_LINUX   = linux
  53. MAKE_NETBSD  = netbsd
  54. MAKE_OPENBSD = openbsd
  55. MAKE_SOLARIS = solaris
  56. MAKE_AIX     = aix
  57. MAKE_STD     = standard
  58. MAKE_STD2    = standard2
  59. MAKE_STD3    = standard3
  60. MAKE_STD4    = standard4
  61. ###
  62. MAKE_LIB     = build_httracklib
  63. ###
  64. MAKE_AUTO    = auto 
  65. ###
  66.  
  67. # First, detect OS Type
  68. # If your make does not recognize this, change it!
  69. SHORTUNAME = $(shell uname)
  70. FULLUNAME = $(shell uname -a)
  71.  
  72. ### Targets:
  73.  
  74. # Default target, attempt to use uname if necessary
  75. # if uname is empty, display info message
  76. all :
  77.     @if test -n "$(AUTONAME)"; then\
  78.         $(MAKE) $(AUTONAME);\
  79.     elif test -n "$(SHORTUNAME)"; then\
  80.         $(MAKE) $(SHORTUNAME);\
  81.     else\
  82.         $(MAKE) help;\
  83.     fi
  84.  
  85. # If we can not detect the OS Type, show a message info
  86. help :
  87.     @clear
  88.     @echo ""
  89.     @echo "Welcome to HTTrack Website Copier install!"
  90.     @echo "-----------------------------------------"
  91.     @echo ""
  92.     @echo "1. To make HTTrack, just type in:"
  93.     @echo "    make $(MAKE_LINUX)"
  94.     @echo "  or"
  95.     @echo "    make $(MAKE_NETBSD)"
  96.     @echo "  or"
  97.     @echo "    make $(MAKE_OPENBSD)"
  98.     @echo "  or"
  99.     @echo "    make $(MAKE_SOLARIS)"
  100.     @echo "  or"
  101.     @echo "    make $(MAKE_AIX)"
  102.     @echo "  or"
  103.     @echo "    make $(MAKE_STD)"
  104.     @echo "  or (problems with in_addr_t)"
  105.     @echo "    make $(MAKE_STD2)"
  106.     @echo "  or (problems with 64-bit)"
  107.     @echo "    make $(MAKE_STD3)"
  108.     @echo "  or (problems with both in_addr_t and 64-bit)"
  109.     @echo "    make $(MAKE_STD4)"
  110.     @echo ""
  111.     @echo "According to your OS type"
  112.     @echo "(example: type in 'make $(MAKE_LINUX)' if you compile HTTrack with linux)"
  113.     @echo 
  114.     @echo "Or, if it does not work, you can try "
  115.     @echo "  make htss"
  116.     @echo "  edit htssystem.h (check OS type), and add the following line:"
  117.     @echo "    #define HTS_DO_NOT_REDEFINE_in_addr_t"
  118.     @echo "  make manual"
  119.     @echo 
  120.     @echo "2. Then, type in 'make install' to copy httrack to $(BINPATH)"
  121.     @echo "   or just use ./httrack to launch the program"
  122.     @echo ""
  123.     @echo "3. Build problems, type in:"
  124.     @echo "   make moreinfo"
  125.     @echo ""
  126.     @echo "Have fun with HTTrack Website Copier!"
  127.     @echo ""
  128. info : help
  129.  
  130. # Troubleshooter
  131. moreinfo :
  132.     @echo "Known problems:"
  133.     @echo ""
  134.     @echo "\`in_addr_t' undeclared (first use this function)"
  135.     @echo "see in_addr_t problems in Makefile"
  136.     @echo ""
  137.  
  138. ###
  139.  
  140. ## Build Targets (this is the name given by 'uname')
  141. Linux   : $(MAKE_LINUX)
  142. SunOS   : $(MAKE_SOLARIS)
  143. AIX     : $(MAKE_AIX)
  144. NetBSD  : $(MAKE_NETBSD)
  145. OpenBSD : $(MAKE_OPENBSD)
  146.  
  147. ### Build Targets (standard types)
  148. default           : firstinfo htssystem htssystem_default build_default strip clean lastinfo
  149. $(MAKE_LINUX)     : firstinfo htssystem htssystem_linux   build_default strip clean lastinfo
  150. $(MAKE_SOLARIS)   : firstinfo htssystem htssystem_solaris build_solaris strip clean lastinfo
  151. $(MAKE_AIX)       : firstinfo htssystem htssystem_aix     build_default strip clean lastinfo
  152. $(MAKE_NETBSD)    : firstinfo htssystem htssystem_netbsd  build_default strip clean lastinfo
  153. $(MAKE_OPENBSD)   : firstinfo htssystem htssystem_openbsd build_nopthread strip clean lastinfo
  154. $(MAKE_STD)       : firstinfo htssystem htssystem_default build_default strip clean lastinfo
  155. $(MAKE_STD2)      : firstinfo htssystem htssystem_default2 build_default strip clean lastinfo
  156. $(MAKE_STD3)      : firstinfo htssystem htssystem_default3 build_default strip clean lastinfo
  157. $(MAKE_STD4)      : firstinfo htssystem htssystem_default4 build_default strip clean lastinfo
  158. ### Defines for "library" (program compiled with HTTrack)
  159. $(MAKE_LIB)       : build_lib strip_lib clean_lib lastinfo
  160. ###
  161. $(MAKE_AUTO)      : firstinfo htssystem htssystem_auto build_auto strip clean lastinfo
  162. ###
  163.  
  164. ## Defines for OSes
  165. lib_default   : htssystem htssystem_default addhtssystem_lib info_lib
  166. lib_linux     : htssystem htssystem_linux   addhtssystem_lib info_lib
  167. lib_solaris   : htssystem htssystem_solaris addhtssystem_lib info_lib
  168. lib_aix       : htssystem htssystem_aix     addhtssystem_lib info_lib
  169. lib_netbsd    : htssystem htssystem_netbsd  addhtssystem_lib info_lib
  170. lib_openbsd   : htssystem htssystem_openbsd addhtssystem_lib info_lib
  171. lib_std       : htssystem htssystem_default addhtssystem_lib info_lib
  172.  
  173.  
  174. # manual build
  175. htss             : htssystem htssystem_default
  176. manual           : build_default strip clean lastinfo
  177.  
  178. # Creates htssystem.h file
  179. htssystem :
  180.     @echo "/* HTTrack, Offline Browser for Windows and Unix */"    > $(HTSSYSTEM)
  181.     @echo ""                                                      >> $(HTSSYSTEM)
  182.     @echo "/* HTTrack system definition */"                       >> $(HTSSYSTEM)
  183.     @echo "/* This should be the only file you have to change */" >> $(HTSSYSTEM)
  184.     @echo ""                                                      >> $(HTSSYSTEM)
  185.     @echo "/* Solaris: 0 / Windows: 1 / AIX: 2 / Linux: 3 */"     >> $(HTSSYSTEM)
  186.     @echo ""                                                      >> $(HTSSYSTEM)
  187.     @echo ""                                                      >> $(HTSSYSTEM)
  188.     @echo "/* Fix plateform number to 0 (SunOS) */"               >> $(HTSSYSTEM)
  189.     @echo "/* If it doesn't compile, try another one */"          >> $(HTSSYSTEM)
  190.  
  191. htssystem_solaris :
  192.     @echo "#define HTS_PLATFORM 0"                                >> $(HTSSYSTEM)
  193.     @echo "#define HTS_PLATFORM_NAME \"$(FULLUNAME)\""            >> $(HTSSYSTEM)
  194.     @echo "#define HTS_LITTLE_ENDIAN"                             >> $(HTSSYSTEM)
  195.     @echo ""                                                      >> $(HTSSYSTEM)
  196.  
  197. htssystem_aix :
  198.     @echo "#define HTS_PLATFORM 2"                                >> $(HTSSYSTEM)
  199.     @echo "#define HTS_PLATFORM_NAME \"$(FULLUNAME)\""            >> $(HTSSYSTEM)
  200.     @echo "#define HTS_LITTLE_ENDIAN"                             >> $(HTSSYSTEM)
  201.     @echo ""                                                      >> $(HTSSYSTEM)
  202.  
  203. htssystem_linux :
  204.     @echo "#define HTS_PLATFORM 3"                                >> $(HTSSYSTEM)
  205.     @echo "#define HTS_PLATFORM_NAME \"$(FULLUNAME)\""            >> $(HTSSYSTEM)
  206.     @echo ""                                                      >> $(HTSSYSTEM)
  207.  
  208. htssystem_netbsd:
  209.     @echo "#define HTS_PLATFORM 3"                                >> $(HTSSYSTEM)
  210.     @echo "#define HTS_PLATFORM_NAME \"$(FULLUNAME)\""            >> $(HTSSYSTEM)
  211.     @echo "#define HTS_DO_NOT_REDEFINE_in_addr_t"                 >> $(HTSSYSTEM)
  212.     @echo ""                                                      >> $(HTSSYSTEM)
  213.  
  214. htssystem_openbsd:
  215.     @echo "#define HTS_PLATFORM 3"                                >> $(HTSSYSTEM)
  216.     @echo "#define HTS_PLATFORM_NAME \"$(FULLUNAME)\""            >> $(HTSSYSTEM)
  217.     @echo "#define HTS_DO_NOT_REDEFINE_in_addr_t"                 >> $(HTSSYSTEM)
  218.     @echo "#define HTS_DO_NOT_USE_PTHREAD"                        >> $(HTSSYSTEM)
  219.     @echo "#define HTS_DO_NOT_USE_UID"                            >> $(HTSSYSTEM)
  220.     @echo ""                                                      >> $(HTSSYSTEM)
  221.  
  222. htssystem_nopthread:
  223.     @echo "#define HTS_PLATFORM 3"                                >> $(HTSSYSTEM)
  224.     @echo "#define HTS_PLATFORM_NAME \"$(FULLUNAME)\""            >> $(HTSSYSTEM)
  225.     @echo "#define HTS_DO_NOT_USE_PTHREAD"                        >> $(HTSSYSTEM)
  226.     @echo ""                                                      >> $(HTSSYSTEM)
  227.  
  228. htssystem_default :
  229.     @echo "#define HTS_PLATFORM 3"                                >> $(HTSSYSTEM)
  230.     @echo "#define HTS_PLATFORM_NAME \"$(FULLUNAME)\""            >> $(HTSSYSTEM)
  231.     @echo ""                                                      >> $(HTSSYSTEM)
  232.  
  233. htssystem_default2 :
  234.     @echo "#define HTS_PLATFORM 3"                                >> $(HTSSYSTEM)
  235.     @echo "#define HTS_PLATFORM_NAME \"$(FULLUNAME)\""            >> $(HTSSYSTEM)
  236.     @echo "#define HTS_DO_NOT_REDEFINE_in_addr_t"                 >> $(HTSSYSTEM)
  237.     @echo ""                                                      >> $(HTSSYSTEM)
  238.  
  239. htssystem_default3 :
  240.     @echo "#define HTS_PLATFORM 3"                                >> $(HTSSYSTEM)
  241.     @echo "#define HTS_PLATFORM_NAME \"$(FULLUNAME)\""            >> $(HTSSYSTEM)
  242.     @echo "#define HTS_NO_64_BIT"                                 >> $(HTSSYSTEM)
  243.     @echo ""                                                      >> $(HTSSYSTEM)
  244.  
  245. htssystem_default4 :
  246.     @echo "#define HTS_PLATFORM 3"                                >> $(HTSSYSTEM)
  247.     @echo "#define HTS_PLATFORM_NAME \"$(FULLUNAME)\""            >> $(HTSSYSTEM)
  248.     @echo "#define HTS_DO_NOT_REDEFINE_in_addr_t"                 >> $(HTSSYSTEM)
  249.     @echo "#define HTS_NO_64_BIT"                                 >> $(HTSSYSTEM)
  250.     @echo ""                                                      >> $(HTSSYSTEM)
  251.  
  252. # Generated by configure
  253. htssystem_auto :
  254.     @echo "#define HTS_PLATFORM __PLATFORM__"                      >> $(HTSSYSTEM)
  255.     @echo "#define HTS_PLATFORM_NAME \"$(FULLUNAME)\""             >> $(HTSSYSTEM)
  256.     @echo "#define __DEFINEUID__"                                  >> $(HTSSYSTEM)
  257.     @echo "#define __DEFINEINA__"                                  >> $(HTSSYSTEM)
  258.     @echo "#define __DEFINEPTH__"                                  >> $(HTSSYSTEM)
  259.     @echo "#define __DEFINE64B__"                                  >> $(HTSSYSTEM)
  260.  
  261. ## Defines for "library" (program compiled with HTTrack)
  262. addhtssystem_lib :
  263.     @echo "/* Extended functions */"                              >> $(HTSSYSTEM)
  264.     @echo "#define HTS_ANALYSTE 2"                                >> $(HTSSYSTEM)
  265.     @echo ""                                                      >> $(HTSSYSTEM)
  266.  
  267. # Info message before build
  268. firstinfo :
  269.     @echo "Building all, please wait"
  270.     @echo "In case of problems, type in:"
  271.     @echo "make help"
  272.     @echo ""
  273.     @echo "OS TYPE:   $(SHORTUNAME)"
  274.     @echo "Make mode: $(MAKECMDGOALS)"
  275.     @echo
  276.  
  277. ##
  278. info_lib : 
  279.     @echo "Please copy htssystem.h to src/htssystem.h by typing:"
  280.     @echo "cp htssystem.h src/htssystem.h"
  281.  
  282. ### Targets for compiling
  283. build_solaris : $(BINARIES)
  284.     $(CC) $(CFLAGS) $(BINARIES) -o $(BOUTPUT) $(LFLAGS) -lnsl -lsocket
  285.     chmod +x $(BOUTPUT)
  286.  
  287. build_nopthread: $(BINARIES)
  288.     $(CC) $(NOPCFLAGS) $(BINARIES) -o $(BOUTPUT) $(NOPLFLAGS)
  289.     chmod +x $(BOUTPUT)
  290.  
  291. build_default : $(BINARIES)
  292.     $(CC) $(CFLAGS) $(BINARIES) -o $(BOUTPUT) $(LFLAGS)
  293.     chmod +x $(BOUTPUT)
  294.  
  295. ## Defines for "library" (program compiled with HTTrack)
  296. build_lib : $(BINARIES_LIB)
  297.     $(CC) $(CFLAGS) $(BINARIES_LIB) -o $(BOUTPUT_LIB) $(LFLAGS)
  298.     chmod +x $(BOUTPUT_LIB)
  299.  
  300. ## Auto
  301. build_auto : $(BINARIES)
  302.     $(CC) $(CFLAGS) $(BINARIES) -o $(BOUTPUT) $(LFLAGS)
  303.     chmod +x $(BOUTPUT)
  304.  
  305.  
  306. ##
  307. # Strip file so that is can be shorter
  308. strip :
  309.     strip $(BOUTPUT)
  310.  
  311. strip_lib :
  312.     strip $(BOUTPUT_LIB)
  313.  
  314. # Cleaning up..
  315. clean :
  316.     rm -f $(BINARIES)
  317.  
  318. ## Defines for "library" (program compiled with HTTrack)
  319. clean_lib :
  320.     rm -f $(BINARIES_LIB)
  321.  
  322. # Bye bye
  323. lastinfo :
  324.     @echo "Build successful"
  325.  
  326. # Installing httrack into the correct folder
  327. install :
  328.     @echo "Copying $(BOUTPUT) to $(BINPATH).."
  329.     chmod a+rx $(BOUTPUT)
  330.     cp $(BOUTPUT) $(BINPATH)
  331.  
  332. ###
  333.  
  334.