stk/Makefile.in

208 lines
6.9 KiB
Makefile

#
# Toplevel Makefile for STk
#
#
# Copyright © 1993-1999 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
#
# Permission to use, copy, modify, distribute,and license this
# software and its documentation for any purpose is hereby granted,
# provided that existing copyright notices are retained in all
# copies and that this notice is included verbatim in any
# distributions. No written agreement, license, or royalty fee is
# required for any of the authorized uses.
# This software is provided ``AS IS'' without express or implied
# warranty.
#
# Author: Erick Gallesio [eg@unice.fr]
# Creation date: ??-Sep-1993 ??:??
# Last file update: 3-Sep-1999 20:03 (eg)
#
SHELL = /bin/sh
CP = /bin/cp
STRIP = strip
RANLIB = @RANLIB@
MACHTYPE = @MACHINE@
MP = @MP@.a
FLAVOR = @FLAVOR@
prefix = @prefix@
include VERSION
include paths
all: $(FLAVOR)
unix: start tcl-dir mp-dir stack-dir tk-dir snow-dir src-dir stklos-dir ext-dir stop
win: start tcl-dir mp-dir stack-dir tk-dir snow-dir src-dir stklos-dir ext-dir stop
start:
@date > .start-date
@/bin/rm -f config.make
@echo "# Common startup for all Makefiles" > config.make
@echo "# This file is automatically generated" >> config.make
@echo "VERSION = $(VERSION)" >> config.make
@echo "FLAVOR = $(FLAVOR)" >> config.make
@echo "SHELL = $(SHELL)" >> config.make
@echo "MACHTYPE = $(MACHTYPE)" >> config.make
@echo "prefix = $(prefix)" >> config.make
@cat ./paths >> config.make
@echo "MACHINE = -DMACHINE=\\\"$(MACHTYPE)\\\"" >> config.make
@echo "CC = @CC@" >> config.make
@echo "STKCFLAGS = @STKCFLAGS@" >> config.make
@echo "STKLDFLAGS = @STKLDFLAGS@" >> config.make
@echo "CP = $(CP)" >> config.make
@echo "RANLIB = @RANLIB@" >> config.make
@echo "STRIP = @STRIP@" >> config.make
@echo "XINCLUDES = @XINCLUDES@" >> config.make
@echo "XLIBSW = @XLIBSW@" >> config.make
@echo "MP = @MP@" >> config.make
@echo "DFLGS = @DFLGS@" >> config.make
@echo "EOBJ = @EOBJ@" >> config.make
@echo "ETKOBJ = @ETKOBJ@" >> config.make
@echo "EXTRA_OBJ = @EXTRA_OBJ@" >> config.make
@echo "DYNLOAD = @DYNLOAD@" >> config.make
@echo "SH_CCFLAGS = @SH_CCFLAGS@" >> config.make
@echo "SH_LDFLAGS = @SH_LDFLAGS@" >> config.make
@echo "SH_LOADER = @SH_LOADER@" >> config.make
@echo "SH_SUFFIX = @SH_SUFFIX@" >> config.make
@echo "LIB_MALLOC = @LIB_MALLOC@" >> config.make
@echo "LIB_DLD = @LIB_DLD@" >> config.make
@echo "STK_LIBRARY = $(libdir)" >> config.make
stop:
@echo "Make started at `cat .start-date`"
@/bin/rm .start-date
@echo "Make completed at `date`"
tcl-dir:
@(echo "make Tcl"; cd Tcl; $(MAKE) $(FLAVOR))
tk-dir:
@(echo "make Tk"; cd Tk; $(MAKE) libtk.a)
mp-dir:
@(echo "make Mp"; cd Mp; $(MAKE) $(MP))
stack-dir:
@(echo "make Stack"; cd Stack; $(MAKE))
src-dir:
@(echo "make Src"; cd Src; $(MAKE) stk TK="-DUSE_TK")
snow-dir:
@(echo "make Snow"; cd Snow; $(MAKE) snow TK="-DNO_TK")
stklos-dir:
@(echo "make STklos"; cd STklos; $(MAKE) stklos)
ext-dir:
@(echo "Make Extensions"; cd Extensions; $(MAKE) all)
doc:
@(echo "Make Documentation"; cd Doc; $(MAKE) all)
dvi:
@(echo "Make Documentation(dvi)"; cd Doc; $(MAKE) dvi)
demos:
/bin/sh -c "(cd Demos; ../Src/test-stk -f S-scape README.html)"
install: install-no-strip
@echo "Stripping executables ..."
$(STRIP) $(root)$(execdir)/stk
$(STRIP) $(root)$(execdir)/snow
@echo ""
@echo "Installation completed."
install-no-strip: clean-before
(cd Tcl; $(MAKE) install prefix=$(root)$(prefix))
(cd Tk; $(MAKE) install INSTALL_ROOT=$(root))
(cd Mp; $(MAKE) install prefix=$(root)$(prefix))
(cd Src; $(MAKE) install.stk root=$(root))
(cd Snow; $(MAKE) install.snow root=$(root))
(cd Lib; $(MAKE) install root=$(root))
(cd STklos; $(MAKE) install prefix=$(root)$(prefix))
(cd Extensions; $(MAKE) install prefix=$(root)$(prefix))
(cd Demos; $(MAKE) install root=$(root))
(cd Help; $(MAKE) install prefix=$(root)$(prefix))
(cd Doc; $(MAKE) install prefix=$(root)$(prefix))
(cd Stack; $(MAKE) install prefix=$(root)$(prefix))
install.libs:
-if [ ! -d $(root)$(confdir) ] ; then mkdir -p $(root)$(confdir); fi
$(CP) config.make $(root)$(confdir)
-if [ ! -d $(root)$(incdir) ] ; then mkdir -p $(root)$(incdir); fi
/bin/rm -f $(root)$(stkdir)/include
(cd $(root)$(stkdir) ; ln -s $(VERSION)/include ./include)
(cd Tcl; $(MAKE) install.libs prefix=$(root)$(prefix))
(cd Tk; $(MAKE) install.libs prefix=$(root)$(prefix))
(cd Mp; $(MAKE) install.libs prefix=$(root)$(prefix))
(cd Src; $(MAKE) install.stk.libs root=$(root))
(cd Snow; $(MAKE) install.snow.libs root=$(root))
(cd Stack; $(MAKE) install.libs root=$(root))
chmod 0755 $(root)$(confdir) $(root)$(ardir) $(root)$(confdir)/* $(root)$(ardir)/*
@echo ""
@echo "Full installation completed."
binary-release: install install.man
(cd $(prefix)/lib; \
tar cvfz /tmp//STk-$(VERSION)-$(MACHINE).tar.gz stk/$(VERSION)/$(MACHINE))
@echo "The release is in the file /tmp/STk-$(VERSION)-$(MACHINE).tar.gz"
@echo "Don't forget to create the file STk-$(VERSION)-$(MACHINE).README"
@echo "to describe the content of your archive (a template is given in"
@echo "the file BINARY-DISTRIB"
common-release:
(cd $(prefix)/lib; \
tar cvfz /tmp/STk-$(VERSION)-common.tar.gz stk/$(VERSION)/Help \
stk/$(VERSION)/STk \
stk/$(VERSION)/demos \
stk/$(VERSION)/images \
stk/$(VERSION)/images \
stk/$(VERSION)/man \
stk/man)
@echo "Terminé. Le fichier est dans /tmp/STk-$(VERSION)-common.tar.gz"
clean-before:
@if [ -d $(root)$(prefix)/lib/stk ]; \
then \
echo "*** WARNING:"; \
echo "*** A previous version of STk has already been installed in"; \
echo "*** directory '$(stkdir)'. It is not a problem since"; \
echo "*** several versions can coexist now in this directory"; \
echo "*** However, if you are short in place, or if you don't use "; \
echo "*** a multi architecture file system, cleaning may be a good"; \
echo "*** thing to do."; \
echo "*** (Waiting 10s) " ; \
sleep 10;\
fi
@if [ -d $(root)$(prefix)/lib/stk/$(VERSION) ]; \
then \
echo "*** WARNING:"; \
echo "*** This STk version ($(VERSION)) has already been installed "; \
echo "*** on this machine. Should I clean this directory before "; \
echo "*** starting installation of STk-$(VERSION)? [no] " ; \
read a; \
case $$a in \
y*|Y*) echo "Deleting previous installation"; \
/bin/rm -rf $(stkdir)/$(VERSION);; \
*) echo "No cleaning!";; \
esac; \
fi
install.man:
(cd Doc; $(MAKE) install.man)
clean:
(cd Tcl; $(MAKE) clean)
(cd Tk; $(MAKE) clean)
(cd Mp; $(MAKE) clean)
(cd Stack; $(MAKE) clean)
(cd Src; $(MAKE) clean)
(cd Snow; $(MAKE) clean)
(cd STklos; $(MAKE) clean)
(cd Extensions; $(MAKE) clean)
(cd Help; $(MAKE) clean)
(cd Doc; $(MAKE) clean)
/bin/rm -f core *~ Makefile config.* Src/Makefile
cin:
@(cat VERSION; prcs checkin -n)
ci:
@(cat VERSION; prcs checkin)