File: Makefile

package info (click to toggle)
xgridfit 2.2a-2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 2,232 kB
  • sloc: python: 1,262; xml: 466; sh: 283; makefile: 114; sed: 45
file content (145 lines) | stat: -rw-r--r-- 4,382 bytes parent folder | download | duplicates (2)
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
#!/usr/bin/make -f
#
#  Makefile by Kestutis Biliunas 2007
#  Revised by Peter Baker 2007-2009
#  Contributions by Nicolas Mailhot 2009
#

SHELL=/bin/bash

include version.mk

DESTDIR =
PREFIX = /usr/local

# %{_bindir} in rpm speak
BINDIR = $(PREFIX)/bin

# %{_datadir}/xml in rpm speak
XMLDIR = $(PREFIX)/share/xml

#%{_mandir} in rpm speak
MANDIR = $(PREFIX)/share/man

# Could be changed to $(XMLDIR)/$(PACKAGE)-$(VERSION)
MAINDIR = $(XMLDIR)/$(PACKAGE)

install:
	@install -d -m 0755 $(DESTDIR)$(BINDIR)
	@install -p -m 0755 bin/* $(DESTDIR)$(BINDIR)
	@which python > /dev/null ; \
	if [ $$? -eq 0 ] ; then \
	  PYTHONPROG=`which python` ; \
	  for file in $(DESTDIR)$(BINDIR)/{ttx2xgf,xgfconfig,xgfmerge,xgfupdate,xgridfit,getinstrs} ; do \
	  sed -i -e "s|@xgridfit_dir@|${MAINDIR}|g" -e "s|@version@|$(VERSION)|" -e \
	  "s|@python_prog@|$$PYTHONPROG|" $$file ; done ; \
	else \
	  echo "Python is required for getinstrs; it will not be installed." ; \
	  rm -f $(DESTDIR)$(BINDIR)/{ttx2xgf,xgfconfig,xgfmerge,xgfupdate,xgridfit,getinstrs} ; \
	fi
	@install -d -m 0755  $(DESTDIR)$(MAINDIR)/{lib,schemas,utils}
	@for dir in lib schemas utils ; do \
	  install -p -m 0644 $$dir/* $(DESTDIR)$(MAINDIR)/$$dir ; \
	done
	@for file in $(DESTDIR)$(MAINDIR)/schemas/*.xml ; do \
	  sed -i "s|@xgridfit_dir@|${MAINDIR}|g" $$file ; \
	done
	@install -d -m 0755 $(DESTDIR)$(MANDIR)/man1
	@install -p -m 0644 man/*.1 $(DESTDIR)$(MANDIR)/man1
	@cd python ; python setup.py install --root=$(DESTDIR)/
	@echo "Xgridfit installed successfully."


install-mac:
	@install -d -m 0755 $(DESTDIR)$(BINDIR)
	@install -p -m 0755 bin/* $(DESTDIR)$(BINDIR)
	@which python > /dev/null ; \
	if [ $$? -eq 0 ] ; then \
	  PYTHONPROG=`which python` ; \
	  for file in $(DESTDIR)$(BINDIR)/{ttx2xgf,xgfconfig,xgfmerge,xgfupdate,xgridfit,getinstrs} ; do \
	  sed -i "" -e "s|@xgridfit_dir@|${MAINDIR}|g" -e "s|@version@|$(VERSION)|" -e \
	  "s|@python_prog@|$$PYTHONPROG|" $$file ; done ; \
	else \
	  echo "Python is required for getinstrs; it will not be installed." ; \
	  rm -f $(DESTDIR)$(BINDIR)/{ttx2xgf,xgfconfig,xgfmerge,xgfupdate,xgridfit,getinstrs} ; \
	fi
	@install -d -m 0755  $(DESTDIR)$(MAINDIR)/{lib,schemas,utils}
	@for dir in lib schemas utils ; do \
	  install -p -m 0644 $$dir/* $(DESTDIR)$(MAINDIR)/$$dir ; \
	done
	@for file in $(DESTDIR)$(MAINDIR)/schemas/*.xml ; do \
	  sed -i "" "s|@xgridfit_dir@|${MAINDIR}|g" $$file ; \
	done
	@install -d -m 0755 $(DESTDIR)$(MANDIR)/man1
	@install -p -m 0644 man/*.1 $(DESTDIR)$(MANDIR)/man1
	@cd python ; python setup.py install --root=$(DESTDIR)/
	@echo "Xgridfit installed successfully."


install-docs:
	@mkdir -p $(DESTDIR)$(PREFIX)/share/doc/$(PACKAGE)/html
	@cp docs/* $(DESTDIR)$(PREFIX)/share/doc/$(PACKAGE)/html
	@echo "Xgridfit documentation installed in $(DESTDIR)$(PREFIX)/share/doc/"


install-all:
	$(MAKE) -f Makefile install
	$(MAKE) -f Makefile install-docs


install-all-mac:
	$(MAKE) -f Makefile install-mac
	$(MAKE) -f Makefile install-docs


uninstall:
	rm -f $(DESTDIR)$(MAINDIR)/lib/*
	rmdir $(DESTDIR)$(MAINDIR)/lib
	rm -f $(DESTDIR)$(MAINDIR)/schemas/*
	rmdir $(DESTDIR)$(MAINDIR)/schemas
	rm -f $(DESTDIR)$(MAINDIR)/utils/*
	rmdir $(DESTDIR)$(MAINDIR)/utils
	rmdir $(DESTDIR)$(MAINDIR)
	rm -f $(DESTDIR)$(MANDIR)/man1/$(PACKAGE).1*
	rm -f $(DESTDIR)$(MANDIR)/man1/xgfupdate.1*
	rm -f $(DESTDIR)$(MANDIR)/man1/ttx2xgf.1*
	rm -f $(DESTDIR)$(MANDIR)/man1/xgfconfig.1*
	rm -f $(DESTDIR)$(BINDIR)/$(PACKAGE)
	rm -f $(DESTDIR)$(BINDIR)/xgfupdate
	rm -f $(DESTDIR)$(BINDIR)/ttx2xgf
	rm -f $(DESTDIR)$(BINDIR)/xgfconfig
	rm -f $(DESTDIR)$(BINDIR)/xgfmerge
	rm -f $(DESTDIR)$(BINDIR)/getinstrs


uninstall-docs:
	rm -f $(DESTDIR)$(PREFIX)/share/doc/$(PACKAGE)/html/*
	rmdir $(DESTDIR)$(PREFIX)/share/doc/$(PACKAGE)/html
	rmdir $(DESTDIR)$(PREFIX)/share/doc/$(PACKAGE)


uninstall-all:
	$(MAKE) -f Makefile uninstall
	$(MAKE) -f Makefile uninstall-docs


dist:
	$(MAKE) -f Makefile clean
	tar -C .. -zcvf $(PACKAGE)-$(VERSION).tar.gz \
		--exclude=CVS --exclude=*.tar.bz2 --exclude=.*  --exclude=*.*~ \
		--exclude=*~ --exclude=*.tar.gz $(PACKAGE)

clean:
	rm -f *.tar.gz *.*~ *~
	rm -f bin/*~
	rm -f docs/*.*~
	rm -f lib/*.*~
	rm -f schemas/*.*~
	rm -f utils/*.*~
	rm -f man/*.*~
	rm -fr python/build


.PHONY:	install install-mac install-docs install-all install-all-mac \
	uninstall uninstall-docs uninstall-all dist clean