# Compiler flags... CPP_COMPILER = g++ C_COMPILER = gcc # Include paths... Debug_Include_Path=-I"../../libspk/src" Release_Include_Path=-I"../../libspk/src" # Library paths... Debug_Library_Path= Release_Library_Path= # Additional libraries... Debug_Libraries=-Wl,--start-group -lshell32 -l$(NOINHERIT) -Wl,--end-group Release_Libraries=-Wl,--start-group -lshell32 -l$(NOINHERIT) -Wl,--end-group # Preprocessor definitions... Debug_Preprocessor_Definitions=-D GCC_BUILD -D _DEBUG -D _CONSOLE -D _CRT_SECURE_NO_WARNINGS -D _SPKDLL Release_Preprocessor_Definitions=-D GCC_BUILD -D NDEBUG -D _CONSOLE -D _CRT_SECURE_NO_WARNINGS # Implictly linked object files... Debug_Implicitly_Linked_Objects= Release_Implicitly_Linked_Objects= # Compiler flags... Debug_Compiler_Flags=-O0 -g Release_Compiler_Flags= # Builds all configurations for this project... .PHONY: build_all_configurations build_all_configurations: Debug Release # Builds the Debug configuration... .PHONY: Debug Debug: create_folders ../../Windows/Debug/gccspkinstall/../src/spkinstall.o g++ ../../Windows/Debug/gccspkinstall/../src/spkinstall.o $(Debug_Library_Path) $(Debug_Libraries) -Wl,-rpath,./ -o ../../Windows/gccDebug/spkinstall.exe # Compiles file ../src/spkinstall.cpp for the Debug configuration... -include ../../Windows/Debug/gccspkinstall/../src/spkinstall.d ../../Windows/Debug/gccspkinstall/../src/spkinstall.o: ../src/spkinstall.cpp $(CPP_COMPILER) $(Debug_Preprocessor_Definitions) $(Debug_Compiler_Flags) -c ../src/spkinstall.cpp $(Debug_Include_Path) -o ../../Windows/Debug/gccspkinstall/../src/spkinstall.o $(CPP_COMPILER) $(Debug_Preprocessor_Definitions) $(Debug_Compiler_Flags) -MM ../src/spkinstall.cpp $(Debug_Include_Path) > ../../Windows/Debug/gccspkinstall/../src/spkinstall.d # Builds the Release configuration... .PHONY: Release Release: create_folders ../../Windows/Release/gccspkinstall/../src/spkinstall.o g++ ../../Windows/Release/gccspkinstall/../src/spkinstall.o $(Release_Library_Path) $(Release_Libraries) -Wl,-rpath,./ -o ../../Windows/gccRelease/spkinstall.exe # Compiles file ../src/spkinstall.cpp for the Release configuration... -include ../../Windows/Release/gccspkinstall/../src/spkinstall.d ../../Windows/Release/gccspkinstall/../src/spkinstall.o: ../src/spkinstall.cpp $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -c ../src/spkinstall.cpp $(Release_Include_Path) -o ../../Windows/Release/gccspkinstall/../src/spkinstall.o $(CPP_COMPILER) $(Release_Preprocessor_Definitions) $(Release_Compiler_Flags) -MM ../src/spkinstall.cpp $(Release_Include_Path) > ../../Windows/Release/gccspkinstall/../src/spkinstall.d # Creates the intermediate and output folders for each configuration... .PHONY: create_folders create_folders: mkdir -p ../../Windows/Debug/gccspkinstall/source mkdir -p ../../Windows/gccDebug mkdir -p ../../Windows/Release/gccspkinstall/source mkdir -p ../../Windows/gccRelease # Cleans intermediate and output files (objects, libraries, executables)... .PHONY: clean clean: rm -f ../../Windows/Debug/gccspkinstall/*.o rm -f ../../Windows/Debug/gccspkinstall/*.d rm -f ../../Windows/gccDebug/*.a rm -f ../../Windows/gccDebug/*.so rm -f ../../Windows/gccDebug/*.dll rm -f ../../Windows/gccDebug/*.exe rm -f ../../Windows/Release/gccspkinstall/*.o rm -f ../../Windows/Release/gccspkinstall/*.d rm -f ../../Windows/gccRelease/*.a rm -f ../../Windows/gccRelease/*.so rm -f ../../Windows/gccRelease/*.dll rm -f ../../Windows/gccRelease/*.exe