[project @ 2005-02-10 13:38:35 by simonmar]
[ghc-hetmet.git] / mk / package.mk
index 7cdd6cd..7397e63 100644 (file)
@@ -1,5 +1,5 @@
 # -----------------------------------------------------------------------------
-# $Id: package.mk,v 1.44 2005/01/20 14:22:31 simonmar Exp $
+# $Id: package.mk,v 1.48 2005/02/10 13:38:35 simonmar Exp $
 
 ifneq "$(PACKAGE)" ""
 
@@ -43,7 +43,7 @@ endif # Unix
 IMPORT_DIR_INSTALLED = $(PKG_LIBDIR)/imports
 IMPORT_DIR_INPLACE   = $(FPTOOLS_TOP_ABS)/libraries/$(PACKAGE)
 
-INCLODE_DIR_INSTALLED =
+INCLUDE_DIR_INSTALLED = $(PKG_LIBDIR)/include
 INCLUDE_DIR_INPLACE   = $(FPTOOLS_TOP_ABS)/libraries/$(PACKAGE)/include
 
 LIB_DIR_INSTALLED    = $(PKG_LIBDIR)
@@ -166,6 +166,14 @@ SRC_HC_OPTS        += $(GhcLibHcOpts)
 SRC_HC_OPTS     += $(patsubst %, -package %, $(PACKAGE_DEPS))
 endif
 
+#      -fgenerics switches on generation of support code for 
+#              derivable type classes.  This is now off by default,
+#              but we switch it on for the libraries so that we generate
+#              the code in case someone importing wants it.
+ifeq "$(NON_HS_PACKAGE)" ""
+SRC_HC_OPTS    += -fgenerics
+endif
+
 LIBRARY        = libHS$(PACKAGE)$(_way).a
 
 ifeq "$(WAYS)" ""
@@ -233,10 +241,14 @@ ifeq "$(STANDALONE_PACKAGE)" "NO"
 SRC_MKDEPENDC_OPTS += -I$(GHC_INCLUDE_DIR)
 endif
 
-endif # $(PACKAGE) /= ""
+endif # $(PACKAGE) != ""
+
+#--------------------------------------------------------------
+# Installation
 
-# install library (could be implicitly specified or explicitly, like libHS*_cbits.a)
-INSTALL_LIBS  += $(LIBRARY)
+ifneq "$(NO_INSTALL_LIBRARY)" "YES"
+INSTALL_LIBS  += $(LIBRARY) $(GHCI_LIBRARY)
+endif
 
 #--------------------------------------------------------------
 # Building dynamically-linkable libraries for GHCi
@@ -256,7 +268,10 @@ ifeq "$(GhcWithInterpreter)" "YES"
 
 GHCI_LIBRARY = $(patsubst lib%.a,%.o,$(LIBRARY))
 
+ifneq "$(NO_INSTALL_LIBRARY)" "YES"
 INSTALL_LIBS += $(GHCI_LIBRARY)
+endif
+
 CLEAN_FILES  += $(GHCI_LIBRARY)
 
 all :: $(GHCI_LIBRARY)
@@ -302,7 +317,7 @@ DYLD_LIBRARY = $(patsubst %.a,%_dyn.dylib,$(LIBRARY))
     #   Note: I'm not yet sure about this, but I think it will be convenient for
     #         users not to have to set up DYLD_LIBRARY_PATH to point to the GHC
     #         library dir. -- Wolfgang
-    
+
 $(DYLD_LIBRARY) : $(LIBOBJS) $(STUBOBJS)
        $(CC) -dynamiclib -o $@ $(STUBOBJS) $(LIBOBJS) -flat_namespace -undefined suppress -install_name `pwd`/$@
 else
@@ -312,17 +327,22 @@ $(DYLD_LIBRARY) : $(LIBOBJS) $(STUBOBJS)
        $(CC) -shared -o $@ $(STUBOBJS) $(LIBOBJS)
 endif
 
+ifneq "$(PACKAGE)" ""
 INSTALL_LIBS += $(DYLD_LIBRARY)
+endif
+
 CLEAN_FILES += $(DYLD_LIBRARY)
 
 all :: $(DYLD_LIBRARY)
 
+endif # $(GhcBuildDylibs) == "YES"
 
-endif
+endif # $(LIBRARY) /= ""
 
 # -----------------------------------------------------------------------------
 # Doc building with Haddock
 
+ifneq "$(PACKAGE)" ""
 ifneq "$(NO_HADDOCK_DOCS)" "YES"
 
 HS_PPS = $(addsuffix .raw-hs, $(basename $(filter-out $(EXCLUDED_HADDOCK_SRCS), $(HS_SRCS))))
@@ -376,7 +396,7 @@ install-docs :: $(HTML_DOC)
 
 endif # HS_PPS
 endif # NO_HADDOCK_DOCS
+endif # $(PACKAGE) /= ""
 
 # -----------------------------------------------------------------------------
 
-endif # $(LIBRARY) /= ""