aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/buildsys
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2005-02-24 04:56:24 +0000
committerThomas Grill <xovo@users.sourceforge.net>2005-02-24 04:56:24 +0000
commit8ec192b0c40fd0d42a2e55da3c58e7b0c5e84b6d (patch)
tree7ad63e9efe0c455a28646098008e5bc77fb0caeb /externals/grill/flext/buildsys
parent79060630e9ad4cf8990266f84dd88112b958695b (diff)
added shared library build facility for Windows
svn path=/trunk/; revision=2579
Diffstat (limited to 'externals/grill/flext/buildsys')
-rw-r--r--externals/grill/flext/buildsys/nmake-shlib.inc1
-rw-r--r--externals/grill/flext/buildsys/targets-shlib.inc51
-rw-r--r--externals/grill/flext/buildsys/win/nmake-msvc-shlib.inc45
-rw-r--r--externals/grill/flext/buildsys/win/nmake-msvc.inc4
-rw-r--r--externals/grill/flext/buildsys/win/pd/bmake-bcc-shlib.inc1
-rw-r--r--externals/grill/flext/buildsys/win/pd/gnumake-cygwin-shlib.inc1
-rw-r--r--externals/grill/flext/buildsys/win/pd/gnumake-mingw-shlib.inc1
-rw-r--r--externals/grill/flext/buildsys/win/pd/nmake-msvc-shlib.inc1
8 files changed, 103 insertions, 2 deletions
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