# -----------------------------------------------------------------------------
-# $Id: package.mk,v 1.44 2005/01/20 14:22:31 simonmar Exp $
+# $Id: package.mk,v 1.47 2005/02/09 10:11:36 simonmar Exp $
ifneq "$(PACKAGE)" ""
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)
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)" ""
INSTALL_IFACES += $(HS_IFACES)
endif
+# install library (could be implicitly specified or explicitly, like libHS*_cbits.a)
+INSTALL_LIBS += $(LIBRARY)
+
# -----------------------------------------------------------------------------
# Dependencies
SRC_MKDEPENDC_OPTS += -I$(GHC_INCLUDE_DIR)
endif
-endif # $(PACKAGE) /= ""
-
-# install library (could be implicitly specified or explicitly, like libHS*_cbits.a)
-INSTALL_LIBS += $(LIBRARY)
+endif # $(PACKAGE) != ""
#--------------------------------------------------------------
# Building dynamically-linkable libraries for GHCi
GHCI_LIBRARY = $(patsubst lib%.a,%.o,$(LIBRARY))
+ifneq "$(PACKAGE)" ""
INSTALL_LIBS += $(GHCI_LIBRARY)
+endif
+
CLEAN_FILES += $(GHCI_LIBRARY)
all :: $(GHCI_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
$(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))))
endif # HS_PPS
endif # NO_HADDOCK_DOCS
+endif # $(PACKAGE) /= ""
# -----------------------------------------------------------------------------
-endif # $(LIBRARY) /= ""