[project @ 1999-11-26 16:26:32 by simonmar]
[ghc-hetmet.git] / ghc / lib / misc / cbits / Makefile
index 379073f..53ba251 100644 (file)
@@ -3,9 +3,14 @@
 #
 TOP=../../..
 include $(TOP)/mk/boilerplate.mk
+
+ifeq "$(filter dll,$(WAYS))" "dll"
+override WAYS=dll
+else
 override WAYS=
+endif
 
-CC:=$(HC)
+CC:=$(GHC)
 
 C_SRCS=$(wildcard *.c)
 
@@ -14,15 +19,32 @@ ifneq "$(HAVE_READLINE)" "YES"
   C_SRCS := $(filter-out ghcReadline.c,$(C_SRCS))
 endif
 
+ifeq "$(EnableWin32DLLs)" "YES"
+  C_SRCS := $(filter-out selectFrom.c,$(C_SRCS))
+endif
+
+ifneq "$(way)" "dll"
+SRC_CC_OPTS += -static
+endif
+
 SRC_MKDEPENDC_OPTS += -I$(GHC_INCLUDE_DIR)
 SRC_CC_OPTS += -I$(GHC_INCLUDE_DIR) -I$(GHC_LIB_DIR)/std/cbits
 
-LIBRARY=libHSmisc_cbits.a
+LIBRARY=libHSmisc_cbits$(_way).a
 LIBOBJS=$(C_OBJS)
 INSTALL_LIBS += $(LIBRARY)
 
 DLL_NAME = HSmisc_cbits.dll
-SRC_BLD_DLL_OPTS += --export-all --output-def=HSmisc_cbits.def
-SRC_BLD_DLL_OPTS += -lwinmm -lwsock32 -lHSrts_imp -lHS_cbits_imp -lgmp -L. -L../../../rts/gmp -L../../../rts -L../../std/cbits
+SRC_BLD_DLL_OPTS += --export-all --output-def=HSmisc_cbits.def DllVersionInfo.o
+SRC_BLD_DLL_OPTS += -lwinmm -lwsock32 -lHSrts_imp -lHScbits_imp -lgmp -L. -L../../../rts/gmp -L../../../rts -L../../std/cbits
+
+ifeq "$(way)" "dll"
+all :: DllVersionInfo.o
+endif
+
+ifeq "$(EnableWin32DLLs)" "YES"
+INSTALL_PROGS  += $(DLL_NAME)
+INSTALL_LIBS += $(patsubst %.a, %_imp.a, $(LIBRARY))
+endif
 
 include $(TOP)/mk/target.mk