#
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)
C_SRCS := $(filter-out ghcReadline.c,$(C_SRCS))
endif
-# ToDo: properly
-# -D__GNUC__ : added to turn off noise from byteorder.h with 2.7.2 / Solaris-2.3
-#
-SRC_MKDEPENDC_OPTS += -I$(GHC_INCLUDE_DIR) -D__GNUC__
-SRC_CC_OPTS += -I$(GHC_INCLUDE_DIR)
+ifeq "$(EnableWin32DLLs)" "YES"
+ C_SRCS := $(filter-out selectFrom.c,$(C_SRCS))
+endif
+
+ifneq "$(way)" "dll"
+SRC_CC_OPTS += -static
+endif
-LIBRARY=libHSmisc_cbits.a
+SRC_MKDEPENDC_OPTS += -I$(GHC_INCLUDE_DIR)
+SRC_CC_OPTS += -I$(GHC_INCLUDE_DIR) -I$(GHC_LIB_DIR)/std/cbits
+
+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 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