208 lines
6.9 KiB
Makefile
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)
|
|
|