1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154
|
# what is our Tcl/Tk version (see Make.include) ?
include Make.include
HERE = $(shell pwd)
REPACK = $(HERE)/sys_utils/repack.sh
STARKIT = $(HERE)/sys_utils/starkit.sh
SCRATCH = .scratch
PWGUI_VERSION = $(shell cat VERSION)
PWGUI_TARNAME = PWgui-$(PWGUI_VERSION)
PWGUI_DIRNAME = PWgui-$(PWGUI_VERSION)
PWGUI_VFS = pwgui_vfs
ROOT_FILES = \
pwgui pwgui.bat pwgui.tcl init.tcl pwgui.settings \
pwgui_reformat pwgui_reformat.tcl \
README README.developer INSTALL NEWS BUGS THANKS AUTHORS \
ChangeLog TODO COPYRIGHT COPYING VERSION
#Makefile header.tcl
#
# per directory files ... (alphabetic order)
#
DOC_FILES = \
doc/pwdocs/INPUT*.html \
doc/pwdocs/user_guide/
EXAMPLES_FILES = \
examples/pw/*.pw.inp examples/pw/*.in \
examples/neb.dat/*.dat \
examples/ph/*.ph.inp \
examples/pp/*.pp.inp \
examples/projwfc/*.pr.inp \
examples/d3/*.d3.inp \
examples/atomic/*.in
IMAGES_FILES = \
images/*.gif \
images/license.terms
MODULES_FILES = \
modules/*/*.tcl
SRC_FILES = \
src/pwscf.theme \
src/about.html \
src/aindex \
src/tclIndex \
src/*.itcl
TEST_FILES = tests/run-tests.sh
PWGUI_SRC_FILES = \
$(ROOT_FILES) $(DOC_FILES) $(EXAMPLES_FILES) \
$(IMAGES_FILES) $(MODULES_FILES) $(SRC_FILES) $(TEST_FILES)
_GUIB_DIR = $(shell cd ../Guib; pwd)
_GUIB_VERSION = $(shell GUIB=$(_GUIB_DIR); export GUIB; $(_GUIB_DIR)/guib -v)
_GUIB_TGZNAME = guib-$(_GUIB_VERSION).tgz
_GUIB_DIRNAME = Guib-$(_GUIB_VERSION)
# nothing by default
default:
@cat make.usage
clean:
-rm -f *~ */*~ */*/*~
-rm -f *.tgz
-rm -f *.tar
-cd doc/pwdocs; $(MAKE) clean
veryclean:
$(MAKE) clean
-cd doc/pwdocs; $(MAKE) clean
-cd $(PWGUI_VFS); $(MAKE) clean
-for file in `find . | egrep ~$$`; do echo "cleaning ... $$file"; rm -f $$file; done
distclean: veryclean
-cd lib/; rm -f *
cd $(PWGUI_VFS); $(MAKE) distclean
init:
-cd doc/pwdocs; $(MAKE)
-if test ! -d lib; then mkdir lib; fi
-cd lib/; rm -f Guib-*;
-cd lib/; ln -sf $(_GUIB_DIR) $(_GUIB_DIRNAME)
alldist:
$(MAKE) pwgui-source
$(MAKE) pwgui-starkit-vfs
pwgui-source: \
_message-source \
_create_pwgui_tar \
_add_guib \
_repack_pwgui
pwgui-starkit-vfs: \
_message-starkit_vfs \
_create_pwgui_tar \
_add_guib \
_create_starkit_vfs
# -- internal tagrets --
_create_pwgui_tar:
cd doc/pwdocs; $(MAKE)
tar cvf pwgui.tar $(PWGUI_SRC_FILES)
_add_guib: _clean_scratch
cd $(_GUIB_DIR); $(MAKE) guib-archive-nodoc
\
mv lib $(SCRATCH)
(mkdir lib; cd lib; tar zxvf $(_GUIB_DIR)/$(_GUIB_TGZNAME))
tar rvfh pwgui.tar lib/$(_GUIB_DIRNAME)
rm -rf lib/
mv $(SCRATCH) lib
cd $(_GUIB_DIR); $(MAKE) clean
_repack_pwgui:
$(REPACK) pwgui $(PWGUI_TARNAME) $(PWGUI_DIRNAME)
rm pwgui.tar
_create_starkit_vfs: _clean_scratch
cd $(PWGUI_VFS); touch make.inc make.versions; make distclean
TOPDIR=$(HERE) PWGUI_VFS=$(PWGUI_VFS) \
PWGUI_VERSION=$(PWGUI_VERSION) PWGUI_DIRNAME=$(PWGUI_DIRNAME) \
GUIB_VERSION=$(_GUIB_VERSION) GUIB_DIRNAME=$(_GUIB_DIRNAME) $(STARKIT)
_clean_scratch:
if test -d $(SCRATCH) ; then rm -rf $(SCRATCH); fi
_message-source: _check_guib
@echo ""
@echo "# ------------------------------------------------------------"
@echo "#"
@echo "# Creating pwgui-source package"
@echo "#"
@echo "# ------------------------------------------------------------"
_message-starkit_vfs: _check_guib
@echo ""
@echo "# ------------------------------------------------------------"
@echo "#"
@echo "# Creating pwgui strakit VFS (StandAlone Runtime tclKIT) "
@echo "# = = = === "
@echo "# ------------------------------------------------------------"
_check_guib:
@if test -z "$(_GUIB_VERSION)" ; then \
echo ""; echo "WARNING: GUIB package not found ..."; echo ""; exit 1; \
fi
|