File: Makefile

package info (click to toggle)
espresso 6.7-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 311,068 kB
  • sloc: f90: 447,429; ansic: 52,566; sh: 40,631; xml: 37,561; tcl: 20,077; lisp: 5,923; makefile: 4,503; python: 4,379; perl: 1,219; cpp: 761; fortran: 618; java: 568; awk: 128
file content (126 lines) | stat: -rw-r--r-- 3,590 bytes parent folder | download | duplicates (3)
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
TOPDIR   = $(shell cd ../..; pwd)
VERSION  = 6.7
GEN_MODE = $(TOPDIR)/dev-tools/gen-emacs-mode
LATEX    = pdflatex

ELISP_FILES = *.el *.elc

# automatic ...
ALL_DEF_FILES = $(shell find $(TOPDIR) | grep INPUT_ | egrep def$$)

## ... manual (i.e. perhaps more secure, as to have some control)
#ALL_DEF_FILES = \
#	$(TOPDIR)/PW/Doc/INPUT_PW.def \
#	$(TOPDIR)/PWCOND/Doc/INPUT_PWCOND.def \
#	$(TOPDIR)/PP/Doc/INPUT_IMPORTEXPORT_BINARY.def \
#	$(TOPDIR)/PP/Doc/INPUT_BANDS.def \
#	$(TOPDIR)/PP/Doc/INPUT_bgw2pw.def \
#	$(TOPDIR)/PP/Doc/INPUT_PROJWFC.def \
#	$(TOPDIR)/PP/Doc/INPUT_pw2bgw.def \
#	$(TOPDIR)/PP/Doc/INPUT_PP.def \
#	$(TOPDIR)/PP/Doc/INPUT_molecularpdos.def \
#	$(TOPDIR)/PP/Doc/INPUT_DOS.def \
#	$(TOPDIR)/PHonon/Doc/INPUT_PH.def \
#	$(TOPDIR)/PHonon/Doc/INPUT_D3.def \
#	$(TOPDIR)/atomic/Doc/INPUT_LD1.def \
#	$(TOPDIR)/CPV/Doc/INPUT_CP.def \
#	$(TOPDIR)/CPV/Doc/INPUT_CPPP.def \
#	$(TOPDIR)/TDDFPT/Doc/INPUT_EELS.def \
#	$(TOPDIR)/TDDFPT/Doc/INPUT_Spectrum.def \
#	$(TOPDIR)/TDDFPT/Doc/INPUT_Lanczos.def \
#	$(TOPDIR)/TDDFPT/Doc/INPUT_Davidson.def \
#	$(TOPDIR)/West/Doc/INPUT_WFREQ.def \
#	$(TOPDIR)/West/Doc/INPUT_WSTAT.def \
#	$(TOPDIR)/NEB/Doc/INPUT_NEB.def

PDFS = user_guide.pdf
AUXS = $(PDFS:.pdf=.aux)
LOGS = $(PDFS:.pdf=.log)
OUTS = $(PDFS:.pdf=.out)
TOCS = $(PDFS:.pdf=.toc)

generate = if test ! -d qe-modes; then mkdir qe-modes; fi; cd qe-modes; $(GEN_MODE)
compile  = cd qe-modes; emacs --batch --eval "(add-to-list 'load-path \".\")"


all: modes doc
modes: make-modes make-master
make-modes: qe pw neb ph pp ld1 cp pwtk


# generate specific modes ...

pw: qe-funcs 
	$(generate) pw
	$(compile) --eval "(byte-compile-file \"pw-mode.el\")"

neb: qe-funcs 
	$(generate) $(TOPDIR)/NEB/Doc/INPUT_NEB.def $(TOPDIR)/PW/Doc/INPUT_PW.def
	$(compile) --eval "(byte-compile-file \"neb-mode.el\")"

ph: qe-funcs
	$(generate) ph
	$(compile) --eval "(byte-compile-file \"ph-mode.el\")"

pp: qe-funcs
	$(generate) pp
	$(compile) --eval "(byte-compile-file \"pp-mode.el\")"

ld1: qe-funcs
	$(generate) -modename "QE-ld1.x (atomic)" $(TOPDIR)/atomic/Doc/INPUT_LD1.def
	$(compile) --eval "(byte-compile-file \"ld1-mode.el\")"

cp: qe-funcs
	$(generate) $(TOPDIR)/CPV/Doc/INPUT_CP.def
	$(compile) --eval "(byte-compile-file \"cp-mode.el\")"


# generate generic QE mode

qe: 
	$(generate) -funcs -mode qe -modename QE-generic $(ALL_DEF_FILES)
	$(compile) --eval "(byte-compile-file \"qe-funcs.el\")"	
	$(compile) --eval "(byte-compile-file \"qe-mode.el\")"	

pwtk: 
	$(compile) --eval "(byte-compile-file \"pwtk-mode.el\")"	

# generate other required elisp files ...

qe-funcs:
	- if test ! -f qe-modes/qe-funcs.el; then $(MAKE) qe; fi

make-master:
	$(generate) -masteronly -mode qe $(ALL_DEF_FILES)
	$(compile) --eval "(byte-compile-file \"qe-modes.el\")"	

# other targets ...

doc: 
	cd Doc; $(MAKE)

clean:
	- cd Doc; $(MAKE) clean

veryclean: clean
	- rm *~ */*~ */*.bak
	- rm -rf QE-modes-$(VERSION)
	- rm *.tar
	- rm *tar.gz
	- rm -rf */auto
	- cd Doc; $(MAKE) distclean

distclean: veryclean


tar: all
	cd Doc; $(MAKE) clean; # purify the Doc/ directory
	if test -f QE-modes.tar; then rm -f QE-modes.tar; fi
	if test -f QE-modes-$(VERSION).tar.gz; then rm -f QE-modes-$(VERSION).tar.gz; fi
	find ./ -type f | grep -v -e '\.svn' -e '/\.' -e '/auto/' -e '/qe-modes.templates' \
		-e '/Makefile' -e'~$$' -e '\.tar$$' -e '\.gz$$' -e '\.tgz$$' | xargs tar rvf QE-modes.tar
	mkdir QE-modes-$(VERSION)
	cd QE-modes-$(VERSION); tar xvf ../QE-modes.tar
	tar cvf QE-modes-$(VERSION).tar QE-modes-$(VERSION)/
	gzip QE-modes-$(VERSION).tar
	rm -rf QE-modes.tar QE-modes-$(VERSION)