Support for $(DESTDIR) by Andreas Voegele.

This commit is contained in:
mainzelm 2003-05-05 07:14:22 +00:00
parent 26fcfcd8b2
commit 07f56d8251
1 changed files with 27 additions and 27 deletions

View File

@ -309,14 +309,14 @@ install: enough dirs inst-script inst-vm inst-misc inst-man inst-inc \
inst-doc install-scsh inst-doc install-scsh
inst-vm: $(VM) inst-vm: $(VM)
$(INSTALL_PROGRAM) $(VM) $(LIB) $(INSTALL_PROGRAM) $(VM) $(DESTDIR)$(LIB)
inst-man: inst-man:
if [ -d $(mandir) -a -w $(mandir) ]; then \ if [ -d $(DESTDIR)$(mandir) -a -w $(DESTDIR)$(mandir) ]; then \
sed 's=LBIN=$(bindir)=g' doc/scsh.man | \ sed 's=LBIN=$(bindir)=g' doc/scsh.man | \
sed 's=LLIB=$(LIB)=g' | \ sed 's=LLIB=$(LIB)=g' | \
sed 's=LSCSH=$(RUNNABLE)=g' >$(MANPAGE) && \ sed 's=LSCSH=$(RUNNABLE)=g' >$(MANPAGE) && \
$(INSTALL_DATA) $(MANPAGE) $(mandir) && \ $(INSTALL_DATA) $(MANPAGE) $(DESTDIR)$(mandir) && \
$(RM) $(MANPAGE); \ $(RM) $(MANPAGE); \
else \ else \
echo "$(mandir) not writable dir, not installing man page" \ echo "$(mandir) not writable dir, not installing man page" \
@ -324,57 +324,57 @@ inst-man:
fi fi
inst-inc: inst-inc:
$(INSTALL_DATA) $(srcdir)/c/scheme48.h $(incdir) $(INSTALL_DATA) $(srcdir)/c/scheme48.h $(DESTDIR)$(incdir)
$(INSTALL_DATA) $(srcdir)/c/write-barrier.h $(incdir) $(INSTALL_DATA) $(srcdir)/c/write-barrier.h $(DESTDIR)$(incdir)
inst-misc: inst-misc:
for stub in env big opt misc link srfi; do \ for stub in env big opt misc link srfi; do \
for f in scheme/$$stub/*.scm; do \ for f in scheme/$$stub/*.scm; do \
$(INSTALL_DATA) $$f $(LIB)/$$stub || exit 1; \ $(INSTALL_DATA) $$f $(DESTDIR)$(LIB)/$$stub || exit 1; \
done; \ done; \
done && \ done && \
for f in scheme/rts/*num.scm scheme/rts/jar-defrecord.scm; do \ for f in scheme/rts/*num.scm scheme/rts/jar-defrecord.scm; do \
$(INSTALL_DATA) $$f $(LIB)/rts || exit 1; \ $(INSTALL_DATA) $$f $(DESTDIR)$(LIB)/rts || exit 1; \
done done
inst-doc: inst-doc:
for f in $(srcdir)/doc/*.txt $(srcdir)/doc/*.ps; do \ for f in $(srcdir)/doc/*.txt $(srcdir)/doc/*.ps; do \
$(INSTALL_DATA) $$f $(LIB)/doc/; \ $(INSTALL_DATA) $$f $(DESTDIR)$(LIB)/doc/; \
done && \ done && \
for f in $(srcdir)/doc/src/*.tex \ for f in $(srcdir)/doc/src/*.tex \
$(srcdir)/doc/src/*.dvi \ $(srcdir)/doc/src/*.dvi \
$(srcdir)/doc/src/*.ps; \ $(srcdir)/doc/src/*.ps; \
do $(INSTALL_DATA) $$f $(LIB)/doc/s48-manual/; \ do $(INSTALL_DATA) $$f $(DESTDIR)$(LIB)/doc/s48-manual/; \
done && \ done && \
for f in $(srcdir)/doc/src/manual/*.html; \ for f in $(srcdir)/doc/src/manual/*.html; \
do $(INSTALL_DATA) $$f $(LIB)/doc/s48-manual/html/; \ do $(INSTALL_DATA) $$f $(DESTDIR)$(LIB)/doc/s48-manual/html/; \
done && \ done && \
for f in $(srcdir)/doc/scsh-manual/*.tex \ for f in $(srcdir)/doc/scsh-manual/*.tex \
$(srcdir)/doc/scsh-manual/*.sty \ $(srcdir)/doc/scsh-manual/*.sty \
$(srcdir)/doc/scsh-manual/*.dvi \ $(srcdir)/doc/scsh-manual/*.dvi \
$(srcdir)/doc/scsh-manual/*.ps \ $(srcdir)/doc/scsh-manual/*.ps \
$(srcdir)/doc/scsh-manual/*.pdf; \ $(srcdir)/doc/scsh-manual/*.pdf; \
do $(INSTALL_DATA) $$f $(LIB)/doc/scsh-manual/; \ do $(INSTALL_DATA) $$f $(DESTDIR)$(LIB)/doc/scsh-manual/; \
done && \ done && \
for f in $(srcdir)/doc/scsh-manual/html/*.html \ for f in $(srcdir)/doc/scsh-manual/html/*.html \
$(srcdir)/doc/scsh-manual/html/*.gif \ $(srcdir)/doc/scsh-manual/html/*.gif \
$(srcdir)/doc/scsh-manual/html/*.css; \ $(srcdir)/doc/scsh-manual/html/*.css; \
do $(INSTALL_DATA) $$f $(htmldir)/; \ do $(INSTALL_DATA) $$f $(DESTDIR)$(htmldir)/; \
done && \ done && \
for f in $(srcdir)/doc/scsh-paper/*.tex \ for f in $(srcdir)/doc/scsh-paper/*.tex \
$(srcdir)/doc/scsh-paper/*.sty \ $(srcdir)/doc/scsh-paper/*.sty \
$(srcdir)/doc/scsh-paper/*.dvi \ $(srcdir)/doc/scsh-paper/*.dvi \
$(srcdir)/doc/scsh-paper/*.ps; \ $(srcdir)/doc/scsh-paper/*.ps; \
do $(INSTALL_DATA) $$f $(LIB)/doc/scsh-paper/; \ do $(INSTALL_DATA) $$f $(DESTDIR)$(LIB)/doc/scsh-paper/; \
done && \ done && \
for f in $(srcdir)/doc/scsh-paper/html/*.html \ for f in $(srcdir)/doc/scsh-paper/html/*.html \
$(srcdir)/doc/scsh-paper/html/*.css; \ $(srcdir)/doc/scsh-paper/html/*.css; \
do $(INSTALL_DATA) $$f $(LIB)/doc/scsh-paper/html; \ do $(INSTALL_DATA) $$f $(DESTDIR)$(LIB)/doc/scsh-paper/html; \
done done
inst-script: inst-script:
script=$(bindir)/$(RUNNABLE) && \ script=$(DESTDIR)$(bindir)/$(RUNNABLE) && \
echo '#!/bin/sh' >$$script && \ echo '#!/bin/sh' >$$script && \
echo >>$$script && \ echo >>$$script && \
echo 'lib=$(LIB)' >>$$script && \ echo 'lib=$(LIB)' >>$$script && \
@ -393,16 +393,16 @@ go:
dirs: dirs:
for dir in $(libdir) $(bindir) $(incdir) $(LIB) $(mandir) $(htmldir); do\ for dir in $(libdir) $(bindir) $(incdir) $(LIB) $(mandir) $(htmldir); do\
{ mkdir -p $$dir && [ -w $$dir ]; } || { \ { mkdir -p $(DESTDIR)$$dir && [ -w $(DESTDIR)$$dir ]; } || { \
echo "$$dir not a writable directory" >&2; \ echo "$(DESTDIR)$$dir not a writable directory" >&2; \
exit 1; \ exit 1; \
} \ } \
done && \ done && \
for dir in \ for dir in \
rts env big opt misc link srfi scsh doc/scsh-manual \ rts env big opt misc link srfi scsh doc/scsh-manual \
doc/s48-manual/html doc/scsh-paper/html ; do \ doc/s48-manual/html doc/scsh-paper/html ; do \
{ mkdir -p $(LIB)/$$dir && [ -w $(LIB)/$$dir ]; } || { \ { mkdir -p $(DESTDIR)$(LIB)/$$dir && [ -w $(DESTDIR)$(LIB)/$$dir ]; } || { \
echo "$(LIB)/$$dir not a writable directory" >&2; \ echo "$(DESTDIR)$(LIB)/$$dir not a writable directory" >&2; \
exit 1; \ exit 1; \
}; \ }; \
done done
@ -850,23 +850,23 @@ scsh/stripped-scsh.image: $(VM) $(SCHEME) $(IMAGE)
| ./$(VM) -i $(IMAGE) -h 10000000 | ./$(VM) -i $(IMAGE) -h 10000000
install-scsh: scsh install-scsh-image install-stripped-scsh-image install-scsh: scsh install-scsh-image install-stripped-scsh-image
$(RM) $(bindir)/$(RUNNABLE) $(RM) $(DESTDIR)$(bindir)/$(RUNNABLE)
$(INSTALL_PROGRAM) $(srcdir)/scsh/scsh $(bindir)/$(RUNNABLE) $(INSTALL_PROGRAM) $(srcdir)/scsh/scsh $(DESTDIR)$(bindir)/$(RUNNABLE)
$(INSTALL_PROGRAM) $(srcdir)/$(LIBSCSHVM) $(libdir)/$(LIBSCSHVM) $(INSTALL_PROGRAM) $(srcdir)/$(LIBSCSHVM) $(DESTDIR)$(libdir)/$(LIBSCSHVM)
$(INSTALL_PROGRAM) $(srcdir)/$(LIBSCSH) $(libdir)/$(LIBSCSH) $(INSTALL_PROGRAM) $(srcdir)/$(LIBSCSH) $(DESTDIR)$(libdir)/$(LIBSCSH)
$(RANLIB) $(libdir)/$(LIBSCSH) $(RANLIB) $(DESTDIR)$(libdir)/$(LIBSCSH)
for f in $(srcdir)/scsh/*.scm $(srcdir)/scsh/*/*.scm; \ for f in $(srcdir)/scsh/*.scm $(srcdir)/scsh/*/*.scm; \
do $(INSTALL_DATA) $$f $(LIB)/scsh/; done do $(INSTALL_DATA) $$f $(DESTDIR)$(LIB)/scsh/; done
install-scsh-image: $(VM) scsh/scsh.image install-scsh-image: $(VM) scsh/scsh.image
( echo ',translate =scheme48 $(LIB)'; \ ( echo ',translate =scheme48 $(LIB)'; \
echo '(dump-scsh "$(LIB)/scsh.image")'; \ echo '(dump-scsh "$(DESTDIR)$(LIB)/scsh.image")'; \
echo ',exit'; \ echo ',exit'; \
) | ./$(VM) -i scsh/scsh.image ) | ./$(VM) -i scsh/scsh.image
install-stripped-scsh-image: $(VM) scsh/stripped-scsh.image install-stripped-scsh-image: $(VM) scsh/stripped-scsh.image
( echo ',translate =scheme48 $(LIB)'; \ ( echo ',translate =scheme48 $(LIB)'; \
echo '(dump-scsh "$(LIB)/stripped-scsh.image")'; \ echo '(dump-scsh "$(DESTDIR)$(LIB)/stripped-scsh.image")'; \
echo ',exit'; \ echo ',exit'; \
) | ./$(VM) -i scsh/stripped-scsh.image ) | ./$(VM) -i scsh/stripped-scsh.image