# =========================================================================
#     This makefile was generated by
#     Bakefile 0.2.9 (http://www.bakefile.org)
#     Do not modify, all changes will be overwritten!
# =========================================================================



# -------------------------------------------------------------------------
# These are configurable options:
# -------------------------------------------------------------------------

# Compiler flags to link shared library 
LINK_DLL_FLAGS ?= -shared

# C compiler 
CC = gcc

# C++ compiler 
CXX = g++

# Standard flags for CC 
CFLAGS ?= 

# Standard flags for C++ 
CXXFLAGS ?= 

# Standard preprocessor flags (common for CC and CXX) 
CPPFLAGS ?= 

# Standard linker flags 
LDFLAGS ?= 

# Set to 1 to build debug version [0,1]
DEBUG ?= 0

# Set to 1 to build shared (DLL) version [0,1]
SHARED ?= 0

# Set to 1 to compile samples [0,1]
SAMPLES ?= 1



# -------------------------------------------------------------------------
# Do not modify the rest of this file!
# -------------------------------------------------------------------------

### Variables: ###

CPPDEPS = -MT$@ -MF$@.d -MD -MP
MUPARSER_LIB_CXXFLAGS = $(____DEBUG) $(____DEBUG_3) $(____DEBUG_9) \
	$(____DEBUG_8) $(____SHARED) $(____SHARED_0) -D_WIN32 -I..\include \
	$(CPPFLAGS) $(CXXFLAGS)
MUPARSER_LIB_OBJECTS =  \
	obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_lib_muParser.o \
	obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_lib_muParserBase.o \
	obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_lib_muParserBytecode.o \
	obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_lib_muParserCallback.o \
	obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_lib_muParserDLL.o \
	obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_lib_muParserError.o \
	obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_lib_muParserInt.o \
	obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_lib_muParserTest.o \
	obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_lib_muParserTokenReader.o
MUPARSER_DLL_CXXFLAGS = $(____DEBUG) $(____DEBUG_3) $(____DEBUG_9) \
	$(____DEBUG_8) $(____SHARED) $(____SHARED_0) -D_WIN32 -I..\include \
	$(CPPFLAGS) $(CXXFLAGS)
MUPARSER_DLL_OBJECTS =  \
	obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_dll_muParser.o \
	obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_dll_muParserBase.o \
	obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_dll_muParserBytecode.o \
	obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_dll_muParserCallback.o \
	obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_dll_muParserDLL.o \
	obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_dll_muParserError.o \
	obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_dll_muParserInt.o \
	obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_dll_muParserTest.o \
	obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_dll_muParserTokenReader.o
EXAMPLE1_CXXFLAGS = $(____DEBUG) $(____DEBUG_3) $(____DEBUG_9) $(____DEBUG_8) \
	-I..\include $(____SHARED_1) $(CPPFLAGS) $(CXXFLAGS)
EXAMPLE1_OBJECTS =  \
	obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\example1_example1.o
EXAMPLE2_CFLAGS = $(____DEBUG) $(____DEBUG_3) $(____DEBUG_9) $(____DEBUG_8) \
	-I..\include $(____SHARED_1) $(CPPFLAGS) $(CFLAGS)
EXAMPLE2_OBJECTS =  \
	obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\example2_example2.o

### Conditionally set variables: ###

ifeq ($(DEBUG),0)
DEBUGBUILDPOSTFIX = rel
endif
ifeq ($(DEBUG),1)
DEBUGBUILDPOSTFIX = dbg
endif
ifeq ($(SHARED),0)
SHAREDBUILDPOSTFIX = static
endif
ifeq ($(SHARED),1)
SHAREDBUILDPOSTFIX = shared
endif
ifeq ($(DEBUG),0)
DEBUG_BUILD_POSTFIX = 
endif
ifeq ($(DEBUG),1)
DEBUG_BUILD_POSTFIX = d
endif
ifeq ($(SHARED),0)
__muParser_lib___depname = ..\lib\libmuparser$(DEBUG_BUILD_POSTFIX).a
endif
ifeq ($(SHARED),1)
__muParser_dll___depname = ..\lib\muparser$(DEBUG_BUILD_POSTFIX).dll
endif
ifeq ($(SAMPLES),1)
ifeq ($(SHARED),0)
__example1___depname = ..\samples\example1\example1.exe
endif
endif
ifeq ($(SAMPLES),1)
ifeq ($(SHARED),1)
__example2___depname = ..\samples\example2\example2.exe
endif
endif
ifeq ($(SHARED),0)
____SHARED = 
endif
ifeq ($(SHARED),1)
____SHARED = -DMUPARSER_DLL
endif
ifeq ($(SHARED),0)
____SHARED_0 = 
endif
ifeq ($(SHARED),1)
____SHARED_0 = -DMUPARSERLIB_EXPORTS
endif
ifeq ($(DEBUG),0)
____DEBUG = -DNDEBUG
endif
ifeq ($(DEBUG),1)
____DEBUG = 
endif
ifeq ($(DEBUG),0)
____DEBUG_3 = -O2
endif
ifeq ($(DEBUG),1)
____DEBUG_3 = -O0
endif
ifeq ($(DEBUG),0)
____DEBUG_8 = 
endif
ifeq ($(DEBUG),1)
____DEBUG_8 = -W -Wall
endif
ifeq ($(SHARED),0)
____SHARED_1 = 
endif
ifeq ($(SHARED),1)
____SHARED_1 = -DUSINGDLL
endif
ifeq ($(DEBUG),0)
____DEBUG_9 = 
endif
ifeq ($(DEBUG),1)
____DEBUG_9 = -g
endif


all: obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)
obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX):
	-if not exist obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX) mkdir obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)

### Targets: ###

all: $(__muParser_lib___depname) $(__muParser_dll___depname) $(__example1___depname) $(__example2___depname)

clean: 
	-if exist obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\*.o del obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\*.o
	-if exist obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\*.d del obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\*.d
	-if exist ..\lib\libmuparser$(DEBUG_BUILD_POSTFIX).a del ..\lib\libmuparser$(DEBUG_BUILD_POSTFIX).a
	-if exist ..\lib\muparser$(DEBUG_BUILD_POSTFIX).dll del ..\lib\muparser$(DEBUG_BUILD_POSTFIX).dll
	-if exist ..\lib\libmuparser$(DEBUG_BUILD_POSTFIX).a del ..\lib\libmuparser$(DEBUG_BUILD_POSTFIX).a
	-if exist ..\samples\example1\example1.exe del ..\samples\example1\example1.exe
	-if exist ..\samples\example2\example2.exe del ..\samples\example2\example2.exe

ifeq ($(SHARED),0)
..\lib\libmuparser$(DEBUG_BUILD_POSTFIX).a: $(MUPARSER_LIB_OBJECTS)
	if exist $@ del $@
	ar rcu $@ $(MUPARSER_LIB_OBJECTS)
	ranlib $@
endif

ifeq ($(SHARED),1)
..\lib\muparser$(DEBUG_BUILD_POSTFIX).dll: $(MUPARSER_DLL_OBJECTS)
	$(CXX) $(LINK_DLL_FLAGS) -fPIC -o $@ $(MUPARSER_DLL_OBJECTS)  $(____DEBUG_9) -Wl,--out-implib=..\lib\libmuparser$(DEBUG_BUILD_POSTFIX).a $(LDFLAGS)
endif

ifeq ($(SAMPLES),1)
ifeq ($(SHARED),0)
..\samples\example1\example1.exe: $(EXAMPLE1_OBJECTS) $(__muParser_lib___depname)
	$(CXX) -o $@ $(EXAMPLE1_OBJECTS)  $(____DEBUG_9) -L..\lib $(LDFLAGS)  ..\lib\libmuparser$(DEBUG_BUILD_POSTFIX).a
endif
endif

ifeq ($(SAMPLES),1)
ifeq ($(SHARED),1)
..\samples\example2\example2.exe: $(EXAMPLE2_OBJECTS) $(__muParser_lib___depname)
	$(CC) -o $@ $(EXAMPLE2_OBJECTS)  $(____DEBUG_9) -L..\lib $(LDFLAGS)  ..\lib\libmuparser$(DEBUG_BUILD_POSTFIX).a
endif
endif

lib: $(__muParser_lib___depname) $(__muParser_dll___depname)

samples: $(__example1___depname) $(__example2___depname)

documentation: 
	( cd ..\docs && doxygen )

obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_lib_muParser.o: ../src/muParser.cpp
	$(CXX) -c -o $@ $(MUPARSER_LIB_CXXFLAGS) $(CPPDEPS) $<

obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_lib_muParserBase.o: ../src/muParserBase.cpp
	$(CXX) -c -o $@ $(MUPARSER_LIB_CXXFLAGS) $(CPPDEPS) $<

obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_lib_muParserBytecode.o: ../src/muParserBytecode.cpp
	$(CXX) -c -o $@ $(MUPARSER_LIB_CXXFLAGS) $(CPPDEPS) $<

obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_lib_muParserCallback.o: ../src/muParserCallback.cpp
	$(CXX) -c -o $@ $(MUPARSER_LIB_CXXFLAGS) $(CPPDEPS) $<

obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_lib_muParserDLL.o: ../src/muParserDLL.cpp
	$(CXX) -c -o $@ $(MUPARSER_LIB_CXXFLAGS) $(CPPDEPS) $<

obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_lib_muParserError.o: ../src/muParserError.cpp
	$(CXX) -c -o $@ $(MUPARSER_LIB_CXXFLAGS) $(CPPDEPS) $<

obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_lib_muParserInt.o: ../src/muParserInt.cpp
	$(CXX) -c -o $@ $(MUPARSER_LIB_CXXFLAGS) $(CPPDEPS) $<

obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_lib_muParserTest.o: ../src/muParserTest.cpp
	$(CXX) -c -o $@ $(MUPARSER_LIB_CXXFLAGS) $(CPPDEPS) $<

obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_lib_muParserTokenReader.o: ../src/muParserTokenReader.cpp
	$(CXX) -c -o $@ $(MUPARSER_LIB_CXXFLAGS) $(CPPDEPS) $<

obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_dll_muParser.o: ../src/muParser.cpp
	$(CXX) -c -o $@ $(MUPARSER_DLL_CXXFLAGS) $(CPPDEPS) $<

obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_dll_muParserBase.o: ../src/muParserBase.cpp
	$(CXX) -c -o $@ $(MUPARSER_DLL_CXXFLAGS) $(CPPDEPS) $<

obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_dll_muParserBytecode.o: ../src/muParserBytecode.cpp
	$(CXX) -c -o $@ $(MUPARSER_DLL_CXXFLAGS) $(CPPDEPS) $<

obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_dll_muParserCallback.o: ../src/muParserCallback.cpp
	$(CXX) -c -o $@ $(MUPARSER_DLL_CXXFLAGS) $(CPPDEPS) $<

obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_dll_muParserDLL.o: ../src/muParserDLL.cpp
	$(CXX) -c -o $@ $(MUPARSER_DLL_CXXFLAGS) $(CPPDEPS) $<

obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_dll_muParserError.o: ../src/muParserError.cpp
	$(CXX) -c -o $@ $(MUPARSER_DLL_CXXFLAGS) $(CPPDEPS) $<

obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_dll_muParserInt.o: ../src/muParserInt.cpp
	$(CXX) -c -o $@ $(MUPARSER_DLL_CXXFLAGS) $(CPPDEPS) $<

obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_dll_muParserTest.o: ../src/muParserTest.cpp
	$(CXX) -c -o $@ $(MUPARSER_DLL_CXXFLAGS) $(CPPDEPS) $<

obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\muParser_dll_muParserTokenReader.o: ../src/muParserTokenReader.cpp
	$(CXX) -c -o $@ $(MUPARSER_DLL_CXXFLAGS) $(CPPDEPS) $<

obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\example1_example1.o: ../samples/example1/example1.cpp
	$(CXX) -c -o $@ $(EXAMPLE1_CXXFLAGS) $(CPPDEPS) $<

obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)\example2_example2.o: ../samples/example2/example2.c
	$(CC) -c -o $@ $(EXAMPLE2_CFLAGS) $(CPPDEPS) $<

.PHONY: all clean lib samples


SHELL := $(COMSPEC)

# Dependencies tracking:
-include obj\gcc_$(SHAREDBUILDPOSTFIX)_$(DEBUGBUILDPOSTFIX)/*.d
