|
|
1.1 ! root 1: # ! 2: # Makefile -- ! 3: # ! 4: # Makefile for Extended Tcl. This requires Tcl 6.1 or Tcl 6.2 from Berkeley, ! 5: # which should be compiled before running this makefile. Its location is ! 6: # configured below. ! 7: # ! 8: #------------------------------------------------------------------------------ ! 9: # Copyright 1992 Karl Lehenbauer and Mark Diekhans. ! 10: # ! 11: # Permission to use, copy, modify, and distribute this software and its ! 12: # documentation for any purpose and without fee is hereby granted, provided ! 13: # that the above copyright notice appear in all copies. Karl Lehenbauer and ! 14: # Mark Diekhans make no representations about the suitability of this ! 15: # software for any purpose. It is provided "as is" without express or ! 16: # implied warranty. ! 17: #------------------------------------------------------------------------------ ! 18: # $Id: Makefile,v 2.0 1992/10/16 04:54:45 markd Rel $ ! 19: #------------------------------------------------------------------------------ ! 20: # ! 21: ! 22: include config.mk ! 23: include config/$(TCL_CONFIG_FILE) ! 24: SHELL=/bin/sh ! 25: ! 26: #------------------------------------------------------------------------------ ! 27: ! 28: # List of files that are touched by secondary makefiles when something changes. ! 29: ! 30: MADE.FILES=ucbsrc/made.tmp ossupp/made.tmp src/made.tmp ! 31: TKMADE.FILES=tkucbsrc/made.tmp ! 32: ! 33: CFLAGS= $(OPTIMIZE_FLAG) $(XCFLAGS) -I$(TCL_UCB_DIR) $(MEM_DEBUG_FLAGS) \ ! 34: $(SYS_DEP_FLAGS) ! 35: ! 36: #------------------------------------------------------------------------------ ! 37: ! 38: all: tcl tcldef runtcl $(TCL_TK_SHELL) ! 39: ! 40: ! 41: #------------------------------------------------------------------------------ ! 42: # Compile the Extended Tcl library and link the Tcl shell. ! 43: # ! 44: ! 45: tcl: TCLX_MAKES ! 46: ! 47: TCLX_MAKES: libtcl.a ! 48: cd ucbsrc; $(MAKE) -$(MAKEFLAGS) all ! 49: cd ossupp; $(MAKE) -$(MAKEFLAGS) all ! 50: cd tclsrc; $(MAKE) -$(MAKEFLAGS) all ! 51: cd src; $(MAKE) -$(MAKEFLAGS) all ! 52: ! 53: ! 54: # Copy the UCB libtcl.a file from where it was built. Force the other ! 55: # Makefiles to add their .o files to the library by nuking their made.tmp file. ! 56: ! 57: libtcl.a: $(TCL_UCB_DIR)/libtcl.a ! 58: cp $(TCL_UCB_DIR)/libtcl.a . ! 59: rm -f $(MADE.FILES) ! 60: ! 61: #------------------------------------------------------------------------------ ! 62: # Generate a libtk.a with extensions and a wish shell with Extended Tcl ! 63: # commands. ! 64: # ! 65: ! 66: wish: TKX_MAKES runwish ! 67: ! 68: TKX_MAKES: libtk.a ! 69: cd tkucbsrc; $(MAKE) -$(MAKEFLAGS) all ! 70: cd tksrc; $(MAKE) -$(MAKEFLAGS) all ! 71: ! 72: ! 73: # Copy the UCB libtk.a file. Force the other Makefiles to add their ! 74: # .o files to the library by nuking their made.tmp file. ! 75: ! 76: libtk.a: $(TCL_TK_DIR)/libtk.a ! 77: cp $(TCL_TK_DIR)/libtk.a libtk.a ! 78: rm -f $(TKMADE.FILES) ! 79: ! 80: ! 81: #------------------------------------------------------------------------------ ! 82: # Generate a temporary TCLDEFAULT file so Tcl can be run in this directory. ! 83: # Also generate a script to point the TCLDEFAULT environment variable ! 84: # at this file for testing Tcl before its installed. ! 85: ! 86: tcldef: ! 87: @echo " - Generating temporary TCLDEFAULT file. -" ! 88: @echo " - Use runtcl script to test Tcl before installing -" ! 89: @echo " - Use runwish script to test Tk before installing -" ! 90: @echo '# Temporary TCLDEFAULT file for debugging' >tcldef ! 91: @echo "set TCLPATH `pwd`/tcllib" >>tcldef ! 92: @echo "set TCLINIT `pwd`/tcllib/tclinit.tcl" >>tcldef ! 93: ! 94: runtcl: ! 95: @echo ':' >runtcl ! 96: @echo '# script for testing Tcl before installation' >>runtcl ! 97: @echo "TCLDEFAULT=`pwd`/tcldef" >>runtcl ! 98: @echo "export TCLDEFAULT" >>runtcl ! 99: @echo "if [ \$$# = 0 ]" >>runtcl ! 100: @echo "then" >>runtcl ! 101: @echo " exec `pwd`/tcl" >>runtcl ! 102: @echo "else" >>runtcl ! 103: @echo " exec `pwd`/tcl \"\$$@\"" >>runtcl ! 104: @echo "fi" >>runtcl ! 105: chmod a+rx runtcl ! 106: ! 107: runwish: ! 108: @echo ':' >runwish ! 109: @echo '# script for testing wish before installation' >>runwish ! 110: @echo "TCLDEFAULT=`pwd`/tcldef" >>runwish ! 111: @echo "export TCLDEFAULT" >>runwish ! 112: @echo "if [ \$$# = 0 ]" >>runwish ! 113: @echo "then" >>runwish ! 114: @echo " exec `pwd`/wish" >>runwish ! 115: @echo "else" >>runwish ! 116: @echo " exec `pwd`/wish \"\$$@\"" >>runwish ! 117: @echo "fi" >>runwish ! 118: chmod a+rx runwish ! 119: ! 120: #------------------------------------------------------------------------------ ! 121: # ! 122: # just test to see if the C++ include file compiles and links ! 123: ! 124: tclplus: ! 125: cd src;$(MAKE) -$(MAKEFLAGS) tclplus ! 126: ! 127: #------------------------------------------------------------------------------ ! 128: # ! 129: # Run the UCB and Extended Tcl tests. ! 130: ! 131: test: ucbtests extdtests ! 132: ! 133: ucbtests: all ! 134: @echo "" ! 135: @echo "**************************************************" ! 136: @echo "* Ignore failures in tests: expr-2.2 & expr-2.6 *" ! 137: @echo "**************************************************" ! 138: @echo "" ! 139: ./runtcl -c "cd $(TCL_UCB_DIR)/tests;source all" ! 140: ! 141: extdtests: all ! 142: ./runtcl -c "cd tests;source all" ! 143: ! 144: #------------------------------------------------------------------------------ ! 145: # Install Tcl. ! 146: ! 147: install: all ! 148: ./runtcl tclsrc/install.tcl ! 149: ! 150: ! 151: #------------------------------------------------------------------------------ ! 152: # Clean up the mess we made. ! 153: ! 154: clean: ! 155: cd ucbsrc; $(MAKE) -$(MAKEFLAGS) clean ! 156: cd ossupp; $(MAKE) -$(MAKEFLAGS) clean ! 157: cd src; $(MAKE) -$(MAKEFLAGS) clean ! 158: cd tclsrc; $(MAKE) -$(MAKEFLAGS) clean ! 159: cd tkucbsrc; $(MAKE) -$(MAKEFLAGS) clean ! 160: cd tksrc; $(MAKE) -$(MAKEFLAGS) clean ! 161: touch junk~ config/junk~ ! 162: -rm -f *~ config/*~ libtcl.a tcldef libtk.a runtcl runwish
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.