aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/buildsys/win/make-msvc.inc
diff options
context:
space:
mode:
Diffstat (limited to 'externals/grill/flext/buildsys/win/make-msvc.inc')
-rw-r--r--externals/grill/flext/buildsys/win/make-msvc.inc103
1 files changed, 103 insertions, 0 deletions
diff --git a/externals/grill/flext/buildsys/win/make-msvc.inc b/externals/grill/flext/buildsys/win/make-msvc.inc
new file mode 100644
index 00000000..eb9e87bf
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/make-msvc.inc
@@ -0,0 +1,103 @@
+!ifndef FLEXTBUILD
+INCPATH=$(INCPATH) /I$(FLEXTPATH)
+LIBPATH=$(LIBPATH) /LIBPATH:$(FLEXTPATH)
+LIBS=$(LIBS) $(FLEXTNAME).lib
+!endif
+
+!ifdef MSVCPATH
+INCPATH=$(INCPATH) /I$(MSVCPATH)\include
+LIBPATH=$(LIBPATH) /LIBPATH:$(MSVCPATH)\lib
+!endif
+
+# for VC7 - enable exception handling
+CFLAGS=$(CFLAGS) /EHsc
+
+##############################################
+
+!ifdef DEBUG
+CFLAGS=$(CFLAGS) /D_DEBUG /DMTd
+LDFLAGS=$(LDFLAGS) /DEBUG
+!else
+CFLAGS=$(CFLAGS) $(OFLAGS) /DNDEBUG /DMT
+LDFLAGS=$(LDFLAGS) /INCREMENTAL:NO
+!endif
+
+##############################################
+
+!ifdef FLEXTBUILD
+OUTNAME=$(FLEXTNAME)
+
+!ifdef SHARED
+EXT=dll
+!else
+EXT=lib
+BUILDLIB=1
+!endif
+
+!else
+OUTNAME=$(NAME)
+!endif
+
+##############################################
+
+TARGETPATH=$(OUTPATH)\$(OUTSUB)
+TARGET=$(TARGETPATH)\$(OUTNAME).$(EXT)
+
+##############################################
+
+# default target
+_all_: $(TARGET)
+
+# convert both *.c and *.cpp
+OBJSTMP= $(SRCS:.c=.obj)
+OBJS= $(OBJSTMP:.objpp=.obj)
+
+$(TARGETPATH):
+ if not exist $(OUTPATH) mkdir $(OUTPATH) > nul
+ if not exist $@ mkdir $@ > nul
+
+{$(SRCDIR)}.cpp{}.obj:
+ cl /c /LD $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@
+
+{$(SRCDIR)}.c{}.obj:
+ cl /c /LD $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@
+
+$(TARGET):: $(TARGETPATH)
+
+$(TARGET):: $(OBJS)
+ @cd $(TARGETPATH)
+!ifdef BUILDLIB
+ lib /OUT:$(@F) $(OBJS)
+ cd ..
+!else
+ echo $**
+ link /DLL $(LDFLAGS) $(LIBPATH) $(OBJS) $(LIBS) /out:$(@F)
+!endif
+ cd ..
+
+##############################################
+
+# remove build
+_clean_:
+ -del /q $(TARGET) > nul
+ -cd $(TARGETPATH)
+ -del /q $(OBJS) > nul
+
+##############################################
+
+$(INSTPATH):
+ if not exist $@ mkdir $@ > nul
+
+$(FLEXTPATH):
+ if not exist $@ mkdir $@ > nul
+
+_install_:: $(INSTPATH) $(FLEXTPATH)
+
+_install_::
+!ifdef FLEXTBUILD
+ -copy $(TARGET) $(FLEXTPATH) > nul
+ @cd $(SRCDIR)
+ -for %%i in ($(HDRS)) do @copy %%i $(FLEXTPATH) > nul
+!else
+ copy $(TARGET) $(INSTPATH) > nul
+!endif