1 # gc-utils install program
13 export prefix DESTDIR INSTALL
15 bindir = $(prefix)/bin
16 libdir = $(prefix)/lib
17 mandir = $(prefix)/share
/man
18 man1dir = $(mandir)/man1
20 bindir_SQ
= $(subst ','\'',$(bindir))
21 libdir_SQ = $(subst ','\'',$(libdir))
22 VERSION_SQ
= $(subst .
,\.
,$(VERSION
))
23 DESTDIR_SQ
= $(subst ','\'',$(DESTDIR))
25 scripts = gc-import gc-update gc-commit gc-multi-commit gc-utils
26 manpages = gc-import.1 gc-update.1 gc-commit.1 gc-multi-commit.1 gc-utils.1
27 libraries = gc-sh-setup
29 manpagesgz = $(manpages:.1=.1.gz)
32 QUIET_RM = @echo ' ' RM $@;
33 QUIET_GEN = @echo ' ' GEN $@;
34 QUIET_INSTALL = @echo ' ' INS $@;
37 define generate-script
38 cp $@.sh $@ && sed -i -e 's
,\
$$VERSION\
$$,$(VERSION_SQ
),' $@ && sed -i -e 's
,\
$$PROGNAME\
$$,$(PROGNAME
),' $@
41 .PHONY: gen install-man install clean uninstall
43 gen:: $(scripts) $(manpagesgz)
45 $(scripts): $(libraries)
46 $(QUIET_GEN) $(generate-script)
49 $(QUIET_GEN) $(generate-script)
52 $(QUIET_GEN) cat $(@:.1.gz=.1) | sed -e 's
,\
$$VERSION\
$$,$(VERSION_SQ
),' | gzip -9 > $@
54 install: $(scripts) install-lib install-man
55 @$(foreach f, $(scripts), sed -i -e 's
,\
$$LIBDIR\
$$,$(DESTDIR_SQ
)$(libdir_SQ
),' $f ;)
56 $(QUIET_INSTALL) $(INSTALL) -D -t "$(DESTDIR_SQ)$(bindir_SQ)" $(scripts)
57 @echo 'Install complete
'
59 install-lib: $(libraries)
60 @$(foreach f, $(libraries), sed -i -e 's
,\
$$LIBDIR\
$$,$(DESTDIR_SQ
)$(libdir_SQ
),' $f ;)
61 $(QUIET_INSTALL) $(INSTALL) -m644 -D -t "$(DESTDIR_SQ)$(libdir_SQ)" $(libraries)
63 install-man: $(manpagesgz)
64 $(QUIET_INSTALL) $(INSTALL) -m644 -D -t "$(DESTDIR)$(man1dir)" $(manpagesgz)
65 @$(foreach f, $(manpagesgz), $(MANDB) -qf '$(DESTDIR
)$(man1dir)/$f' ;)
68 $(foreach f, $(scripts), $(RM) '$(DESTDIR_SQ
)$(bindir_SQ
)/$f' ;)
69 $(foreach f, $(libraries), $(RM) '$(DESTDIR_SQ
)$(libdir_SQ
)/$f' ;)
70 $(foreach f, $(manpagesgz), $(RM) '$(DESTDIR_SQ
)$(man1dir)/$f' ;)
71 @echo 'Uninstall complete
'