home *** CD-ROM | disk | FTP | other *** search
/ Serving the Web / ServingTheWeb1995.disc1of1.iso / linux / slacksrce / tcl / tcl+tk+t / tcl7.3l1 / tcl7 / tcl7.3 / Makefile < prev    next >
Encoding:
Makefile  |  1994-08-21  |  9.0 KB  |  290 lines

  1. # Generated automatically from Makefile.in by configure.
  2. #
  3. # This file is a Makefile for Tcl.  If it has the name "Makefile.in"
  4. # then it is a template for a Makefile;  to generate the actual Makefile,
  5. # run "./configure", which is a configuration script generated by the
  6. # "autoconf" program (constructs like "@foo@" will get replaced in the
  7. # actual Makefile.
  8.  
  9. #----------------------------------------------------------------
  10. # Things you can change to personalize the Makefile for your own
  11. # site (you can make these changes in either Makefile.in or
  12. # Makefile, but changes to Makefile will get lost if you re-run
  13. # the configuration script).
  14. #----------------------------------------------------------------
  15.  
  16. # Default top-level directories in which to install architecture-
  17. # specific files (exec_prefix) and machine-independent files such
  18. # as scripts (prefix).  The values specified here may be overridden
  19. # at configure-time with the --exec-prefix and --prefix options
  20. # to the "configure" script.
  21.  
  22. exec_prefix =    /usr/local
  23. prefix =    /usr/local
  24.  
  25. # Directory in which to install the library of Tcl scripts (note:
  26. # you can set the TCL_LIBRARY environment variable at run-time to
  27. # override the compiled-in location):
  28. TCL_LIBRARY =    $(prefix)/lib/tcl
  29.  
  30. # Directory in which to install the archive libtcl.a:
  31. LIB_DIR =    $(exec_prefix)/lib
  32.  
  33. # Directory in which to install the program tclsh:
  34. BIN_DIR =    $(exec_prefix)/bin
  35.  
  36. # Directory in which to install the include file tcl.h:
  37. INCLUDE_DIR =    $(prefix)/include/tcl
  38.  
  39. # Top-level directory for manual entries:
  40. MAN_DIR =    $(prefix)/man
  41.  
  42. # Directory in which to install manual entry for tclsh:
  43. MAN1_DIR =    $(MAN_DIR)/man1
  44. MAN1_EXT =    1tcl
  45.  
  46. # Directory in which to install manual entries for Tcl's C library
  47. # procedures:
  48. MAN3_DIR =    $(MAN_DIR)/man3
  49. MAN3_EXT =    3tcl
  50.  
  51. # Directory in which to install manual entries for the built-in
  52. # Tcl commands:
  53. MANN_DIR =    $(MAN_DIR)/man3
  54. MANN_EXT =    3tcl
  55.  
  56. # To change the compiler switches, for example to change from -O
  57. # to -g, change the following line:
  58. CFLAGS = -O
  59.  
  60. # To disable ANSI-C procedure prototypes reverse the comment characters
  61. # on the following lines:
  62. PROTO_FLAGS =
  63. #PROTO_FLAGS = -DNO_PROTOTYPE
  64.  
  65. # Mathematical functions like sin and atan2 are enabled for expressions
  66. # by default.  To disable them, reverse the comment characters on the
  67. # following pairs of lines:
  68. MATH_FLAGS =
  69. #MATH_FLAGS = -DTCL_NO_MATH
  70. MATH_LIBS = -lm -lieee
  71. #MATH_LIBS =
  72.  
  73. # To compile for non-UNIX systems (so that only the non-UNIX-specific
  74. # commands are available), reverse the comment characters on the
  75. # following pairs of lines.  In addition, you'll have to provide your
  76. # own replacement for the "panic" procedure (see panic.c for what
  77. # the current one does).
  78. GENERIC_FLAGS =
  79. #GENERIC_FLAGS = -DTCL_GENERIC_ONLY
  80. UNIX_OBJS = panic.o tclEnv.o tclGlob.o tclMain.o tclUnixAZ.o \
  81.     tclUnixStr.o tclUnixUtil.o
  82. #UNIX_OBJS =
  83.  
  84. # To enable memory debugging reverse the comment characters on the following
  85. # lines.  Warning:  if you enable memory debugging, you must do it
  86. # *everywhere*, including all the code that calls Tcl, and you must use
  87. # ckalloc and ckfree everywhere instead of malloc and free.
  88. MEM_DEBUG_FLAGS =
  89. #MEM_DEBUG_FLAGS = -DTCL_MEM_DEBUG
  90.  
  91. # Some versions of make, like SGI's, use the following variable to
  92. # determine which shell to use for executing commands:
  93. SHELL =        /bin/sh
  94.  
  95. #----------------------------------------------------------------
  96. # The information below is modified by the configure script when
  97. # Makefile is generated from Makefile.in.  You shouldn't normally
  98. # modify any of this stuff by hand.
  99. #----------------------------------------------------------------
  100.  
  101. COMPAT_OBJS =        
  102. AC_FLAGS =         -DHAVE_UNISTD_H=1
  103. INSTALL =        /usr/bin/install -c
  104. INSTALL_PROGRAM =    $(INSTALL) -s
  105. INSTALL_DATA =        $(INSTALL) -m 644
  106. RANLIB =        ranlib
  107. SRC_DIR =        .
  108. VPATH =            .
  109.  
  110. #----------------------------------------------------------------
  111. # The information below should be usable as is.  The configure
  112. # script won't modify it and you shouldn't need to modify it
  113. # either.
  114. #----------------------------------------------------------------
  115.  
  116.  
  117. CC =        cc
  118. CC_SWITCHES =    ${CFLAGS} -I. -I${SRC_DIR} ${AC_FLAGS} ${MATH_FLAGS} \
  119. ${GENERIC_FLAGS} ${PROTO_FLAGS} ${MEM_DEBUG_FLAGS} \
  120. -DTCL_LIBRARY=\"${TCL_LIBRARY}\"
  121.  
  122. GENERIC_OBJS =    regexp.o tclAsync.o tclBasic.o tclCkalloc.o \
  123.     tclCmdAH.o tclCmdIL.o tclCmdMZ.o tclExpr.o tclGet.o \
  124.     tclHash.o tclHistory.o tclLink.o tclParse.o tclProc.o \
  125.     tclUtil.o tclVar.o
  126.  
  127. OBJS = ${GENERIC_OBJS} ${UNIX_OBJS} ${COMPAT_OBJS}
  128.  
  129. LDFLAGS = -N
  130. DLLBIN = /usr/dll/bin
  131. SHCC = ${CC} -B/usr/dll/jump/
  132. SHOBJS = dummyInit.so ${OBJS:.o=.so}
  133. JUMP_VER = 3.1.0
  134. JUMP_ARGS = -v ${JUMP_VER} -a 0x60c00000 -j 0x4000 -g 4096
  135. export JUMP_DIR = $(shell pwd)/jump
  136. export JUMP_LIB = libtcl
  137.  
  138. all: libtcl.a libtcl.sa tclsh
  139.  
  140. libtcl.a: ${OBJS}
  141.     rm -f libtcl.a
  142.     ar cr libtcl.a ${OBJS}
  143.     $(RANLIB) libtcl.a
  144.  
  145. libtcl.sa: dummyMain.o ${SHOBJS} libtcl.so.${JUMP_VER}
  146.     ${DLLBIN}/mkstubs -l libtcl ${JUMP_ARGS} -- libtcl
  147.     ar rs libtcl.sa dummyMain.o
  148.  
  149. libtcl.so.${JUMP_VER}: ${SHOBJS}
  150.     ${DLLBIN}/mkimage -l libtcl ${JUMP_ARGS} -- ${SHOBJS} -lm -lc `${CC} -print-libgcc-file-name` -lc
  151.  
  152. tclsh: tclAppInit.o libtcl.a libtcl.sa
  153.     ${CC} ${LDFLAGS} ${CC_SWITCHES} tclAppInit.o -L. -ltcl ${MATH_LIBS} -o tclsh
  154.  
  155. tcltest: tclTest.o libtcl.a libtcl.sa
  156.     ${CC} ${LDFLAGS} ${CC_SWITCHES} tclTest.o -L. -ltcl ${MATH_LIBS} -o tcltest
  157.  
  158. test: tcltest
  159.     @cwd=`pwd`; \
  160.     cd $(SRC_DIR); TCL_LIBRARY=`pwd`/library; export TCL_LIBRARY; \
  161.     cd $$cwd; ( echo cd $(SRC_DIR)/tests\; source all ) | ./tcltest
  162.  
  163. install: install-binaries install-libraries install-man
  164.  
  165. install-binaries: libtcl.a libtcl.sa libtcl.so.$(JUMP_VER) tclsh
  166.     @for i in $(LIB_DIR) $(BIN_DIR) ; \
  167.         do \
  168.         if [ ! -d $$i ] ; then \
  169.         echo "Making directory $$i"; \
  170.         mkdir $$i; \
  171.         chmod 755 $$i; \
  172.         else true; \
  173.         fi; \
  174.         done;
  175.     @echo "Installing libtcl.a"
  176.     @$(INSTALL_DATA) libtcl.a $(LIB_DIR)
  177.     @echo "Installing libtcl.sa"
  178.     @$(INSTALL_DATA) libtcl.sa $(LIB_DIR)
  179.     @echo "Installing libtcl.so.$(JUMP_VER)"
  180.     @$(INSTALL_PROGRAM) libtcl.so.$(JUMP_VER) $(LIB_DIR)
  181.     @echo "Running ldconfig"
  182.     @ldconfig
  183.     @echo "Installing tclsh"
  184.     @$(INSTALL_PROGRAM) tclsh $(BIN_DIR)
  185.  
  186. install-libraries:
  187.     @for i in $(prefix)/lib $(INCLUDE_DIR) $(TCL_LIBRARY) ; \
  188.         do \
  189.         if [ ! -d $$i ] ; then \
  190.         echo "Making directory $$i"; \
  191.         mkdir $$i; \
  192.         chmod 755 $$i; \
  193.         else true; \
  194.         fi; \
  195.         done;
  196.     @for i in tcl.h tclInt.h tclRegexp.h tclUnix.h; \
  197.         do \
  198.         echo "Installing $$i"; \
  199.         $(INSTALL_DATA) $(SRC_DIR)/$$i $(INCLUDE_DIR); \
  200.         done;
  201.     @cd $(SRC_DIR)/library; for i in *.tcl tclIndex; \
  202.         do \
  203.         echo "Installing library/$$i"; \
  204.         $(INSTALL_DATA) $$i $(TCL_LIBRARY); \
  205.         done;
  206.  
  207. install-man:
  208.     @for i in $(MAN_DIR) $(MAN1_DIR) $(MAN3_DIR) $(MANN_DIR) ; \
  209.         do \
  210.         if [ ! -d $$i ] ; then \
  211.         echo "Making directory $$i"; \
  212.         mkdir $$i; \
  213.         chmod 755 $$i; \
  214.         else true; \
  215.         fi; \
  216.         done;
  217.     @cd $(SRC_DIR)/doc; for i in *.1; \
  218.         do \
  219.         echo "Installing doc/$$i"; \
  220.         rm -f $(MAN1_DIR)/`basename $$i .1`.$(MAN1_EXT); \
  221.         sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
  222.             $$i > $(MAN1_DIR)/`basename $$i .1`.$(MAN1_EXT); \
  223.         chmod 444 $(MAN1_DIR)/`basename $$i .1`.$(MAN1_EXT); \
  224.         done;
  225.     @cd $(SRC_DIR)/doc; for i in *.3; \
  226.         do \
  227.         echo "Installing doc/$$i"; \
  228.         rm -f $(MAN3_DIR)/`basename $$i .3`.$(MAN3_EXT); \
  229.         sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
  230.             $$i > $(MAN3_DIR)/`basename $$i .3`.$(MAN3_EXT); \
  231.         chmod 444 $(MAN3_DIR)/`basename $$i .3`.$(MAN3_EXT); \
  232.         done;
  233.     @cd $(SRC_DIR)/doc; for i in *.n; \
  234.         do \
  235.         echo "Installing doc/$$i"; \
  236.         rm -f $(MANN_DIR)/`basename $$i .n`.$(MANN_EXT); \
  237.         sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
  238.             $$i > $(MANN_DIR)/`basename $$i .n`.$(MANN_EXT); \
  239.         chmod 444 $(MANN_DIR)/`basename $$i .n`.$(MANN_EXT); \
  240.         done;
  241.  
  242. Makefile: $(SRC_DIR)/Makefile.in
  243.     $(SHELL) config.status
  244.  
  245. clean:
  246.     rm -f *.a *.sa *.o *.so *.so.* core errs *~ \#* TAGS *.E a.out errors tclsh tcltest jump/_*
  247.  
  248. distclean: clean
  249.     rm -f Makefile config.status
  250.  
  251. getcwd.o: $(SRC_DIR)/compat/getcwd.c
  252.     $(CC) -c $(CC_SWITCHES) $(SRC_DIR)/compat/getcwd.c
  253.  
  254. opendir.o: $(SRC_DIR)/compat/opendir.c
  255.     $(CC) -c $(CC_SWITCHES) $(SRC_DIR)/compat/opendir.c
  256.  
  257. strerror.o: $(SRC_DIR)/compat/strerror.c
  258.     $(CC) -c $(CC_SWITCHES) $(SRC_DIR)/compat/strerror.c
  259.  
  260. strstr.o: $(SRC_DIR)/compat/strstr.c
  261.     $(CC) -c $(CC_SWITCHES) $(SRC_DIR)/compat/strstr.c
  262.  
  263. strtod.o: $(SRC_DIR)/compat/strtod.c
  264.     $(CC) -c $(CC_SWITCHES) $(SRC_DIR)/compat/strtod.c
  265.  
  266. strtol.o: $(SRC_DIR)/compat/strtol.c
  267.     $(CC) -c $(CC_SWITCHES) $(SRC_DIR)/compat/strtol.c
  268.  
  269. strtoul.o: $(SRC_DIR)/compat/strtoul.c
  270.     $(CC) -c $(CC_SWITCHES) $(SRC_DIR)/compat/strtoul.c
  271.  
  272. tmpnam.o: $(SRC_DIR)/compat/tmpnam.c
  273.     $(CC) -c $(CC_SWITCHES) $(SRC_DIR)/compat/tmpnam.c
  274.  
  275. waitpid.o: $(SRC_DIR)/compat/waitpid.c
  276.     $(CC) -c $(CC_SWITCHES) $(SRC_DIR)/compat/waitpid.c
  277.  
  278. .c.o:
  279.     $(CC) -c $(CC_SWITCHES) $<
  280.  
  281. %.so: %.c
  282.     ${SHCC} -c ${CC_SWITCHES} $< -o $@
  283.  
  284. tclMain.so: tclMain.c
  285.     ${SHCC} -Dmain=Tcl_Main -c ${CC_SWITCHES} $< -o $@
  286.  
  287. ${OBJS}: $(SRC_DIR)/tcl.h $(SRC_DIR)/tclInt.h
  288. ${UNIX_OBJS}: $(SRC_DIR)/tclUnix.h
  289. tclCmdIL.o: $(SRC_DIR)/patchlevel.h
  290.