#------------------------------------------------------------------------ # # XCRYSDEN Top Makefile # #------------------------------------------------------------------------ #SHELL = /bin/sh TOPDIR = $(PWD) ARCH = \ cygwin \ dec \ dec-gcc-static \ dec-gcc-staticTclTk \ dec-static \ linux \ linux-alpha \ linux-static \ sgi-static \ sgi-static-gcc \ sgi-staticTclTk-gcc \ sunos \ sys TCL_INDEX = $(TOPDIR)/util/aindex FILETAIL = $(TOPDIR)/util/filetail include make.include what: @clear; ARCH="$(ARCH)"; export ARCH; . make-usage # some varibales ... all: bindir tcl tk mesa xcrysden xcrysden: bindir src-C src-F check-make-sys: @if test ! -f Make.sys ; then \ echo ""; \ echo " First copy an appropriate system/Make.* file to ./Make.sys "; \ echo " and edit it to suit your needs."; \ echo ""; exit 1; fi help: @. make-usage # # BEWARE: the install target doesn't work because, Makefile overwrites # the SHELL variable install: ./xcConfigure bindir: if test ! -d bin ; then mkdir bin; fi tcl: check-make-sys if test -d external/src ; then \ cd external/src; $(MAKE) "TOPDIR=$(TOPDIR)" tcl; fi tk: check-make-sys if test -d external/src ; then \ cd external/src; $(MAKE) "TOPDIR=$(TOPDIR)" tk; fi mesa: check-make-sys if test -d external/src ; then \ cd external/src; $(MAKE) "TOPDIR=$(TOPDIR)" mesa; fi src-C: check-make-sys @echo @echo "#------------------------------#" @echo "# #" @echo "# Compiling XCRYSDEN C-code #" @echo "# #" @echo "#------------------------------#" @echo cd C; $(MAKE) "TOPDIR=$(TOPDIR)" compile src-F: check-make-sys @echo @echo "#------------------------------#" @echo "# #" @echo "# Compiling XCRYSDEN F-code #" @echo "# #" @echo "#------------------------------#" @echo cd F/SRC_nn; $(MAKE) "TOPDIR=$(TOPDIR)" cd F/SRC_spaghetti; $(MAKE) "TOPDIR=$(TOPDIR)" cd F; $(MAKE) "TOPDIR=$(TOPDIR)" src-Tcl: @echo @echo "#------------------------------#" @echo "# #" @echo "# Managing XCRYSDEN Tcl-code #" @echo "# #" @echo "#------------------------------#" @echo cd Tcl; $(MAKE) cd Tcl/fs; $(MAKE) links: ln -sf xcConfigure.sh xcConfigure #ln -sf xcConfigure.sh xcInstall #ln -sf README INSTALL tests: if test -x bin/xcrys ; then cd tests; ./make_all_tests.sh; fi # ------------------------------------------------------------------------ # clean-targets # ------------------------------------------------------------------------ clean: clean-C clean-F clean-Tcl cd examples; $(MAKE) clean veryclean: clean clean-external distclean: veryclean cd external; $(MAKE) distclean clean-bck: -rm -f *~ -rm -f */*~ -rm -f */*/*~ -rm -f */*/*/*~ clean-C: check-make-sys cd C; $(MAKE) "TOPDIR=$(TOPDIR)" clean clean-F: check-make-sys -cd F/SRC_nn; $(MAKE) "TOPDIR=$(TOPDIR)" clean -cd F/SRC_spaghetti; $(MAKE) "TOPDIR=$(TOPDIR)" clean -cd F; $(MAKE) "TOPDIR=$(TOPDIR)" clean clean-Tcl: cd Tcl/fs; $(MAKE) clean cd Tcl; $(MAKE) clean clean-bin: -cd bin; rm -f * clean-external: if test -d external/src ; then \ cd external/src ; $(MAKE) "TOPDIR=$(TOPDIR)" clean; \ fi # ======================================================================== # # here are targets for making various distributions # # ======================================================================== ALWAYS_FILES = \ AUTHORS \ Awk/ \ COPYING \ COPYRIGHT \ ChangeLog \ NEWS \ README README.cygwin \ THANKS \ Tcl/*.tcl Tcl/tclIndex Tcl/fs/*.tcl Tcl/fs/tclIndex \ Tcl/Xcrysden_defaults Tcl/custom-definitions \ contrib/ \ examples/ \ external/lib/bwidget-$(BWIDGET_VER)/ \ images/ \ otherLICENSES/ \ scripts/ \ tests/ \ usage \ util/ \ version \ xcConfigure \ xcConfigure.sh \ sys_utils/xcConfigure_definitions.sh \ sys_utils/xcConfigure_updateProfile.sh \ xcrysden xcrysden.bat SRC_ONLY_FILES = \ Makefile make-usage make.include \ C/*.c C/*.h C/Makefile C/make-objects C/*.cygwin \ F/*.f F/*.inc F/Makefile \ F/*/*.f F/*/*.inc F/*/Makefile \ Tcl/Makefile Tcl/fs/Makefile \ docs/Makefile \ sys_utils/xcRepackage.sh sys_utils/rename_package.sh \ system/ EXTERNAL_SRC_FILES = \ external/Makefile \ external/src/Makefile \ external/src/tcl$(TCL_VER3)-src.tar.gz external/src/tk$(TCL_VER3)-src.tar.gz \ external/src/MesaLib-$(MESA_VER).tar.gz EXTERNAL_LIB_FILES = \ external/lib/tcl$(TCL_VER2) \ external/lib/tk$(TCL_VER2) EXTERNAL_SHAREDLIB_FILES = $(wildcard \ external/lib/libtcl$(TCL_VER2).so* external/lib/libtcl$(TCL_VER2).dylib \ external/lib/libtk$(TCL_VER2).so* external/lib/libtk$(TCL_VER2).dylib \ external/lib/libGL.so* external/lib/libGL.*.dylib* \ external/lib/libGLU.so* external/lib/libGLU.*.dylib* ) \ external/lib/libmeschach.so* external/lib/libfftw3.so* \ external/lib/libquadmath.so* EXTERNAL_GFORTRAN_LIB = #\ # external/lib/libgfortran.so.$(GFORTRAN_MINOR_VERSION) BIN_FILES = bin/ #------------------------------------------------------------------------ # SOURCE-distribution with all external libs #------------------------------------------------------------------------ srcdist-all: links clean-bck src-Tcl _src-dist-all srcdist: links clean-bck src-Tcl _src-dist #------------------------------------------------------------------------ # binary (i.e. precompiled) distributions #------------------------------------------------------------------------ bindist: bindist-shared; # the default bindist is shared bindist-static: links clean-bck xcrysden _bin-dist-static bindist-shared: links clean-bck xcrysden _bin-dist-fully-shared bindist-semishared: links clean-bck xcrysden _bin-dist-semishared _sys1: mv Make.sys Make.bck _sys2: mv Make.bck Make.sys # sorce distribution (with sources of external libraries ) _src-dist-all: tar -cvf xcrysden.tar $(ALWAYS_FILES) $(SRC_ONLY_FILES) $(EXTERNAL_SRC_FILES) sys_utils/xcRepackage.sh $(TOPDIR) xcrysden.tar src-all # sorce distribution (without sources of external libraries) _src-dist: tar -cvf xcrysden.tar $(ALWAYS_FILES) $(SRC_ONLY_FILES) sys_utils/xcRepackage.sh $(TOPDIR) xcrysden.tar src # statically linked binary distribution (with external libraries) _bin-dist-static: tar -cvf xcrysden.tar $(ALWAYS_FILES) $(EXTERNAL_LIB_FILES) $(BIN_FILES) sys_utils/xcRepackage.sh $(TOPDIR) xcrysden.tar bin-static # shared linked distribution without shared libs _bin-dist-fully-shared: if test -f $(EXTERNAL_GFORTRAN_LIB); then \ tar -cvf xcrysden.tar $(ALWAYS_FILES) $(BIN_FILES) $(EXTERNAL_GFORTRAN_LIB); \ else \ tar -cvf xcrysden.tar $(ALWAYS_FILES) $(BIN_FILES); fi sys_utils/xcRepackage.sh $(TOPDIR) xcrysden.tar bin-shared # shared linked distribution with shared libs in external/lib _bin-dist-semishared: tar -cvf xcrysden.tar $(ALWAYS_FILES) $(EXTERNAL_LIB_FILES) $(EXTERNAL_SHAREDLIB_FILES) $(BIN_FILES) sys_utils/xcRepackage.sh $(TOPDIR) xcrysden.tar bin-semishared #------------------------------------------------------------------------ # below this point are just various patch entries #------------------------------------------------------------------------