X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=libraries%2FMakefile;h=ffebff69f232955db153d8916af7bb290a2dd960;hb=e5c3b478b3cd1707cf122833822f44b2ac09b8e9;hp=6c3e6c6f92412b6fda870ccdbf97e044ae5f8744;hpb=c247e8882ffdcedd62f8584f6c4edebac7c7eaba;p=ghc-hetmet.git diff --git a/libraries/Makefile b/libraries/Makefile index 6c3e6c6..ffebff6 100644 --- a/libraries/Makefile +++ b/libraries/Makefile @@ -1,141 +1,16 @@ -# ----------------------------------------------------------------------------- - -TOP=. -include $(TOP)/mk/boilerplate.mk - -# ----------------------------------------------------------------------------- - -# The Cabal package has a GNUmakefile for standalone building, but we -# want the Makefile. -MFLAGS += -f Makefile - -SUBDIRS = base haskell98 template-haskell - -ifeq "$(GhcLibsWithUnix)" "YES" -SUBDIRS += unix -endif - -SUBDIRS += Cabal - -# Set GhcBootLibs=YES from the command line to work with just the libraries -# needed to bootstrap GHC. -ifneq "$(GhcBootLibs)" "YES" -SUBDIRS += $(wildcard parsec) -SUBDIRS += $(wildcard haskell-src) -SUBDIRS += $(wildcard network) -SUBDIRS += $(wildcard QuickCheck) -SUBDIRS += $(wildcard HUnit) -SUBDIRS += $(wildcard mtl) -SUBDIRS += $(wildcard fgl) -SUBDIRS += $(wildcard X11) -ifeq "$(Windows)" "YES" -SUBDIRS += $(wildcard Win32) -endif -SUBDIRS += $(wildcard time) -SUBDIRS += $(wildcard HGL) -SUBDIRS += $(wildcard OpenGL) -SUBDIRS += $(wildcard GLUT) -SUBDIRS += $(wildcard OpenAL) -SUBDIRS += $(wildcard ALUT) -SUBDIRS += $(wildcard stm) -ifeq "$(GhcLibsWithObjectIO)" "YES" -SUBDIRS += $(wildcard ObjectIO) -endif -endif - -ifeq "$(GhcLibsWithReadline)" "YES" -SUBDIRS += $(wildcard readline) -endif - -# ----------------------------------------------------------------------------- - -DIST_CLEAN_FILES += config.cache config.status - -include $(TOP)/mk/target.mk - -# ----------------------------------------------------------------------------- -# Generating the combined contents/index pages for the library docs - -ifneq "$(NO_HADDOCK_DOCS)" "YES" - -HTML_DIR = html - -# ATTENTION, incomprehensible shell stuff ahead: Automagically create the -# prologue for the combined index via a header, the package prologues (in -# alphabetical order of the packages) and a footer. Not very nice, but much -# better than redundancy or a strong coupling with the packages. -libraries.txt: libraries-header.txt libraries-footer.txt $(foreach f,package.conf.in prologue.txt,$(addsuffix /$(f),$(SUBDIRS))) - $(RM) $@ - ( cat libraries-header.txt ; echo ; \ - for i in `for j in $(SUBDIRS) ; do echo $$j ; done | $(SORT) -f` ; do \ - if test -f $$i/$$i.haddock; then \ - echo "[@$$i@]"; \ - grep -v '^ *$$' $$i/prologue.txt; \ - echo; \ - fi; \ - done ; \ - cat libraries-footer.txt ; echo ) > $@ - -CLEAN_FILES += libraries.txt - -$(HTML_DIR)/index.html : libraries.txt - @$(INSTALL_DIR) $(HTML_DIR) - $(HADDOCK) --gen-index --gen-contents -o $(HTML_DIR) \ - $(HADDOCK_OPTS) \ - -t "Haskell Hierarchical Libraries" \ - -p libraries.txt \ - $(foreach pkg, $(filter-out haskell98,$(SUBDIRS)), \ - $(foreach p, $(wildcard $(pkg)/$(pkg).haddock), \ - --read-interface=$(pkg),$(pkg)/$(pkg).haddock)) - -html :: $(HTML_DIR)/index.html - -libraries.HxS : libraries.txt - @$(INSTALL_DIR) $(HTML_DIR) - $(HADDOCK) --gen-index --gen-contents -o $(HTML_DIR) \ - $(HADDOCK_OPTS) \ - -t "Haskell Hierarchical Libraries" \ - -p libraries.txt \ - -k libraries \ - --html-help=mshelp2 \ - $(foreach pkg, $(filter-out haskell98,$(SUBDIRS)), \ - $(foreach p, $(wildcard $(pkg)/$(pkg).haddock), \ - --read-interface=$(pkg),$(pkg)/$(pkg).haddock)) - ( cd $(HTML_DIR) && if Hxcomp -p libraries.HxC -o ../$@ ; then false ; else true ; fi ) || true - -libraries.chm : libraries.txt - @$(INSTALL_DIR) $(HTML_DIR) - $(HADDOCK) --gen-index --gen-contents -o $(HTML_DIR) \ - $(HADDOCK_OPTS) \ - -t "Haskell Hierarchical Libraries" \ - -p libraries.txt \ - -k libraries \ - --html-help=mshelp \ - $(foreach pkg, $(filter-out haskell98,$(SUBDIRS)), \ - $(foreach p, $(wildcard $(pkg)/$(pkg).haddock), \ - --read-interface=$(pkg),$(pkg)/$(pkg).haddock)) - ( cd $(HTML_DIR) && if hhc libraries.hhp ; then false ; else true ; fi && mv libraries.chm .. ) || true - -HxS :: libraries.HxS -chm :: libraries.chm - -install-docs :: $(HTML_DIR)/index.html - $(INSTALL_DIR) $(datadir)/html/libraries; \ - for i in $(HTML_DIR)/*; do \ - if test -f $$i; then \ - echo $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(datadir)/html/libraries; \ - $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(datadir)/html/libraries; \ - fi; \ - done - @for i in $(filter html chm HxS,$(XMLDocWays)); do \ - if [ $$i != "html" ]; then \ - $(INSTALL_DIR) $(datadir)/doc; \ - echo $(INSTALL_DATA) $(INSTALL_OPTS) libraries`echo .$$i | sed s/\.html-no-chunks/.html/` $(datadir)/doc; \ - $(INSTALL_DATA) $(INSTALL_OPTS) libraries`echo .$$i | sed s/\.html-no-chunks/.html/` $(datadir)/doc; \ - fi; \ - if [ $$i = "html-no-chunks" ]; then \ - echo $(CP) $(FPTOOLS_CSS_ABS) $(datadir); \ - $(CP) $(FPTOOLS_CSS_ABS) $(datadir); \ - fi \ - done -endif # NO_HADDOCK_DOCS +dir = libraries +TOP = .. +SPEC_TARGETS = 1 +include $(TOP)/mk/sub-makefile.mk + +.PHONY: 1 +1 : + +$(TOPMAKE) stage1_libs + +.PHONY: extra-help +help : extra-help +extra-help : + @echo " make 1" + @echo + @echo " Build all libraries that are built by the stage1 GHC" + @echo