home *** CD-ROM | disk | FTP | other *** search
Makefile | 1991-09-13 | 4.6 KB | 174 lines |
- ######################################################################
- #
- # Copyright (C) 1990, 1991 Free Software Foundation, Inc.
- # Written by Steve Byrne, with lots of good input from Dave Ciemiewicz.
- #
- # This file is part of GNU Smalltalk.
- #
- # GNU Smalltalk is free software; you can redistribute it and/or modify it
- # under the terms of the GNU General Public License as published by the Free
- # Software Foundation; either version 1, or (at your option) any later version.
- #
- # GNU Smalltalk is distributed in the hope that it will be useful, but WITHOUT
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- # details.
- #
- # You should have received a copy of the GNU General Public License along with
- # GNU Smalltalk; see the file COPYING. If not, write to the Free Software
- # Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- #
- #######################################################################
-
- ##################
- ##################
- ##################
- ###
- ### See mst.texinfo for details on installation.
- ###
- ##################
- ##################
- ##################
-
- ##############
- #
- # These variables you may wish to change
- #
- ##############
-
- # Mail path to GNU Smalltalk maintainer (Steve Byrne)
- MAINTAINER = 'nfsun!sbyrne@uunet.uu.net'
-
- # Uncomment this to use the winning GNU C compiler
- #CC = gcc
-
- # These two definitions are used to allow you to add your own files
- # and libraries that will be linked into the GNU Smalltalk executable image.
- # see ./examples/Makefile for an example of how to use these
- USER_OBJS = win.o
- USER_LIBS = -lsuntool -lsunwindow -lpixrect
-
- # This controls what file gets created on a 'make tar'...it could be the name
- # of a tape drive.
- TAR_FILE = mst.tar # change this or override to be correct for your site
-
- # Note: an alternative is CPP = /lib/cpp
- CPP = cc -E
-
- # Uncomment this line to enable the ultra-winning readline-reader
- #READLINE = -DUSE_READLINE
-
- ######################################################################
- ######################################################################
- ######################################################################
- ###
- ### You typically won't want to change any variables below this
- ### point, although you may want to add rules for your own C functions
- ### below.
- ###
- ######################################################################
- ######################################################################
- ######################################################################
-
- MAKE = make # BSD doesn't have it as a default.
-
- # This controls the distribution version (not completely yet)
- VERSION=1.1
-
- all: xmakefile $(USER_OBJS)
- @$(MAKE) $(MFLAGS) \
- CC=$(CC) \
- "USER_OBJS=$(USER_OBJS)" "USER_LIBS=$(USER_LIBS)" \
- -f xmakefile mst
-
- mst lexdebug: xmakefile $(USER_OBJS)
- @$(MAKE) $(MFLAGS) CC=$(CC) \
- "USER_OBJS=$(USER_OBJS)" "USER_LIBS=$(USER_LIBS)" \
- -f xmakefile $@
-
-
-
- unfin:
- egrep -n '### ' *.[chy]
-
- optionals:
- egrep -n '??? ' *.[chy]
-
- profile:
- $(MAKE) CFLAGS='$(CFLAGS) -pg -Dprofiling' -f xmakefile $@
-
- regress:
- (cd ./test; run-regression-tests)
-
- clean:
- -rm -f *.o
- -rm -f mst mst.im
- -rm -f junk.c xmakefile
-
- #
- # Install into the directories pointed to by mstpaths.h
- #
-
- install: xmakefile
- @$(MAKE) $(MFLAGS) -f xmakefile install
-
- #
- # Create a tar file based on the Smalltalk source files
- #
- tar:
- rm -f smalltalk-$(VERSION)
- ln -s . smalltalk-$(VERSION)
- sed -e "s/^/smalltalk-$(VERSION)\//" < mstfiles > mstdistfiles
- tar cvf $(TAR_FILE) `cat mstdistfiles`
- rm -f mstdistfiles
-
- xmakefile: ymakefile mstconfig.h mstpaths.h
- @echo "===== creating configuration dependent xmakefile"
- rm -f xmakefile
- cp ymakefile junk.c
- $(CPP) -DFOR_MAKE $(READLINE) junk.c | \
- sed -e 's/^#.*//' -e 's/^[ \f\t][ \f\t]*$$//' -e 's/^ / /' | \
- sed -n -e '/^..*$$/p' > xmakefile
- rm -f junk.c
- @echo "===== done creating xmakefile"
-
-
-
- #
- # Make the shar file for GNU Smalltalk
- #
- shar:
- shar -imstfiles > mst.shar
-
-
- #
- # (Re)build the tags for Emacs
- #
- tags:
- etags mst*.[ch]
-
- senddiffs: diffs
- kermit -e 1000 -s mst.diffs
-
- mail-diffs:
- @echo "Please enter a brief note describing the contents of"
- @echo "the diffs file that you've created. End with Ctrl-D."
- @cat > mst.diffs.note
- @echo "-----------------------------------" >> mst.diffs.note
- @### If there's a more portable/better way to do this, please
- @### don't hesitate to fix this and send the new version back -- SBB
- @cat mst.diffs.note mst.diffs | mail $(MAINTAINER)
-
- diffs:
- mk_mst_diffs
-
- setup:
- @if [ -f ./orig ] ; then \
- echo "./orig exists, but is not a directory" ; \
- exit 1 ; \
- fi
- rm -rf ./orig
- mkdir ./orig
- tar cbf 20 - `cat mstfiles` | (cd ./orig; tar xbBf 20 -)
-
-