From 8ec192b0c40fd0d42a2e55da3c58e7b0c5e84b6d Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Thu, 24 Feb 2005 04:56:24 +0000 Subject: added shared library build facility for Windows svn path=/trunk/; revision=2579 --- externals/grill/flext/buildsys/nmake-shlib.inc | 1 + externals/grill/flext/buildsys/targets-shlib.inc | 51 ++++++++++++++++++++++ .../grill/flext/buildsys/win/nmake-msvc-shlib.inc | 45 +++++++++++++++++++ externals/grill/flext/buildsys/win/nmake-msvc.inc | 4 +- .../flext/buildsys/win/pd/bmake-bcc-shlib.inc | 1 + .../flext/buildsys/win/pd/gnumake-cygwin-shlib.inc | 1 + .../flext/buildsys/win/pd/gnumake-mingw-shlib.inc | 1 + .../flext/buildsys/win/pd/nmake-msvc-shlib.inc | 1 + 8 files changed, 103 insertions(+), 2 deletions(-) create mode 100644 externals/grill/flext/buildsys/nmake-shlib.inc create mode 100644 externals/grill/flext/buildsys/targets-shlib.inc create mode 100644 externals/grill/flext/buildsys/win/nmake-msvc-shlib.inc create mode 100644 externals/grill/flext/buildsys/win/pd/bmake-bcc-shlib.inc create mode 100644 externals/grill/flext/buildsys/win/pd/gnumake-cygwin-shlib.inc create mode 100644 externals/grill/flext/buildsys/win/pd/gnumake-mingw-shlib.inc create mode 100644 externals/grill/flext/buildsys/win/pd/nmake-msvc-shlib.inc diff --git a/externals/grill/flext/buildsys/nmake-shlib.inc b/externals/grill/flext/buildsys/nmake-shlib.inc new file mode 100644 index 00000000..d959aaca --- /dev/null +++ b/externals/grill/flext/buildsys/nmake-shlib.inc @@ -0,0 +1 @@ +OUTNAME=$(NAME) diff --git a/externals/grill/flext/buildsys/targets-shlib.inc b/externals/grill/flext/buildsys/targets-shlib.inc new file mode 100644 index 00000000..bd9d733e --- /dev/null +++ b/externals/grill/flext/buildsys/targets-shlib.inc @@ -0,0 +1,51 @@ +build-default-default: build-$(BUILDMODE)-$(BUILDTYPE) + +build-all-default: build-all-$(BUILDTYPE) + +build-release-default: build-release-$(BUILDTYPE) + +build-debug-default: build-debug-$(BUILDTYPE) + +build-profile-default: build-profile-$(BUILDTYPE) + +build-default-all: build-$(BUILDMODE)-all + +build-default-single: build-$(BUILDMODE)-single + +build-default-multi: build-$(BUILDMODE)-multi + +build-default-shared: build-$(BUILDMODE)-shared + + +install-default-default: install-$(BUILDMODE)-$(BUILDTYPE) + +install-all-default: install-all-$(BUILDTYPE) + +install-release-default: install-release-$(BUILDTYPE) + +install-debug-default: install-debug-$(BUILDTYPE) + +install-default-all: install-$(BUILDMODE)-all + +install-default-single: install-$(BUILDMODE)-single + +install-default-multi: install-$(BUILDMODE)-multi + +install-default-shared: install-$(BUILDMODE)-shared + + +clean-default-default: clean-$(BUILDMODE)-$(BUILDTYPE) + +clean-all-default: clean-all-$(BUILDTYPE) + +clean-release-default: clean-release-$(BUILDTYPE) + +clean-debug-default: clean-debug-$(BUILDTYPE) + +clean-default-all: clean-$(BUILDMODE)-all + +clean-default-single: clean-$(BUILDMODE)-single + +clean-default-multi: clean-$(BUILDMODE)-multi + +clean-default-shared: clean-$(BUILDMODE)-shared diff --git a/externals/grill/flext/buildsys/win/nmake-msvc-shlib.inc b/externals/grill/flext/buildsys/win/nmake-msvc-shlib.inc new file mode 100644 index 00000000..3b436599 --- /dev/null +++ b/externals/grill/flext/buildsys/win/nmake-msvc-shlib.inc @@ -0,0 +1,45 @@ +# build class specific settings + +INCPATH=$(INCPATH) /I$(FLEXTINC) +LIBPATH=$(LIBPATH) /LIBPATH:$(FLEXTLIB) +LIBS=$(LIBS) $(FLEXTNAME).lib + +############################################## + +# default target +_build_: $(TARGET) + +$(OUTPATH): + if not exist $@ mkdir $@ > nul + +$(TARGETPATH): $(OUTPATH) + if not exist $@ mkdir $@ > nul + +{$(SRCDIR)}.cpp{}.obj: + cl /c $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@ + +{$(SRCDIR)}.c{}.obj: + cl /c $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@ + +$(TARGET):: $(TARGETPATH) + +$(TARGET):: $(OBJS) + @cd $(TARGETPATH) + link /DLL $(LDFLAGS) $(LIBPATH) $(OBJS) $(LIBS) /OUT:$(@F) + @cd ..\.. + +############################################## +# remove build + +_clean_: + -del /q $(TARGETPATH)\*.* > nul + -rmdir /q $(TARGETPATH) > nul + +############################################## + +_install_: + @if not exist $(FLEXTSHLIB) mkdir $(FLEXTSHLIB) > nul + + copy $(TARGET) $(FLEXTSHLIB) > nul +# copy import library + copy $(TARGET:.dll=.lib) $(FLEXTSHLIB) > nul diff --git a/externals/grill/flext/buildsys/win/nmake-msvc.inc b/externals/grill/flext/buildsys/win/nmake-msvc.inc index c5e58d9c..d19fd44e 100644 --- a/externals/grill/flext/buildsys/win/nmake-msvc.inc +++ b/externals/grill/flext/buildsys/win/nmake-msvc.inc @@ -21,8 +21,8 @@ CFLAGS=$(CFLAGS) /YX$(PRECOMPILE) /Fp$(OBJPATH)\precompiled.pch # create code for DLL CFLAGS=$(CFLAGS) /LD -# enable exception handling -CFLAGS=$(CFLAGS) /EHsc +# enable exception handling and RTTI +CFLAGS=$(CFLAGS) /EHsc /GR # no banner CFLAGS=$(CFLAGS) /nologo diff --git a/externals/grill/flext/buildsys/win/pd/bmake-bcc-shlib.inc b/externals/grill/flext/buildsys/win/pd/bmake-bcc-shlib.inc new file mode 100644 index 00000000..b2234c5b --- /dev/null +++ b/externals/grill/flext/buildsys/win/pd/bmake-bcc-shlib.inc @@ -0,0 +1 @@ +EXT=dll diff --git a/externals/grill/flext/buildsys/win/pd/gnumake-cygwin-shlib.inc b/externals/grill/flext/buildsys/win/pd/gnumake-cygwin-shlib.inc new file mode 100644 index 00000000..b2234c5b --- /dev/null +++ b/externals/grill/flext/buildsys/win/pd/gnumake-cygwin-shlib.inc @@ -0,0 +1 @@ +EXT=dll diff --git a/externals/grill/flext/buildsys/win/pd/gnumake-mingw-shlib.inc b/externals/grill/flext/buildsys/win/pd/gnumake-mingw-shlib.inc new file mode 100644 index 00000000..b2234c5b --- /dev/null +++ b/externals/grill/flext/buildsys/win/pd/gnumake-mingw-shlib.inc @@ -0,0 +1 @@ +EXT=dll diff --git a/externals/grill/flext/buildsys/win/pd/nmake-msvc-shlib.inc b/externals/grill/flext/buildsys/win/pd/nmake-msvc-shlib.inc new file mode 100644 index 00000000..b2234c5b --- /dev/null +++ b/externals/grill/flext/buildsys/win/pd/nmake-msvc-shlib.inc @@ -0,0 +1 @@ +EXT=dll -- cgit v1.2.1