summaryrefslogtreecommitdiff
path: root/distrib/Makefile
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2007-06-01 19:06:59 +0000
committerIan Lynagh <igloo@earth.li>2007-06-01 19:06:59 +0000
commit79b5a2cb4b9ed5fe41a05fa2ec98bd1f83971daf (patch)
tree0c416a30476cbc2ebeaa8b3ada902587f123f0e5 /distrib/Makefile
parent430453c5131592b6147a80202dc5f7fbe3f3d5fd (diff)
downloadhaskell-79b5a2cb4b9ed5fe41a05fa2ec98bd1f83971daf.tar.gz
Fix bindist creation
Bindists should now work again, when doing "make install" at least. "make in-place" is probably still broken.
Diffstat (limited to 'distrib/Makefile')
-rw-r--r--distrib/Makefile116
1 files changed, 14 insertions, 102 deletions
diff --git a/distrib/Makefile b/distrib/Makefile
index 77b63e5adc..2b6cdca0c1 100644
--- a/distrib/Makefile
+++ b/distrib/Makefile
@@ -1,77 +1,9 @@
include Makefile-vars
-.PHONY: in-place config-pkgs mk-version-symlinks install-dirs install
-
-config-pkgs ::
- @echo "Configuring $(package), version $(version), on $(platform) ..."
- @for i in $(PACKAGE_PRL_SCRIPTS) ""; do \
- if test "$$i"; then \
- echo "Creating a configured version of $$i .."; \
- $(RM) bin/$(platform)/$$i.bak; \
- if [ -f bin/$(platform)/$$i ]; then $(MV) bin/$(platform)/$$i bin/$(platform)/$$i.bak; fi; \
- echo "#! $(PERL)" > bin/$(platform)/$$i ; \
- echo '$$'"bindir='$(bindir)';" >> bin/$(platform)/$$i ; \
- echo '$$'"libdir='$(libdir)';" >> bin/$(platform)/$$i ; \
- echo '$$'"libexecdir='$(libdir)';" >> bin/$(platform)/$$i ; \
- echo '$$'"datadir='$(datadir)';" >> bin/$(platform)/$$i ; \
- echo '$$'"SED='$(SED)';" >> bin/$(platform)/$$i ; \
- echo '$$'"DEFAULT_TMPDIR='$(DEFAULT_TMPDIR)';" >> bin/$(platform)/$$i ; \
- cat bin/$(platform)/$$i.prl >> bin/$(platform)/$$i ; \
- $(CHMOD) $(BIN_PERMS) bin/$(platform)/$$i; \
- echo "Done."; \
- fi; \
- done
- @for i in $(PACKAGE_LIB_PRL_SCRIPTS) ""; do \
- if test "$$i"; then \
- echo "Creating a configured version of $$i .."; \
- $(RM) lib/$(platform)/$$i.bak; \
- if [ -f lib/$(platform)/$$i ]; then $(MV) lib/$(platform)/$$i lib/$(platform)/$$i.bak; fi; \
- echo "#! $(PERL)" > lib/$(platform)/$$i ; \
- echo '$$'"bindir='$(bindir)';" >> lib/$(platform)/$$i ; \
- echo '$$'"libdir='$(libdir)';" >> lib/$(platform)/$$i ; \
- echo '$$'"libexecdir='$(libdir)';" >> lib/$(platform)/$$i ; \
- echo '$$'"datadir='$(datadir)';" >> lib/$(platform)/$$i ; \
- echo '$$'"SED='$(SED)';" >> lib/$(platform)/$$i ; \
- echo '$$'"DEFAULT_TMPDIR='$(DEFAULT_TMPDIR)';" >> lib/$(platform)/$$i ; \
- cat lib/$(platform)/$$i.prl >> lib/$(platform)/$$i; \
- $(CHMOD) $(BIN_PERMS) lib/$(platform)/$$i; \
- echo "Done."; \
- fi; \
- done
- @for i in $(PACKAGE_SH_SCRIPTS) ""; do \
- if test "$$i"; then \
- echo "Creating a configured version of $$i .."; \
- $(RM) bin/$(platform)/$$i.bak; \
- if [ -f bin/$(platform)/$$i ]; then $(MV) bin/$(platform)/$$i bin/$(platform)/$$i.bak; fi; \
- echo "#! $(SH)" > bin/$(platform)/$$i ; \
- echo "bindir='$(bindir)'" >> bin/$(platform)/$$i ; \
- echo "libdir='$(libdir)'" >> bin/$(platform)/$$i ; \
- echo "libexecdir='$(libdir)'" >> bin/$(platform)/$$i ; \
- echo "datadir='$(datadir)'" >> bin/$(platform)/$$i ; \
- echo "SED='$(SED)'" >> bin/$(platform)/$$i ; \
- echo "DEFAULT_TMPDIR='$(DEFAULT_TMPDIR)'" >> bin/$(platform)/$$i ; \
- cat bin/$(platform)/$$i.sh >> bin/$(platform)/$$i; \
- $(CHMOD) $(BIN_PERMS) bin/$(platform)/$$i; \
- echo "Done."; \
- fi; \
- done
- @for i in $(PACKAGE_LIB_SPLICED_FILES) ""; do \
- if test "$$i"; then \
- echo "Creating a configured version of $$i .."; \
- $(PERL) -i.bak -lpe 's|\$$libdir|$(libdir)|g;s|\$$datadir|$(datadir)|g' lib/$(platform)/$$i; \
- fi; \
- done
- @if test "$(platform)" = "powerpc-apple-darwin"; then \
- echo "Configuring install names..."; \
- for i in lib/$(platform)/*; do \
- sh fix_install_names.sh "$(libdir)" "$$i"; \
- done; \
- echo "Done."; \
- fi
+.PHONY: in-place mk-version-symlinks install-dirs install
in-place ::
- $(MAKE) $(MFLAGS) config-pkgs bindir=`pwd`/bin/$(platform) libdir=`pwd`/lib/$(platform) datadir=`pwd`/share
@if test -x "./post-inplace-script" ; then \
echo "Running project-specific post-inplace script ..." ; \
./post-inplace-script $(platform) `pwd` \
@@ -82,12 +14,12 @@ in-place ::
install-dirs ::
$(INSTALL_DIR) $(bindir)
- (cd lib/$(platform); find . -type d -exec sh -c '../../$(INSTALL_DIR) $$0 $(libdir)/$$0' {} \; )
- (cd share; find . -type d -exec sh -c '../$(INSTALL_DIR) $(datadir)/$$0' {} \; )
+ (cd lib/$(platform); find . -type d -exec sh -c '$(INSTALL_DIR) $$0 $(libdir)/$$0' {} \; )
+ (cd share; find . -type d -exec sh -c '$(INSTALL_DIR) $(datadir)/$$0' {} \; )
-install :: config-pkgs install-dirs install-bin install-libs install-datas install-docs postinstall denounce
+install :: install-dirs install-driver install-utils install-libs install-datas install-docs postinstall denounce
-.PHONY: install-bin install-libs install-datas postinstall denounce
+.PHONY: install-libs install-utils install-datas postinstall denounce
denounce:
@echo
@@ -112,38 +44,18 @@ postinstall:
echo "Done" ; \
fi
-install-bin:
- for i in $(PACKAGE_BIN_INSTALL) ""; do \
- if test -n "$$i" ; then $(INSTALL_BIN) bin/$(platform)/$$i $(bindir); fi; \
- done;
- for i in $(PACKAGE_BINS) ""; do \
- if test -n "$$i" ; then $(INSTALL_BIN) bin/$(platform)/$$i$(exeext) $(bindir); fi; \
- done;
- for i in $(PACKAGE_OPT_BINS) ""; do \
- if test -n "$$i" -a ! -f "$(bindir)/$$i" ; then $(INSTALL_BIN) bin/$(platform)/$$i$(exeext) $(bindir); fi; \
- done;
- @for i in $(VERSION_SYMLINKS_FOR) ""; do \
- if [ "x$$i" != "x" ]; then \
- ( cd $(bindir); \
- if ( $(PERL) -e '$$fn="'$$i'"; exit ((! -f $$fn || -l $$fn) ? 0 : 1);' ); then \
- echo "Creating a symbolic link from $$i-$(version) to $$i"; \
- $(RM) $$i; \
- $(LN_S) $$i-$(version) $$i; \
- else \
- echo "Creating a symbolic link from $$i-$(version) to $$i failed: \`$$i' already exists"; \
- echo "Perhaps remove \`$$i' manually?"; \
- exit 1; \
- fi;\
- ); \
- fi; \
- done
-
install-libs:
(cd lib/$(platform); find . -type f -exec sh -c '$(CP) $$0 $(libdir)/$$0' {} \; )
- $(MAKE) -C libraries install IN_BIN_DIST=1
+ $(MAKE) -C libraries install DOING_BIN_DIST=YES
+
+install-driver:
+ $(MAKE) -C driver install DOING_BIN_DIST=YES
+
+install-utils:
+ $(MAKE) -C utils install DOING_BIN_DIST=YES
install-datas:
- for i in `(cd share; find . -type f )`; do \
+ set -e; for i in `(cd share; find . -type f )`; do \
$(INSTALL_DATA) share/$$i $(datadir)/$$i; \
done
@@ -161,7 +73,7 @@ show-install-setup:
install-docs : install-dirs-docs
if test -d share/html ; then $(CP) -r share/html/* $(htmldir) ; fi
- for i in share/*.ps; do \
+ set -e; for i in share/*.ps; do \
if test -f "$$i"; then \
$(CP) $$i $(psdir) ; \
fi \