home *** CD-ROM | disk | FTP | other *** search
/ Serving the Web / ServingTheWeb1995.disc1of1.iso / linux / slacksrce / tcl / tcl+tk+t / tclx7.3bl / tclx7 / tclX7.3b / src / Makefile < prev    next >
Encoding:
Makefile  |  1994-08-21  |  7.0 KB  |  212 lines

  1. # Generated automatically from Makefile.in by configure.
  2. #
  3. # src/Makefile.in  --
  4. #
  5. # Makefile for Extended Tcl C sources. 
  6. #------------------------------------------------------------------------------
  7. # Copyright 1992-1994 Karl Lehenbauer and Mark Diekhans.
  8. #
  9. # Permission to use, copy, modify, and distribute this software and its
  10. # documentation for any purpose and without fee is hereby granted, provided
  11. # that the above copyright notice appear in all copies.  Karl Lehenbauer and
  12. # Mark Diekhans make no representations about the suitability of this
  13. # software for any purpose.  It is provided "as is" without express or
  14. # implied warranty.
  15. #------------------------------------------------------------------------------
  16. # $Id: Makefile.in,v 4.0 1994/07/16 05:27:54 markd Rel $
  17. #------------------------------------------------------------------------------
  18. #
  19. SHELL = /bin/sh
  20.  
  21. #------------------------------------------------------------------------------
  22. # Autoconfig defines that can be overridden in Config.mk
  23.  
  24. CC          = cc
  25. RANLIB      = ranlib
  26. srcdir      = .
  27. srcbasedir  = /usr/src/tclX7.3b
  28. bldbasedir  = /usr/src/tclX7.3b
  29. prefix      = /usr/local
  30. exec_prefix = /usr/local
  31. ARCH        = 
  32. LIBS        =   -lbsd -lieee -lm
  33.  
  34. #------------------------------------------------------------------------------
  35. # Include user-editable defines.
  36.  
  37. include ${bldbasedir}/Config.mk
  38.  
  39. #------------------------------------------------------------------------------
  40.  
  41. LIBTCL_A      = ${bldbasedir}/tclmaster/lib${ARCH}/libtcl.a
  42. LIBTCLX_A     = ${bldbasedir}/tclmaster/lib${ARCH}/libtclx.a
  43. TCL           = ${bldbasedir}/tclmaster/bin${ARCH}/tcl
  44. TCLEXTEND_H   = ${bldbasedir}/tclmaster/include/tclExtend.h
  45. TCLPP_H       = ${bldbasedir}/tclmaster/include/tcl++.h
  46. APPINIT       = ${bldbasedir}/tclmaster/src/tclXAppInit.c
  47. SYSLIBS       = ${bldbasedir}/tclmaster/src/SYSLIBS${ARCH}
  48. TCLXMAINPP_C  = ${bldbasedir}/tclmaster/src/tclXmain++.C
  49. TCLXMAINPP_O  = ${bldbasedir}/tclmaster/lib${ARCH}/tclXmain++.o
  50.  
  51. LDLIBS = ${LIBTCLX_A} ${LIBTCL_A} ${LIBS}
  52.  
  53. CC_FLAGS = ${CPPFLAGS} ${XCFLAGS} ${CFLAGS} -I${srcbasedir}/src \
  54.            -I${bldbasedir}/src -I${TCL_UCB_SRC}
  55.  
  56. .c.o:
  57.     ${CC} ${CC_FLAGS} -c $<
  58.  
  59. %.so: %.c
  60.     ${SHCC} -c ${CC_FLAGS} $< -o $@
  61.  
  62. #------------------------------------------------------------------------------
  63.  
  64. OBJS= \
  65.     tclXbsearch.o    tclXchmod.o      tclXclock.o      tclXcmdInit.o \
  66.     tclXcmdloop.o    tclXcnvclock.o   tclXdebug.o      tclXdup.o     \
  67.     tclXfcntl.o      tclXfilecmds.o   tclXfilescan.o   tclXflock.o   \
  68.     tclXfstat.o      tclXgeneral.o    tclXgetdate.o    tclXhandles.o \
  69.     tclXid.o         tclXinit.o       tclXkeylist.o    tclXlib.o     \
  70.     tclXlist.o       tclXmain.o       tclXmath.o       tclXmsgcat.o  \
  71.     tclXprocess.o    tclXprofile.o    tclXregexp.o     tclXselect.o  \
  72.     tclXserver.o     tclXsignal.o     tclXshell.o      tclXstring.o  \
  73.     tclXunixcmds.o   tclXutil.o       tclXdata.o
  74.  
  75. UCBOBJS=tclCmdIL.o
  76.  
  77. LDFLAGS = -N
  78. DLLBIN = /usr/dll/bin
  79. SHCC = ${CC} -B/usr/dll/jump/
  80. SHOBJS = ${subst tclXmain.so,,${OBJS:.o=.so}} ${UCBOBJS:.o=.so} oldCompat.so
  81. JUMP_VER = 3.2.0
  82. JUMP_ARGS = -v ${JUMP_VER} -a 0x60c80000 -j 0x1000 -g 4096
  83. export JUMP_DIR = $(shell pwd)/jump
  84. export JUMP_LIB = libtclx
  85.  
  86. #------------------------------------------------------------------------------
  87. # Compile the TclX library and link the shell.  If the link fails, purge
  88. # the executable, as some systems leave invalid executables around.
  89.  
  90. all: made.tmp ${TCL} ${TCLEXTEND_H} ${TCLPP_H} ${APPINIT} ${SYSLIBS} \
  91.      ${TCLXMAINPP_C} ${TCL_PLUS_BUILD}
  92.  
  93. ${TCL}: tclXAppInit.o ${LIBTCLX_A} ${LIBTCL_A} made.tmp 
  94.     ${CC} ${CC_FLAGS} ${XLDFLAGS} tclXAppInit.o ${LDLIBS} ${XLDLIBS} \
  95.           -o ${TCL} || (rm -f ${TCL}; exit 1)
  96.  
  97. made.tmp ${LIBTCLX_A}: ${OBJS} ${UCBOBJS} ${CPLUSOBJS}
  98.     ${AR} cr ${LIBTCLX_A} ${OBJS} ${UCBOBJS} ${CPLUSOBJS}
  99.     ${RANLIB} ${LIBTCLX_A}
  100.     touch made.tmp
  101.  
  102. shared: tcl.shared
  103.  
  104. install.shared: shared
  105.     install -c -s tcl.shared ${prefix}/bin/tcl
  106.     install -c -m 644 libtclx.sa ${prefix}/lib
  107.     install -c -s libtclx.so.${JUMP_VER} ${prefix}/lib
  108.     ldconfig
  109.  
  110. tcl.shared: tclXAppInit.o libtclx.sa 
  111.     ${CC} ${LDFLAGS} ${XLDFLAGS} tclXAppInit.o libtclx.sa ${TCL_UCB_SRC}/libtcl.sa ${LIBS} -o $@
  112.  
  113. libtclx.sa: ${SHOBJS} libtclx.so.${JUMP_VER}
  114.     ${DLLBIN}/mkstubs -l libtclx ${JUMP_ARGS} -- libtclx
  115.     ar rs libtclx.sa tclXmain.o
  116.  
  117. libtclx.so.${JUMP_VER}: ${SHOBJS}
  118.     ${DLLBIN}/mkimage -l libtclx ${JUMP_ARGS} -- ${SHOBJS} ${TCL_UCB_SRC}/libtcl.sa $(LIBS) -lc `${CC} -print-libgcc-file-name` -lc
  119.  
  120. tclCmdIL.o: tclCmdIL.c ${TCL_UCB_SRC}/patchlevel.h
  121.     MASTER=${TCL_MASTERDIR}/`../tools/tclxversion` ;\
  122.     ${CC} -c ${CC_FLAGS} -DTCL_LIBRARY=\"$$MASTER\" tclCmdIL.c
  123.  
  124. tclCmdIL.so: tclCmdIL.c ${TCL_UCB_SRC}/patchlevel.h
  125.     MASTER=${TCL_MASTERDIR}/`../tools/tclxversion` ;\
  126.     ${SHCC} -c ${CC_FLAGS} -DTCL_LIBRARY=\"$$MASTER\" tclCmdIL.c -o $@
  127.  
  128. tclCmdIL.c: ${TCL_UCB_SRC}/tclCmdIL.c
  129.     rm -f tclCmdIL.c
  130.     cp ${TCL_UCB_SRC}/tclCmdIL.c tclCmdIL.c
  131.  
  132. tclXinit.o: tclXinit.c
  133.     MASTER=${TCL_MASTERDIR}/`../tools/tclxversion` ;\
  134.     ${CC} -c ${CC_FLAGS} -DTCL_MASTERDIR=\"$$MASTER\" \
  135.         ${srcdir}/tclXinit.c
  136.  
  137. tclXinit.so: tclXinit.c
  138.     MASTER=${TCL_MASTERDIR}/`../tools/tclxversion` ;\
  139.     ${SHCC} -c ${CC_FLAGS} -DTCL_MASTERDIR=\"$$MASTER\" \
  140.         ${srcdir}/tclXinit.c -o $@
  141.  
  142. tclXcmdInit.o: tclXcmdInit.c tclXpatchl.h
  143.  
  144. tclXgetdate.c: tclXgetdate.y
  145.     ${YACC} $(srcdir)/tclXgetdate.y
  146.     sed 's/yy/TclXyy/g' <y.tab.c >tclXgetdate.c
  147.     rm y.tab.c
  148.  
  149. tcl++.o: tcl++.C tcl++.h
  150.     ${CCPLUS} -c ${CC_FLAGS} ${srcdir}/tcl++.C
  151.     ${AR} cr ${LIBTCLX_A} tcl++.o
  152.     ${RANLIB} ${LIBTCLX_A}
  153.     touch made.tmp
  154.  
  155. #------------------------------------------------------------------------------
  156. # Copy include files, etc to the master directory.
  157. #
  158.  
  159. ${TCLEXTEND_H}: tclExtend.h
  160.     rm -f ${TCLEXTEND_H}
  161.     cp ${srcdir}/tclExtend.h ${TCLEXTEND_H}
  162.  
  163. ${TCLPP_H}: tcl++.h
  164.     rm -f ${TCLPP_H}
  165.     cp ${srcdir}/tcl++.h ${TCLPP_H}
  166.  
  167. ${APPINIT}: tclXAppInit.c
  168.     rm -f ${APPINIT}
  169.     cp ${srcdir}/tclXAppInit.c ${APPINIT}
  170.  
  171. ${SYSLIBS}: SYSLIBS
  172.     rm -f ${SYSLIBS}
  173.     cp SYSLIBS ${SYSLIBS}
  174.  
  175. ${TCLXMAINPP_C}: tclXmain++.C
  176.     rm -f ${TCLXMAINPP_C}
  177.     cp tclXmain++.C ${TCLXMAINPP_C}
  178.  
  179. #------------------------------------------------------------------------------
  180. # Make sure tcl++.h compiles, plus force tcl++.o into the library.
  181.  
  182. TCL_PLUS: tcl++ tcl++.o ${TCLXMAINPP_O}
  183.  
  184. tcl++: tclXmain++.o tcl++.o made.tmp
  185.     ${CCPLUS} ${CC_FLAGS} ${XLDFLAGS} tclXmain++.o tclXAppInit.o \
  186.            ${LDLIBS} ${XLDLIBS} -o tcl++
  187.  
  188. tclXmain++.o: tcl++.h tclXmain++.C
  189.     ${CCPLUS} -c ${CC_FLAGS} tclXmain++.C
  190.  
  191. tclXmain++.C: tclXmain.c
  192.     rm -f tclXmain++.C
  193.     cp ${srcdir}/tclXmain.c tclXmain++.C
  194.  
  195. ${TCLXMAINPP_O}: tclXmain++.o
  196.     rm -f ${TCLXMAINPP_O}
  197.     cp tclXmain++.o ${TCLXMAINPP_O}
  198.  
  199. #------------------------------------------------------------------------------
  200.  
  201. clean:
  202.     -rm -f made.tmp tclXgetdate.c tclXmain++.C tclXAppInit.o tclCmdIL.c
  203.     -rm -f ${OBJS} ${UCBOBJS} tclXmain++.o tcl++.o ${TCL} tcl++
  204.     -rm -f ${SHOBJS} tcl.shared libtclx.sa libtclx.so.* jump/_*
  205.  
  206. #------------------------------------------------------------------------------
  207. # Restore to the distributed state.
  208.  
  209. distclean: clean
  210.     rm -f Makefile tclXconfig.h SYSLIBS
  211.