-#
-# File: makefile.unx
-# Author: Julian Smart
-# Created: 1993
-# Updated:
-# Copyright: (c) 1993, AIAI, University of Edinburgh
-#
-# "%W% %G%"
-#
-# Makefile for layout example (UNIX).
+# =========================================================================
+# This makefile was generated by
+# Bakefile 0.2.3 (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)/layout.$(OBJSUFF)
+# -------------------------------------------------------------------------
+# These are configurable options:
+# -------------------------------------------------------------------------
-.SUFFIXES:
+# C++ compiler
+CXX := g++
-all: $(OBJDIR) layout$(GUISUFFIX)
+# Standard flags for C++
+CXXFLAGS :=
-wxmotif:
- cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx motif
+# Standard preprocessor flags (common for CC and CXX)
+CPPFLAGS :=
-wxxview:
- cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx xview
+# Standard linker flags
+LDFLAGS :=
-wxhp:
- cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx hp
+# Location and arguments of wx-config script
+WX_CONFIG := wx-config
-# For SGI, include -lPW on your LDLIBS
-motif: wxmotif
- $(MAKE) -f makefile.unx all GUISUFFIX=_motif GUI=-Dwx_motif GUISUFFIX=_motif OPT='$(OPT)' LDLIBS='$(MOTIFLDLIBS)' WXLIB=$(WXDIR)/lib/libwx_motif.a OPTIONS='$(OPTIONS)' DEBUG='$(DEBUG)' WARN='$(WARN)' XLIB='$(XLIB)' XINCLUDE='$(XINCLUDE)' XVIEW_LINK=
+# 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)
-xview: wxxview
- $(MAKE) -f makefile.unx GUI=-Dwx_xview GUISUFFIX=_ol CC=$(CC) OPTIONS='$(OPTIONS)' DEBUG='$(DEBUG)' WARN='$(WARN)' XLIB='$(XLIB)' XINCLUDE='$(XINCLUDE)' LDLIBS='$(XVIEWLDLIBS)'
+# 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)
-hp: wxhp
- $(MAKE) -f makefile.unx GUI=-Dwx_motif GUISUFFIX=_hp CC=CC OPT='' DEBUG='$(DEBUG)' WARN='-w' \
- XINCLUDE='$(HPXINCLUDE)' \
- XLIB='$(HPXLIB)' \
- XVIEW_LINK='' \
- LDLIBS='$(HPLDLIBS)'
+# 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/')
-$(OBJDIR):
- mkdir $(OBJDIR)
+# 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/')
-layout$(GUISUFFIX): $(OBJDIR)/layout.$(OBJSUFF) $(WXLIB)
- $(CC) $(LDFLAGS) -o layout$(GUISUFFIX) $(OBJDIR)/layout.$(OBJSUFF) $(XVIEW_LINK) $(LDLIBS)
+# Version of the wx library to build against.
+WX_VERSION := $(shell $(WX_CONFIG) --selected-config | sed -e 's/.*-\([0-9]*\)\.\([0-9]*\)$$/\1\2/')
-$(OBJDIR)/layout.$(OBJSUFF): layout.$(SRCSUFF) layout.h
- $(CC) -c $(CPPFLAGS) -o $@ layout.$(SRCSUFF)
-clean_motif:
- $(MAKE) -f makefile.unx GUISUFFIX=_motif cleanany
-clean_ol:
- $(MAKE) -f makefile.unx GUISUFFIX=_ol cleanany
+# -------------------------------------------------------------------------
+# Do not modify the rest of this file!
+# -------------------------------------------------------------------------
-clean_hp:
- $(MAKE) -f makefile.unx GUISUFFIX=_hp cleanany
+### Variables: ###
-cleanany:
- rm -f $(OBJECTS) layout$(GUISUFFIX) core
+CPPDEPS = -MT$@ -MF`echo $@ | sed -e 's,\.o$$,.d,'` -MD
+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)
+LAYOUT_CXXFLAGS = -I. `$(WX_CONFIG) --cxxflags $(WX_CONFIG_FLAGS)` $(CPPFLAGS) \
+ $(CXXFLAGS)
+LAYOUT_OBJECTS = \
+ layout_layout.o
-wxclean_ol:
- cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx clean_ol
+### Conditionally set variables: ###
-wxclean_motif:
- cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx clean_motif
+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
-wxclean_hp:
- cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx clean_hp
+### Targets: ###
+
+all: test_for_selected_wxbuild layout
+
+install: all
+
+uninstall:
+
+clean:
+ rm -f ./*.o
+ rm -f ./*.d
+ rm -f layout
+
+test_for_selected_wxbuild:
+ @$(WX_CONFIG) $(WX_CONFIG_FLAGS)
+
+layout: $(LAYOUT_OBJECTS)
+ $(CXX) -o $@ $(LAYOUT_OBJECTS) $(LDFLAGS) `$(WX_CONFIG) $(WX_CONFIG_FLAGS) --libs core,base`
+
+layout_layout.o: ./layout.cpp
+ $(CXX) -c -o $@ $(LAYOUT_CXXFLAGS) $(CPPDEPS) $<
+
+.PHONY: all install uninstall clean
+
+
+# Dependencies tracking:
+-include ./*.d