summaryrefslogtreecommitdiff
path: root/cmockery_0_1_2/windows/makefile
diff options
context:
space:
mode:
Diffstat (limited to 'cmockery_0_1_2/windows/makefile')
-rw-r--r--cmockery_0_1_2/windows/makefile228
1 files changed, 228 insertions, 0 deletions
diff --git a/cmockery_0_1_2/windows/makefile b/cmockery_0_1_2/windows/makefile
new file mode 100644
index 0000000..c8079d1
--- /dev/null
+++ b/cmockery_0_1_2/windows/makefile
@@ -0,0 +1,228 @@
+#
+# Copyright 2008 Google Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Microsoft Windows namke file which builds the cmockery library and example
+# applications.
+#
+# To use this makefile...
+# Select Start->Run and run "cmd.exe" to open the command line.
+# Run "vsvars.bat" located in Microsoft Visual Studio's directory.
+# Run "nmake" to build the cmockery library and example applications.
+# Run "nmake clean" to delete all files built by this makefile.
+
+# Target directories.
+!IFNDEF EXECUTABLE_DIR
+EXECUTABLE_DIR=.
+!ENDIF # EXECUTABLE_DIR
+
+!IFNDEF LIBRARY_DIR
+LIBRARY_DIR=.
+!ENDIF # LIBRARY_DIR
+
+!IFNDEF INSTALL_DIR
+INSTALL_DIR=..\0_1_2
+!ENDIF # INSTALL_DIR
+
+!IFNDEF OBJECT_DIR
+OBJECT_DIR=.
+!ENDIF # OBJECT_DIR
+
+# Tools
+!IFNDEF LIBTOOL
+LIBTOOL=lib.exe
+!ENDIF # LIBTOOL
+
+!IFNDEF LINK
+LINK=link.exe
+!ENDIF # LINK
+
+# Source directories.
+LIBRARY_SOURCE_DIRECTORY=..\src
+EXAMPLE_SOURCE_DIRECTORY=..\src\example
+
+# Compiler flags and commands.
+CC_COMMAND=$(CC) /nologo /c /D_WIN32_WINNT=0x501 \
+ /I$(LIBRARY_SOURCE_DIRECTORY)\google $(CFLAGS) $(**) /Fo$(@)
+CC_COMMAND_UNIT_TEST=$(CC_COMMAND) /DUNIT_TESTING=1 \
+ /I$(EXAMPLE_SOURCE_DIRECTORY)
+
+LIBLINKFLAGS=/NOLOGO
+
+# Library archiver flags and command.
+LIB_COMMAND=$(LIBTOOL) $(LIBLINKFLAGS) $(LIBFLAGS) $(**) /OUT:$(@)
+
+# Linker flags and command.
+LINK_COMMAND=$(LINK) $(LIBLINKFLAGS) /SUBSYSTEM:console \
+ libcmt.lib kernel32.lib /NODEFAULTLIB:libc.lib \
+ $(LFLAGS) $(**) /OUT:$(@)
+
+.SUFFIXES: .exe .lib .obj .c
+
+all: $(EXECUTABLE_DIR) $(LIBRARY_DIR) $(OBJECT_DIR) \
+ $(LIBRARY_DIR)\cmockery.lib examples
+
+$(EXECUTABLE_DIR):
+ mkdir $@
+
+!IF "$(LIBRARY_DIR)" != "$(EXECUTABLE_DIR)"
+$(LIBRARY_DIR):
+ mkdir $*
+!ENDIF
+
+!IF "$(OBJECT_DIR)" != "$(LIBRARY_DIR)" && \
+ "$(OBJECT_DIR)" != "$(EXECUTABLE_DIR)"
+$(OBJECT_DIR):
+ mkdir $@
+!ENDIF
+
+examples: \
+ $(EXECUTABLE_DIR)\calculator.exe \
+ $(EXECUTABLE_DIR)\calculator_test.exe \
+ $(EXECUTABLE_DIR)\allocate_module_test.exe \
+ $(EXECUTABLE_DIR)\assert_macro_test.exe \
+ $(EXECUTABLE_DIR)\customer_database_test.exe \
+ $(EXECUTABLE_DIR)\key_value_test.exe \
+ $(EXECUTABLE_DIR)\product_database_test.exe \
+ $(EXECUTABLE_DIR)\run_tests.exe
+
+install:
+ mkdir -p $(INSTALL_DIR)\lib
+ mkdir -p $(INSTALL_DIR)\include\google
+ cp -f $(LIBRARY_DIR)\cmockery.lib $(INSTALL_DIR)\lib
+ cp -f $(LIBRARY_SOURCE_DIRECTORY)\google\cmockery.h $(INSTALL_DIR)\include\google
+
+clean:
+ -cmd /c "@for %A in (\
+ $(LIBRARY_DIR)\cmockery.lib \
+ $(OBJECT_DIR)\cmockery.obj \
+ $(EXECUTABLE_DIR)\calculator.exe \
+ $(OBJECT_DIR)\calculator.obj \
+ $(EXECUTABLE_DIR)\calculator_test.exe \
+ $(OBJECT_DIR)\calculator_test.obj \
+ $(OBJECT_DIR)\calculator_test-calculator.obj \
+ $(EXECUTABLE_DIR)\allocate_module_test.exe \
+ $(OBJECT_DIR)\allocate_module_test.obj \
+ $(OBJECT_DIR)\allocate_module.obj \
+ $(EXECUTABLE_DIR)\assert_macro_test.exe \
+ $(OBJECT_DIR)\assert_macro_test.obj \
+ $(OBJECT_DIR)\assert_macro.obj \
+ $(EXECUTABLE_DIR)\customer_database_test.exe \
+ $(OBJECT_DIR)\customer_database_test.obj \
+ $(OBJECT_DIR)\customer_database.obj \
+ $(EXECUTABLE_DIR)\key_value_test.exe \
+ $(OBJECT_DIR)\key_value_test.obj \
+ $(OBJECT_DIR)\key_value.obj \
+ $(EXECUTABLE_DIR)\product_database_test.exe \
+ $(OBJECT_DIR)\product_database_test.obj \
+ $(OBJECT_DIR)\product_database.obj \
+ $(EXECUTABLE_DIR)\run_tests.exe \
+ $(OBJECT_DIR)\run_tests.obj) do @del %A 2>NUL"
+ -rmdir $(EXECUTABLE_DIR) $(OBJECT_DIR) $(LIBRARY_DIR) 2>NUL
+
+# Rules for the cmockery library.
+$(LIBRARY_DIR)\cmockery.lib: $(OBJECT_DIR)\cmockery.obj
+$(OBJECT_DIR)\cmockery.obj: $(LIBRARY_SOURCE_DIRECTORY)\cmockery.c
+
+# Rules for the calculator application.
+$(EXECUTABLE_DIR)\calculator.exe: $(OBJECT_DIR)\calculator.obj
+
+$(OBJECT_DIR)\calculator.obj: $(EXAMPLE_SOURCE_DIRECTORY)\calculator.c
+ $(CC_COMMAND)
+
+# Rules for the calculator test application.
+$(EXECUTABLE_DIR)\calculator_test.exe: \
+ $(OBJECT_DIR)\calculator_test.obj \
+ $(OBJECT_DIR)\calculator_test-calculator.obj \
+ $(LIBRARY_DIR)\cmockery.lib
+ $(LINK_COMMAND)
+
+$(OBJECT_DIR)\calculator_test.obj: \
+ $(EXAMPLE_SOURCE_DIRECTORY)\calculator_test.c
+
+$(OBJECT_DIR)\calculator_test-calculator.obj: \
+ $(EXAMPLE_SOURCE_DIRECTORY)\calculator.c
+ $(CC_COMMAND_UNIT_TEST)
+
+# Sample code applications.
+$(EXECUTABLE_DIR)\allocate_module_test.exe: \
+ $(OBJECT_DIR)\allocate_module_test.obj \
+ $(OBJECT_DIR)\allocate_module.obj \
+ $(LIBRARY_DIR)\cmockery.lib
+ $(LINK_COMMAND)
+
+$(OBJECT_DIR)\allocate_module_test.obj: \
+ $(EXAMPLE_SOURCE_DIRECTORY)\allocate_module_test.c
+$(OBJECT_DIR)\allocate_module.obj: \
+ $(EXAMPLE_SOURCE_DIRECTORY)\allocate_module.c
+
+$(EXECUTABLE_DIR)\assert_macro_test.exe: \
+ $(OBJECT_DIR)\assert_macro_test.obj \
+ $(OBJECT_DIR)\assert_macro.obj \
+ $(LIBRARY_DIR)\cmockery.lib
+ $(LINK_COMMAND)
+
+$(OBJECT_DIR)\assert_macro_test.obj: \
+ $(EXAMPLE_SOURCE_DIRECTORY)\assert_macro_test.c
+$(OBJECT_DIR)\assert_macro.obj: $(EXAMPLE_SOURCE_DIRECTORY)\assert_macro.c
+
+$(EXECUTABLE_DIR)\customer_database_test.exe: \
+ $(OBJECT_DIR)\customer_database_test.obj \
+ $(OBJECT_DIR)\customer_database.obj \
+ $(LIBRARY_DIR)\cmockery.lib
+ $(LINK_COMMAND)
+
+$(OBJECT_DIR)\customer_database_test.obj: \
+ $(EXAMPLE_SOURCE_DIRECTORY)\customer_database_test.c
+$(OBJECT_DIR)\customer_database.obj: \
+ $(EXAMPLE_SOURCE_DIRECTORY)\customer_database.c
+
+$(EXECUTABLE_DIR)\key_value_test.exe: \
+ $(OBJECT_DIR)\key_value_test.obj \
+ $(OBJECT_DIR)\key_value.obj \
+ $(LIBRARY_DIR)\cmockery.lib
+ $(LINK_COMMAND)
+
+$(OBJECT_DIR)\key_value_test.obj: $(EXAMPLE_SOURCE_DIRECTORY)\key_value_test.c
+$(OBJECT_DIR)\key_value.obj: $(EXAMPLE_SOURCE_DIRECTORY)\key_value.c
+
+$(EXECUTABLE_DIR)\product_database_test.exe: \
+ $(OBJECT_DIR)\product_database_test.obj \
+ $(OBJECT_DIR)\product_database.obj \
+ $(LIBRARY_DIR)\cmockery.lib
+ $(LINK_COMMAND)
+
+$(OBJECT_DIR)\product_database_test.obj: \
+ $(EXAMPLE_SOURCE_DIRECTORY)\product_database_test.c
+$(OBJECT_DIR)\product_database.obj: \
+ $(EXAMPLE_SOURCE_DIRECTORY)\product_database.c
+
+$(EXECUTABLE_DIR)\run_tests.exe: \
+ $(OBJECT_DIR)\run_tests.obj $(LIBRARY_DIR)\cmockery.lib
+ $(LINK_COMMAND)
+
+$(OBJECT_DIR)\run_tests.obj: $(EXAMPLE_SOURCE_DIRECTORY)\run_tests.c
+
+# Inference rules.
+{$(OBJECT_DIR)\}.obj{$(EXECUTABLE_DIR)\}.exe:
+ $(LINK_COMMAND)
+
+{$(OBJECT_DIR)\}.obj{$(LIBRARY_DIR)\}.lib:
+ $(LIB_COMMAND)
+
+{$(LIBRARY_SOURCE_DIRECTORY)\}.c{$(OBJECT_DIR)\}.obj:
+ $(CC_COMMAND)
+
+{$(EXAMPLE_SOURCE_DIRECTORY)\}.c{$(OBJECT_DIR)\}.obj:
+ $(CC_COMMAND_UNIT_TEST)