diff options
author | Ian Lynagh <igloo@earth.li> | 2007-06-01 19:06:59 +0000 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2007-06-01 19:06:59 +0000 |
commit | 79b5a2cb4b9ed5fe41a05fa2ec98bd1f83971daf (patch) | |
tree | 0c416a30476cbc2ebeaa8b3ada902587f123f0e5 /distrib/Makefile | |
parent | 430453c5131592b6147a80202dc5f7fbe3f3d5fd (diff) | |
download | haskell-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/Makefile | 116 |
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 \ |