# =========================================================================
# This makefile was generated by
-# Bakefile 0.2.1 (http://bakefile.sourceforge.net)
+# Bakefile 0.2.9 (http://www.bakefile.org)
# Do not modify, all changes will be overwritten!
# =========================================================================
CC = gcc
# C++ compiler
-CXX = g++
+CXX = `$(WX_CONFIG) --cxx`
# Standard flags for CC
-CFLAGS =
+CFLAGS ?=
# Standard flags for C++
-CXXFLAGS =
+CXXFLAGS ?=
# Standard preprocessor flags (common for CC and CXX)
-CPPFLAGS =
+CPPFLAGS ?=
# Standard linker flags
-LDFLAGS =
+LDFLAGS ?=
# Location and arguments of wx-config script
-WX_CONFIG = wx-config
+WX_CONFIG ?= wx-config
-# C flags to use with wxWidgets code
-WX_CFLAGS = `$(WX_CONFIG) --cflags`
+# Port of the wx library to build against [gtk1,gtk2,msw,x11,motif,osx_cocoa,osx_carbon,dfb]
+WX_PORT ?= $(shell $(WX_CONFIG) --query-toolkit)
-# C++ flags to use with wxWidgets code
-WX_CXXFLAGS = `$(WX_CONFIG) --cxxflags`
+# Use DLL build of wx library to use? [0,1]
+WX_SHARED ?= $(shell if test -z `$(WX_CONFIG) --query-linkage`; then echo 1; else echo 0; fi)
+
+# Compile Unicode build of wxWidgets? [0,1]
+WX_UNICODE ?= $(shell $(WX_CONFIG) --query-chartype | sed 's/unicode/1/;s/ansi/0/')
+
+# Version of the wx library to build against.
+WX_VERSION ?= $(shell $(WX_CONFIG) --query-version | sed -e 's/\([0-9]*\)\.\([0-9]*\)/\1\2/')
### Variables: ###
-CPPDEPS = -MT$@ -MF`echo $@ | sed -e 's,\.o$$,.d,'` -MD
-PENGUIN_CFLAGS = -I. $(WX_CFLAGS) $(CPPFLAGS) $(CFLAGS)
-PENGUIN_CXXFLAGS = -I. $(WX_CXXFLAGS) $(CPPFLAGS) $(CXXFLAGS)
+CPPDEPS = -MT$@ -MF`echo $@ | sed -e 's,\.o$$,.d,'` -MD -MP
+WX_VERSION_MAJOR = $(shell echo $(WX_VERSION) | cut -c1,1)
+WX_VERSION_MINOR = $(shell echo $(WX_VERSION) | cut -c2,2)
+WX_CONFIG_FLAGS = $(WX_CONFIG_UNICODE_FLAG) $(WX_CONFIG_SHARED_FLAG) \
+ --toolkit=$(WX_PORT) --version=$(WX_VERSION_MAJOR).$(WX_VERSION_MINOR)
+PENGUIN_CFLAGS = -I. `$(WX_CONFIG) --cflags $(WX_CONFIG_FLAGS)` $(CPPFLAGS) \
+ $(CFLAGS)
+PENGUIN_CXXFLAGS = -I. `$(WX_CONFIG) --cxxflags $(WX_CONFIG_FLAGS)` $(CPPFLAGS) \
+ $(CXXFLAGS)
PENGUIN_OBJECTS = \
penguin_penguin.o \
penguin_dxfrenderer.o \
### Conditionally set variables: ###
+ifeq ($(WX_UNICODE),0)
+WX_CONFIG_UNICODE_FLAG = --unicode=no
+endif
+ifeq ($(WX_UNICODE),1)
+WX_CONFIG_UNICODE_FLAG = --unicode=yes
+endif
+ifeq ($(WX_SHARED),0)
+WX_CONFIG_SHARED_FLAG = --static=yes
+endif
+ifeq ($(WX_SHARED),1)
+WX_CONFIG_SHARED_FLAG = --static=no
+endif
### Targets: ###
-all: penguin
+all: test_for_selected_wxbuild penguin
-install: all
+install:
uninstall:
rm -f ./*.d
rm -f penguin
+test_for_selected_wxbuild:
+ @$(WX_CONFIG) $(WX_CONFIG_FLAGS)
+
penguin: $(PENGUIN_OBJECTS)
- $(CXX) -o $@ $(PENGUIN_OBJECTS) $(LDFLAGS) `$(WX_CONFIG) --libs gl,core,base`
+ $(CXX) -o $@ $(PENGUIN_OBJECTS) $(LDFLAGS) `$(WX_CONFIG) $(WX_CONFIG_FLAGS) --libs gl,core,base`
penguin_penguin.o: ./penguin.cpp
$(CXX) -c -o $@ $(PENGUIN_CXXFLAGS) $(CPPDEPS) $<