-#
-# File: makefile.unx
-# Author: Julian Smart
-# Created: 1993
-# Updated:
-# Copyright: (c) 1993, AIAI, University of Edinburgh
-#
-# "%W% %G%"
-#
-# Makefile for memcheck example (UNIX).
+# =========================================================================
+# This makefile was generated by
+# Bakefile 0.2.5 (http://www.bakefile.org)
+# Do not modify, all changes will be overwritten!
+# =========================================================================
-WXDIR = ../..
-# All common UNIX compiler flags and options are now in
-# this central makefile.
-include $(WXDIR)/src/make.env
-OBJECTS = $(OBJDIR)/memcheck.$(OBJSUFF)
+# -------------------------------------------------------------------------
+# These are configurable options:
+# -------------------------------------------------------------------------
-.SUFFIXES:
+# C++ compiler
+CXX = g++
-all: $(OBJDIR) memcheck$(GUISUFFIX)
+# Standard flags for C++
+CXXFLAGS ?=
-wxmotif:
- cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx motif GUISUFFIX=_motif GUI=-Dwx_motif GUISUFFIX=_motif OPT='$(OPT)' LDLIBS='$(MOTIFLDLIBS)' WXLIB=$(WXDIR)/lib/libwx_motif.a OPTIONS='$(OPTIONS)'\
- DEBUG='$(DEBUG)' DEBUGFLAGS='$(DEBUGFLAGS)' WARN='$(WARN)' XLIB='$(XLIB)' XINCLUDE='$(XINCLUDE)' XVIEW_LINK=
+# Standard preprocessor flags (common for CC and CXX)
+CPPFLAGS ?=
+# Standard linker flags
+LDFLAGS ?=
-motif: wxmotif
- $(MAKE) -f makefile.unx GUISUFFIX=_motif GUI=-Dwx_motif GUISUFFIX=_motif OPT='$(OPT)' LDLIBS='$(MOTIFLDLIBS)' WXLIB=$(WXDIR)/lib/libwx_motif.a OPTIONS='$(OPTIONS)'\
- DEBUG='$(DEBUG)' DEBUGFLAGS='$(DEBUGFLAGS)' WARN='$(WARN)' XLIB='$(XLIB)' XINCLUDE='$(XINCLUDE)' XVIEW_LINK=
+# Location and arguments of wx-config script
+WX_CONFIG ?= wx-config
-xview:
- cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx xview
- $(MAKE) -f makefile.unx GUI=-Dwx_xview GUISUFFIX=_ol CC=$(CC) OPTIONS='$(OPTIONS)'\
- DEBUG='$(DEBUG)' DEBUGFLAGS='$(DEBUGFLAGS)' WARN='$(WARN)' XLIB='$(XLIB)' XINCLUDE='$(XINCLUDE)'
+# Port of the wx library to build against [gtk1,gtk2,msw,x11,motif,mgl,mac,dfb]
+WX_PORT ?= $(shell $(WX_CONFIG) --selected-config | cut -d '-' -f 1)
-hp:
- cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx hp
- $(MAKE) -f makefile.unx GUI=-Dwx_motif GUISUFFIX=_hp CC=CC DEBUG='$(DEBUG)' DEBUGFLAGS='' WARN='-w' \
- XINCLUDE='$(HPXINCLUDE)' XLIB='$(HPXLIB)' XVIEW_LINK='' LDLIBS='$(HPLDLIBS)'
+# Use DLL build of wx library to use? [0,1]
+WX_SHARED ?= $(shell if test -z `$(WX_CONFIG) --selected-config | cut -d '-' -f 5`; then echo 1; else echo 0; fi)
-$(OBJDIR):
- mkdir $(OBJDIR)
+# Compile Unicode build of wxWidgets? [0,1]
+WX_UNICODE ?= $(shell $(WX_CONFIG) --selected-config | cut -d '-' -f 2 | sed 's/unicode/1/;s/ansi/0/')
-memcheck$(GUISUFFIX): $(OBJDIR)/memcheck.$(OBJSUFF) $(WXLIB)
- $(CC) $(LDFLAGS) -o memcheck$(GUISUFFIX) $(OBJDIR)/memcheck.$(OBJSUFF) $(XVIEW_LINK) $(LDLIBS)
+# Use debug build of wxWidgets (define __WXDEBUG__)? [0,1]
+WX_DEBUG ?= $(shell $(WX_CONFIG) --selected-config | cut -d '-' -f 3 | sed 's/debug/1/;s/release/0/')
-$(OBJDIR)/memcheck.$(OBJSUFF): memcheck.$(SRCSUFF)
- $(CC) -c $(CPPFLAGS) -o $@ memcheck.$(SRCSUFF)
+# Version of the wx library to build against.
+WX_VERSION ?= $(shell $(WX_CONFIG) --selected-config | sed -e 's/.*-\([0-9]*\)\.\([0-9]*\)$$/\1\2/')
-clean_motif:
- $(MAKE) -f makefile.unx GUISUFFIX=_motif cleanany
-clean_ol:
- $(MAKE) -f makefile.unx GUISUFFIX=_ol cleanany
-clean_hp:
- $(MAKE) -f makefile.unx GUISUFFIX=_hp cleanany
+# -------------------------------------------------------------------------
+# Do not modify the rest of this file!
+# -------------------------------------------------------------------------
-cleanany:
- rm -f $(OBJECTS) memcheck$(GUISUFFIX) core
+### Variables: ###
+
+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_DEBUG_FLAG) $(WX_CONFIG_UNICODE_FLAG) \
+ $(WX_CONFIG_SHARED_FLAG) --toolkit=$(WX_PORT) \
+ --version=$(WX_VERSION_MAJOR).$(WX_VERSION_MINOR)
+MEMCHECK_CXXFLAGS = -I. `$(WX_CONFIG) --cxxflags $(WX_CONFIG_FLAGS)` $(CPPFLAGS) \
+ $(CXXFLAGS)
+MEMCHECK_OBJECTS = \
+ memcheck_memcheck.o
+
+### Conditionally set variables: ###
+
+ifeq ($(WX_DEBUG),0)
+WX_CONFIG_DEBUG_FLAG = --debug=no
+endif
+ifeq ($(WX_DEBUG),1)
+WX_CONFIG_DEBUG_FLAG = --debug=yes
+endif
+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: test_for_selected_wxbuild memcheck
+
+install:
+
+uninstall:
+
+clean:
+ rm -f ./*.o
+ rm -f ./*.d
+ rm -f memcheck
+
+test_for_selected_wxbuild:
+ @$(WX_CONFIG) $(WX_CONFIG_FLAGS)
+
+memcheck: $(MEMCHECK_OBJECTS)
+ $(CXX) -o $@ $(MEMCHECK_OBJECTS) `$(WX_CONFIG) $(WX_CONFIG_FLAGS) --libs core,base` $(LDFLAGS)
+
+memcheck_memcheck.o: ./memcheck.cpp
+ $(CXX) -c -o $@ $(MEMCHECK_CXXFLAGS) $(CPPDEPS) $<
+
+.PHONY: all install uninstall clean
+
+
+# Dependencies tracking:
+-include ./*.d