From 12b543efd9f63dc1d6142de04d5bb4b3ac55a99c Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Fri, 13 Jul 2007 13:26:43 +0000 Subject: [PATCH] defs.mk, rules.mk: Some fixes to mingw support --- make/defs.mk | 15 ++++++++++----- make/rules.mk | 10 ++++++++-- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/make/defs.mk b/make/defs.mk index 8bf76d37..0c00c6a7 100644 --- a/make/defs.mk +++ b/make/defs.mk @@ -59,11 +59,11 @@ ifeq ($(TARGET),mingw) CROSS_TOOL_DIR = /opt/cross-tools CROSS_TOOL_BIN_PREFIX = $(CROSS_TOOL_DIR)/bin/i386-mingw32- CC = $(CROSS_TOOL_BIN_PREFIX)gcc -GPP = $(CROSS_TOOL_BIN_PREFIX)g++ -LDFLAGS += -Wl,--out-implib +CPP = $(CROSS_TOOL_BIN_PREFIX)g++ +LDFLAGS += -lws2_32 +USE_GFILTER = false endif - YTOOLS_DIR = $(MODDIR) WINVERSION = $(shell echo $(VERSION) | sed -e "s/\./_/g") LOCAL_VERSION = $(shell echo $(VERSION)) @@ -187,9 +187,14 @@ INSTALLED_VERSION_FILE = $(PREFIX)/VERSION INSTALLED_DOCS_DIST = $(addprefix $(INSTALL_DOCDIR_DIST)/,$(DOCS)) INSTALLED_DOCS_DEVEL = $(addprefix $(INSTALL_DOCDIR_DEVEL)/,$(DOCS)) -SO_SUFFIX = so.$(shell echo $(VERSION) | cut -d- -f1) LIB_A = $(LIBDIR)/lib$(LIBNAME).a +ifneq ($(TARGET),mingw) +SO_SUFFIX = so.$(shell echo $(VERSION) | cut -d- -f1) LIB_SO = $(LIBDIR)/lib$(LIBNAME).$(SO_SUFFIX) +else +SO_SUFFIX = dll.$(shell echo $(VERSION) | cut -d- -f1) +LIB_SO = $(LIBDIR)/$(LIBNAME).dll +endif VERSION_SCRIPT = $(LIBDIR)/version.ldscript INSTALLED_LIB_SO = $(INSTALL_LIBDIR)/lib$(LIBNAME).$(SO_SUFFIX) INSTALLED_SHOBJS += $(addprefix $(INSTALL_LIBDIR)/,$(SHOBJS)) @@ -321,7 +326,7 @@ ifeq ($(USE_GFILTER),true) CPP = g++ endif else - CPP = g++ + CPP ?= g++ endif ifeq ($(USE_PROJECT_LIB),true) diff --git a/make/rules.mk b/make/rules.mk index 54f60309..e5e8e65a 100644 --- a/make/rules.mk +++ b/make/rules.mk @@ -61,9 +61,15 @@ endif $(VERSION_SCRIPT): $(MOD_SCRIPT_DIR)/make_version_script.sh $(BINARY_VERSION) > $@ +ifneq ($(TARGET),mingw) $(LIB_SO): $(VERSION_SCRIPT) $(LIB_A) $(CC) -shared -Wl,--whole-archive,-soname=$(notdir $@) $(VERSION_SCRIPT) $(LIB_A) -Wl,--no-whole-archive \ $(filter-out -l$(LIBNAME),$(LDFLAGS)) -o $@ +else +$(LIB_SO): $(VERSION_SCRIPT) $(LIB_A) + $(CC) -shared -Wl,--whole-archive,--out-implib,$(LIB_A)-mingw $(VERSION_SCRIPT) $(LIB_A) -Wl,--no-whole-archive \ + $(filter-out -l$(LIBNAME),$(LDFLAGS)) -o $@ +endif $(TOPDIR)/include: mkdir -p $@ @@ -200,10 +206,10 @@ endif # fi .%.o.dep.mk: %.cpp $(BUILD_H) - gcc -M $(CPPFLAGS) $(DEPEND_CPPFLAGS) $< -o $@ + $(CC) -M $(CPPFLAGS) $(DEPEND_CPPFLAGS) $< -o $@ .%.o.dep.mk: %.c $(BUILD_H) - gcc -M $(CPPFLAGS) $(DEPEND_CPPFLAGS) $< -o $@ + $(CC) -M $(CPPFLAGS) $(DEPEND_CPPFLAGS) $< -o $@ checkroot: @if [ "$(CHECK_ROOT)" = true -o "$(CHECK_ROOT)" = TRUE ] ; then \