1include ../../Makefile.config
2
3#
4# PostGIS template_gis Makefile
5#
6
7SCRIPTS_IN:=$(wildcard *.in)
8SCRIPTS:=$(SCRIPTS_IN:.in=)
9PUBLIC_SCRIPTS:=mktemplate_gis rmtemplate_gis createdb.postgis
10SONAME:=$(shell grep "^REL_MAJOR_VERSION" ../../Version.config | cut -d= -f2)
11
12SUBSTITUTE=-e s!@bindir@!$(SUBBINDIR)!g \
13           -e s!@datadir@!$(datadir)!g \
14           -e s!@prefix@!$(prefix)!g \
15           -e s!@SONAME@!$(SONAME)!g
16SCRIPT_PREPARE=cat $(SCRIPT).in | sed $(SUBSTITUTE) > $(SCRIPT)
17SCRIPT_TARGETDIR=$(DESTDIR)$(bindir)
18SCRIPT_TARGET=$(SCRIPT_TARGETDIR)/$(SCRIPT)
19SCRIPT_INSTALL=$(INSTALL_BIN) $(SCRIPT) $(SCRIPT_TARGET)
20SCRIPT_LINKDIR=$(DESTDIR)$(prefix)/bin
21SCRIPT_LINK=$(SCRIPT_LINKDIR)/$(SCRIPT)
22SCRIPT_DOLINK=rm -f $(SCRIPT_LINK); \
23              $(LN_S) $(SCRIPT_TARGET) $(SCRIPT_LINKDIR)
24SCRIPT_UNINSTALL=rm -f $(SCRIPT_TARGET)
25SCRIPT_UNLINK=rm -f $(SCRIPT_LINK)
26
27# would probably be nice to link these somewhere as well
28MANPAGES1:=$(wildcard *.1)
29MAN1_TARGETDIR=$(DESTDIR)$(mandir)/man1
30MAN1_TARGET=$(MAN1_TARGETDIR)/$(MAN1)
31MAN1_INSTALL=$(INSTALL_DATA) $(MAN1) $(MAN1_TARGET)
32MAN1_UNINSTALL=rm -f $(MAN1_TARGET)
33
34#DEFAULTS_DIR=$(DESTDIR)/etc/default
35DEFAULTS_DIR=$(DESTDIR)$(datadir)/default
36SCRIPT_DEFAULTS=$(DEFAULTS_DIR)/postgis
37
38all: $(SCRIPTS_IN)
39	$(foreach SCRIPT, $(SCRIPTS), $(SCRIPT_PREPARE);)
40
41install: all
42	@mkdir -p $(SCRIPT_TARGETDIR)
43	@mkdir -p $(SCRIPT_LINKDIR)
44	$(foreach SCRIPT, $(SCRIPTS), $(SCRIPT_INSTALL);)
45	$(foreach SCRIPT, $(PUBLIC_SCRIPTS), $(SCRIPT_DOLINK);)
46	@mkdir -p $(DEFAULTS_DIR)
47	cp profile $(SCRIPT_DEFAULTS)
48	rm -f $(SCRIPT_TARGETDIR)/profile
49	@mkdir -p $(MAN1_TARGETDIR)
50	$(foreach MAN1, $(MANPAGES1), $(MAN1_INSTALL);)
51
52uninstall:
53	$(foreach SCRIPT, $(PUBLIC_SCRIPTS), $(SCRIPT_UNLINK);)
54	$(foreach SCRIPT, $(SCRIPTS), $(SCRIPT_UNINSTALL);)
55	$(foreach MAN1, $(MANPAGES1), $(MAN1_UNINSTALL);)
56
57purge: uninstall
58	rm -f $(SCRIPT_DEFAULTS)
59
60clean distclean:
61	rm -f $(SCRIPTS)
62
63.PHONY: all install uninstall purge clean distclean
64