summaryrefslogtreecommitdiff
path: root/build/Makefile-msvcproj.mak
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2013-08-27 17:55:39 +0800
committerNeil Roberts <neil@linux.intel.com>2013-09-02 16:06:17 +0100
commit491020592b240ca5f2885dee104c88bf431858ae (patch)
tree149575026d1154d893e592640d16eafda0da15d2 /build/Makefile-msvcproj.mak
parent5ea57b14f5ec7d52ae378f4ca64574ef56342f56 (diff)
downloadcogl-491020592b240ca5f2885dee104c88bf431858ae.tar.gz
Add Autotools Items to Complete the Cogl-Path MSVC Projects
This adds a centralized autotools Makefile to be used in the completion of the project files for Cogl-Path for now, which can be used also in Cogl, Cogl-Pango and possibly Cogl-Gst so that we could have less clutter in the autotools files. This patch set will also allow the Cogl-Path project files to be filled in during 'make dist' and make them distributed during a tarball release. Reviewed-by: Neil Roberts <neil@linux.intel.com>
Diffstat (limited to 'build/Makefile-msvcproj.mak')
-rw-r--r--build/Makefile-msvcproj.mak56
1 files changed, 56 insertions, 0 deletions
diff --git a/build/Makefile-msvcproj.mak b/build/Makefile-msvcproj.mak
new file mode 100644
index 00000000..6640a709
--- /dev/null
+++ b/build/Makefile-msvcproj.mak
@@ -0,0 +1,56 @@
+# Centralized autotools file
+# To create the Visual C++ projects
+# from the templates
+# Author: Fan, Chun-wei
+# August 30, 2012
+
+# Required Items to call this:
+# MSVC_PROJECT: name of project
+# MSVC_PROJECT_SRCDIR: subdir of source tree where sources for this project is found
+# MSVC_PROJECT_SRCS: source files to build
+# MSVC_PROJECT_EXCLUDES: source files to exclude from MSVC_PROJECT_SRCS, use dummy if none,
+# wildcards (*) are allowed, seperated by |
+# DISTCLEANFILES: Define an empty one if not previously defined
+
+# Create the complete Visual C++ 2008/2010 project files
+
+$(top_builddir)/build/win32/vs9/$(MSVC_PROJECT).vcproj: $(top_srcdir)/build/win32/vs9/$(MSVC_PROJECT).vcprojin
+ for F in `echo $(MSVC_PROJECT_SRCS) | sed 's/\.\///g' | tr '/' '\\'`; do \
+ case $$F in \
+ $(MSVC_PROJECT_EXCLUDES)) \
+ ;; \
+ *.c) echo ' <File RelativePath="..\..\..\$(MSVC_PROJECT_SRCDIR)\'$$F'" />' \
+ ;; \
+ esac; \
+ done | sort -u >$(MSVC_PROJECT).sourcefiles
+ $(CPP) -P - <$(top_srcdir)/build/win32/vs9/$(MSVC_PROJECT).vcprojin >$@
+ rm $(MSVC_PROJECT).sourcefiles
+
+$(top_builddir)/build/win32/vs10/$(MSVC_PROJECT).vcxproj: $(top_srcdir)/build/win32/vs10/$(MSVC_PROJECT).vcxprojin
+ for F in `echo $(MSVC_PROJECT_SRCS) | sed 's/\.\///g' | tr '/' '\\'`; do \
+ case $$F in \
+ $(MSVC_PROJECT_EXCLUDES)) \
+ ;; \
+ *.c) echo ' <ClCompile Include="..\..\..\$(MSVC_PROJECT_SRCDIR)\'$$F'" />' \
+ ;; \
+ esac; \
+ done | sort -u >$(MSVC_PROJECT).vs10.sourcefiles
+ $(CPP) -P - <$(top_srcdir)/build/win32/vs10/$(MSVC_PROJECT).vcxprojin >$@
+ rm $(MSVC_PROJECT).vs10.sourcefiles
+
+$(top_builddir)/build/win32/vs10/$(MSVC_PROJECT).vcxproj.filters: $(top_srcdir)/build/win32/vs10/$(MSVC_PROJECT).vcxproj.filtersin
+ for F in `echo $(MSVC_PROJECT_SRCS) | sed 's/\.\///g' | tr '/' '\\'`; do \
+ case $$F in \
+ $(MSVC_PROJECT_EXCLUDES)) \
+ ;; \
+ *.c) echo ' <ClCompile Include="..\..\..\$(MSVC_PROJECT_SRCDIR)\'$$F'"><Filter>Source Files</Filter></ClCompile>' \
+ ;; \
+ esac; \
+ done | sort -u >$(MSVC_PROJECT).vs10.sourcefiles.filters
+ $(CPP) -P - <$(top_srcdir)/build/win32/vs10/$(MSVC_PROJECT).vcxproj.filtersin >$@
+ rm $(MSVC_PROJECT).vs10.sourcefiles.filters
+
+DISTCLEANFILES += \
+ $(top_builddir)/build/win32/vs9/$(MSVC_PROJECT).vcproj \
+ $(top_builddir)/build/win32/vs10/$(MSVC_PROJECT).vcxproj \
+ $(top_builddir)/build/win32/vs10/$(MSVC_PROJECT).vcxproj.filters