[project @ 2006-01-04 12:49:38 by simonmar]
[ghc-hetmet.git] / mk / package.mk
index 9e05818..a2794ab 100644 (file)
@@ -1,5 +1,5 @@
 # -----------------------------------------------------------------------------
-# $Id: package.mk,v 1.50 2005/03/24 18:44:16 sof Exp $
+# $Id: package.mk,v 1.55 2005/05/13 10:05:33 krasimir Exp $
 
 ifneq "$(PACKAGE)" ""
 
@@ -154,25 +154,24 @@ endif # $(way) == ""
 # -----------------------------------------------------------------------------
 # Building the static library libHS<pkg>.a
 
-ifeq "$(STANDALONE_PACKAGE)" "NO"
-HC = $(GHC_INPLACE)
-endif
-
 SRC_HSC2HS_OPTS += -I.
 
-ifeq "$(NON_HS_PACKAGE)" ""
+ifeq "$(STANDALONE_PACKAGE)" "NO"
+HC = $(GHC_INPLACE)
+IGNORE_PACKAGE_FLAG = -ignore-package
+else
 # Only use -ignore-package if supported by HC; i.e., ghc-6.3 and later.
 # (Don't like the use of slow $(shell ..) in Makefiles, but can't see a way around it here.)
-ifeq "$(STANDALONE_PACKAGE)" "NO"
-SRC_HC_OPTS    += -ignore-package $(PACKAGE)
+ifeq "$(strip $(GHC))" ""
+IGNORE_PACKAGE_FLAG = -ignore-package
 else
-ifneq "$(strip $(GHC))" ""
 # Making the assumption here that standalone packages will be using mk/config.mk:GHC
-SRC_HC_OPTS = $(shell if (test $(GhcCanonVersion) -ge 603); then echo "-ignore-package $(PACKAGE)"; fi)
-else
-SRC_HC_OPTS    += -ignore-package $(PACKAGE)
-endif
-endif
+IGNORE_PACKAGE_FLAG = $(shell if (test $(GhcCanonVersion) -ge 603); then echo "-ignore-package"; else echo "-package-name"; fi)
+endif 
+endif # STANDALONE_PACKAGE
+
+ifeq "$(NON_HS_PACKAGE)" ""
+SRC_HC_OPTS    += $(IGNORE_PACKAGE_FLAG) $(PACKAGE)
 SRC_HC_OPTS    += $(GhcLibHcOpts)
 SRC_HC_OPTS     += $(patsubst %, -package %, $(PACKAGE_DEPS))
 endif
@@ -185,7 +184,9 @@ ifeq "$(NON_HS_PACKAGE)" ""
 SRC_HC_OPTS    += -fgenerics
 endif
 
+ifndef LIBRARY
 LIBRARY        = libHS$(PACKAGE)$(_way).a
+endif
 
 ifeq "$(WAYS)" ""
 WAYS = $(GhcLibWays)
@@ -277,7 +278,9 @@ ifneq "$(LIBRARY)" ""
 ifeq "$(way)" ""
 ifeq "$(GhcWithInterpreter)" "YES"
 
+ifndef GHCI_LIBRARY
 GHCI_LIBRARY = $(patsubst lib%.a,%.o,$(LIBRARY))
+endif
 
 ifneq "$(NO_INSTALL_LIBRARY)" "YES"
 INSTALL_LIBS += $(GHCI_LIBRARY)
@@ -358,7 +361,7 @@ ifneq "$(NO_HADDOCK_DOCS)" "YES"
 
 HS_PPS = $(addsuffix .raw-hs, $(basename $(filter-out $(EXCLUDED_HADDOCK_SRCS), $(HS_SRCS))))
 
-HTML_DIR = html
+HTML_DIR = ../html/$(PACKAGE)
 HTML_DOC = $(HTML_DIR)/haddock.css $(HTML_DIR)/haddock.js
 
 ifneq "$(HS_PPS)" ""
@@ -399,11 +402,11 @@ HTML_INSTALL_DIR = $(datadir)/html/libraries/$(PACKAGE)
 
 install-docs :: $(HTML_DOC)
        @$(INSTALL_DIR) $(HTML_INSTALL_DIR)
-       @for i in $(HTML_DIR)/*; do \
-          echo $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(HTML_INSTALL_DIR); \
-          $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(HTML_INSTALL_DIR); \
-       done
-       $(INSTALL_DATA) $(INSTALL_OPTS) $(PACKAGE).haddock $(HTML_INSTALL_DIR)
+       for i in $(HTML_DIR)/*; do \
+         echo $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(HTML_INSTALL_DIR); \
+         $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(HTML_INSTALL_DIR); \
+       done; \
+       $(INSTALL_DATA) $(INSTALL_OPTS) $(PACKAGE).haddock $(HTML_INSTALL_DIR); \
 
 endif # HS_PPS
 endif # NO_HADDOCK_DOCS