endif
BOOT_LIBS = $(foreach lib,$(BOOT_PKGS),$(libraries/$(lib)_dist-boot_v_LIB))
-OTHER_LIBS = libffi/libHSffi$(v_libsuf) libffi/HSffi.o
+OTHER_LIBS = libffi/dist-install/build/libHSffi$(v_libsuf) libffi/dist-install/build/HSffi.o
ifeq "$(BuildSharedLibs)" "YES"
-OTHER_LIBS += libffi/libHSffi$(dyn_libsuf)
+OTHER_LIBS += libffi/dist-install/build/libHSffi$(dyn_libsuf)
endif
# We cannot run ghc-cabal to configure a package until we have
# Don't try to delete directories:
.PRECIOUS: %/.
-%/. : $(MKDIRHIER)
+# Create build directories on demand. NB. the | below: this indicates
+# that $(MKDIRHIER) is an order-only dependency, which means that this
+# rule fires after building mkdirhier, but we won't try to recreate
+# directories if mkdirhier changes.
+%/. : | $(MKDIRHIER)
"$(MKDIRHIER)" $@
# -----------------------------------------------------------------------------
BUILD_DIRS += \
docs/users_guide \
+ docs/man \
libraries/Cabal/doc \
$(GHC_UNLIT_DIR) \
$(GHC_HP2PS_DIR)
install_mingw : $(INPLACE_MINGW)
"$(CP)" -Rp $(INPLACE_MINGW) $(prefix)
+install : install_perl
+.PHONY: install_perl
+install_perl : $(INPLACE_PERL)
+ "$(CP)" -Rp $(INPLACE_PERL) $(prefix)
+
endif # Windows
-libraries/ghc-prim/dist-install/doc/html/ghc-prim/ghc-prim.haddock: \
+ifneq "$(BINDIST)" "YES"
+$(ghc-prim_HADDOCK_FILE): \
libraries/ghc-prim/dist-install/build/autogen/GHC/Prim.hs \
libraries/ghc-prim/dist-install/build/autogen/GHC/PrimopWrappers.hs
+endif # BINDIST
libraries/ghc-prim/dist-install/build/autogen/GHC/Prim.hs: \
$(PRIMOPS_TXT) $(GENPRIMOP_INPLACE) \
$(INSTALL_DIR) "$(DESTDIR)$(bindir)"
for i in $(INSTALL_BINS); do \
$(INSTALL_PROGRAM) $(INSTALL_BIN_OPTS) $$i "$(DESTDIR)$(bindir)" ; \
- if test "$(darwin_TARGET_OS)" = "1"; then \
- sh mk/fix_install_names.sh $(ghclibdir) "$(DESTDIR)$(bindir)/$$i" ; \
- fi ; \
done
install_libs: $(INSTALL_LIBS)
*.so) \
$(INSTALL_SHLIB) $(INSTALL_OPTS) $$i "$(DESTDIR)$(ghclibdir)" ;; \
*.dylib) \
- $(INSTALL_SHLIB) $(INSTALL_OPTS) $$i "$(DESTDIR)$(ghclibdir)"; \
- install_name_tool -id "$(DESTDIR)$(ghclibdir)/`basename $$i`" "$(DESTDIR)$(ghclibdir)/`basename $$i`" ;; \
+ $(INSTALL_SHLIB) $(INSTALL_OPTS) $$i "$(DESTDIR)$(ghclibdir)";; \
*) \
$(INSTALL_DATA) $(INSTALL_OPTS) $$i "$(DESTDIR)$(ghclibdir)"; \
esac; \
$(INSTALL_HEADER) $(INSTALL_OPTS) $$i "$(DESTDIR)$(ghcheaderdir)"; \
done
-install_docs: $(INSTALL_HEADERS)
+install_docs: $(INSTALL_DOCS)
$(INSTALL_DIR) "$(DESTDIR)$(docdir)"
ifneq "$(INSTALL_DOCS)" ""
for i in $(INSTALL_DOCS); do \
$(INSTALL_DIR) $(INSTALL_OPTS) "$(DESTDIR)$(docdir)/html"
$(INSTALL_DOC) $(INSTALL_OPTS) docs/index.html "$(DESTDIR)$(docdir)/html"
ifneq "$(INSTALL_LIBRARY_DOCS)" ""
+ $(INSTALL_DIR) $(INSTALL_OPTS) "$(DESTDIR)$(docdir)/html/libraries"
for i in $(INSTALL_LIBRARY_DOCS); do \
$(INSTALL_DOC) $(INSTALL_OPTS) $$i "$(DESTDIR)$(docdir)/html/libraries/"; \
done
$(INSTALL_TOPDIRS) \
$(INSTALL_TOPDIR_SCRIPTS) \
$(INSTALL_BINS) \
+ $(INSTALL_MANPAGES) \
$(INSTALL_DOCS) \
$(INSTALL_LIBRARY_DOCS) \
$(addsuffix /*,$(INSTALL_HTML_DOC_DIRS)) \
docs/index.html \
+ compiler/stage2/doc \
$(wildcard libraries/*/dist-install/doc/) \
$(filter-out extra-gcc-opts,$(INSTALL_LIBS)) \
$(filter-out %/project.mk mk/config.mk %/mk/install.mk,$(MAKEFILE_LIST)) \
- mk/fix_install_names.sh \
mk/project.mk \
mk/install.mk.in \
bindist.mk \
+ libraries/gen_contents_index \
+ libraries/prologue.txt \
libraries/dph/LICENSE \
))
endif
echo "BUILD_DOCBOOK_HTML = $(BUILD_DOCBOOK_HTML)" >> $(BIN_DIST_MK)
echo "BUILD_DOCBOOK_PS = $(BUILD_DOCBOOK_PS)" >> $(BIN_DIST_MK)
echo "BUILD_DOCBOOK_PDF = $(BUILD_DOCBOOK_PDF)" >> $(BIN_DIST_MK)
+ echo "BUILD_MAN = $(BUILD_MAN)" >> $(BIN_DIST_MK)
ln -s ../../distrib/configure-bin.ac $(BIN_DIST_PREP_DIR)/configure.ac
cd $(BIN_DIST_PREP_DIR) && autoreconf
"$(RM)" $(RM_OPTS) $(BIN_DIST_PREP_TAR)
#
# Files to include in source distributions
#
-SRC_DIST_DIRS = mk rules docs distrib bindisttest libffi includes utils docs rts compiler ghc driver libraries
+SRC_DIST_DIRS = mk rules docs distrib bindisttest libffi includes utils docs rts compiler ghc driver libraries ghc-tarballs
SRC_DIST_FILES += \
configure.ac config.guess config.sub configure \
aclocal.m4 README ANNOUNCE HACKING LICENSE Makefile install-sh \
endif
ifeq "$(BootingFromHc)" "YES"
-SRC_CC_OPTS += -DNO_REGS -DUSE_MINIINTERPRETER -D__GLASGOW_HASKELL__=$(ProjectVersionInt)
+# In a normal build we use GHC to compile C files (see
+# rules/c-suffix-rules.mk), which passes a number of its own options
+# to the C compiler. So when bootstrapping we have to provide these
+# flags explicitly to C compilations.
+SRC_CC_OPTS += -DNO_REGS -DUSE_MINIINTERPRETER
+SRC_CC_OPTS += -D__GLASGOW_HASKELL__=$(ProjectVersionInt)
+SRC_CC_OPTS += -I$(GHC_INCLUDE_DIR)
endif
# -----------------------------------------------------------------------------
+# sdisting libraries
+
+# Use manually, with e.g.:
+# make sdist_directory
+
+sdist_%:
+ inplace/bin/ghc-cabal sdist libraries/$* dist-install
+
+# -----------------------------------------------------------------------------
# Cleaning
.PHONY: clean