[project @ 2003-05-17 00:11:27 by ross]
[ghc-hetmet.git] / mk / package.mk
index 9b02258..4b3eccd 100644 (file)
@@ -1,5 +1,5 @@
 # -----------------------------------------------------------------------------
-# $Id: package.mk,v 1.19 2002/09/26 09:07:50 simonmar Exp $
+# $Id: package.mk,v 1.25 2003/05/17 00:11:30 ross Exp $
 
 ifneq "$(PACKAGE)" ""
 
@@ -8,11 +8,11 @@ ifneq "$(PACKAGE)" ""
 
 ifeq "$(way)" ""
 
-$(PACKAGE).conf.inplace   : $(PACKAGE).conf.in
+package.conf.inplace   : package.conf.in
        $(CPP) $(RAWCPP_FLAGS) -I$(GHC_INCLUDE_DIR) -x c $(PACKAGE_CPP_OPTS) $< \
                | sed 's/^#.*$$//g' >$@
 
-$(PACKAGE).conf.installed : $(PACKAGE).conf.in
+package.conf.installed : package.conf.in
        $(CPP) $(RAWCPP_FLAGS) -I$(GHC_INCLUDE_DIR) -DINSTALLING -x c $(PACKAGE_CPP_OPTS) $< \
                | sed 's/^#.*$$//g' >$@
 
@@ -30,14 +30,16 @@ $(PACKAGE).conf.installed : $(PACKAGE).conf.in
 STAMP_PKG_CONF = $(GHC_DRIVER_DIR)/stamp-pkg-conf-$(PACKAGE)
 CLEAN_FILES += $(STAMP_PKG_CONF)
 
+ifneq "$(BootingFromHc)" "YES"
 boot all :: $(STAMP_PKG_CONF)
+endif
 
-$(STAMP_PKG_CONF) : $(PACKAGE).conf.inplace $(PACKAGE).conf.installed
-       $(GHC_PKG_INPLACE) --update-package <$(PACKAGE).conf.inplace
-       $(GHC_PKG_INPLACE)  -f $(GHC_DRIVER_DIR)/package.conf --update-package <$(PACKAGE).conf.installed
+$(STAMP_PKG_CONF) : package.conf.inplace package.conf.installed
+       $(GHC_PKG_INPLACE) --update-package <package.conf.inplace
+       $(GHC_PKG_INPLACE)  -f $(GHC_DRIVER_DIR)/package.conf --update-package <package.conf.installed
        @touch $(STAMP_PKG_CONF)
 
-CLEAN_FILES += $(PACKAGE).conf.installed $(PACKAGE).conf.inplace 
+CLEAN_FILES += package.conf.installed package.conf.inplace 
 
 endif # $(way) == ""
 
@@ -86,7 +88,11 @@ endif
 # The interface files are put inside the $(libdir), since they
 # might (potentially) be platform specific..
 
-ifacedir = $(libdir)/imports/$(PACKAGE)
+ifeq "$(HIERARCHICAL_LIB)" "YES"
+ifacedir = $(libdir)/imports
+else
+ifacedir = $(libdir)/hslibs-imports/$(PACKAGE)
+endif
 
 # If the lib consists of a hierachy of modules, we must retain the directory
 # structure when we install the interfaces.
@@ -161,6 +167,8 @@ HTML_DOC = $(HTML_DIR)/index.html
 
 ifneq "$(HS_PPS)" ""
 
+CLEAN_FILES += $(HS_PPS) $(addsuffix .tmp, $(HS_SRCS))
+
 ifeq "$(HADDOCK)" ""
 html ::
        @echo Haddock must be installed in order to build HTML library documentation.
@@ -170,6 +178,9 @@ endif
 
 html :: $(HTML_DOC)
 
+extraclean :: 
+       $(RM) -rf $(HTML_DIR)
+
 $(HTML_DOC) : $(HS_PPS)
        @$(INSTALL_DIR) $(HTML_DIR)
        $(HADDOCK) $(HADDOCK_OPTS) -h -o $(HTML_DIR) $(HS_PPS) \
@@ -189,6 +200,7 @@ install-docs :: $(HTML_DOC)
           echo $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(datadir)/html/$(PACKAGE); \
           $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(datadir)/html/$(PACKAGE); \
        done
+       $(INSTALL_DATA) $(INSTALL_OPTS) $(PACKAGE).haddock $(datadir)/html/$(PACKAGE)
 
 endif # HS_PPS
 endif # NO_HADDOCK_DOCS