#
#   $Id: $
#
#   Syzdek Coding Tools
#   Copyright (C) 2008 David M. Syzdek <david@syzdek.net>
#
#   @SYZDEK_LICENSE_HEADER_START@
#   
#   This program is free software; you can redistribute it and/or modify
#   it under the terms of the GNU General Public License Version 2 as
#   published by the Free Software Foundation.
#   
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU General Public License for more details.
#   
#   You should have received a copy of the GNU General Public License
#   along with this program; if not, write to the Free Software
#   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
#   
#   @SYZDEK_LICENSE_HEADER_END@
#
#   http://www.syzdek.net/
#
#   Makefile-xcode - Makefile wrapper for compiling from Xcode
#
#   Notes:
#      Tested on OS X 10.5.4 with Xcode 3.1 Beta 7.  Set any one of the the
#      variables below in the Xcode build settings for the target to override
#      the defaults.
#

# build tools
ACLOCAL					?= /usr/bin/aclocal 
AUTOCONF				?= /usr/bin/autoconf
AUTOHEADER				?= /usr/bin/autoheader
AUTOMAKE				?= /usr/bin/automake
LIBTOOLIZE				?= /usr/bin/glibtoolize
TOUCH					?= /usr/bin/touch

# tool flags
ACLOCAL_FLAGS				?=
AUTOCONF_FLAGS				?=
AUTOHEADER_FLAGS			?=
AUTOMAKE_FLAGS				?= -c -a
LIBTOOLIZE_FLAGS			?= -c
TOUCH_FLAGS				?=

# file locations
BUILD_DIR				?= .
MAKEFILE				?= Makefile-xcode
PATH					 = /usr/bin:/bin:/usr/sbin:/sbin
SRCROOT					?= .
builddir				?= $(BUILD_DIR)
srcdir					?= $(SRCROOT)

# build options
CONFIGURE_FLAGS				?=
CONFIGURE_FLAGS				+= --enable-dependency-tracking
MAKEFLAGS				?= 2
DEBUG					?= NO
DISTCLEAN				?= NO
DISTFILES				?= NO

# make targets
all: debugOutput $(builddir)/Makefile $(srcdir)/config.h.in
	test -f $(builddir)/Makefile && cd $(builddir) && make $(MAKEFLAGS)
	test "x$(DISTFILES)" == "xYES" && test -f $(builddir)/Makefile && \
		cd $(builddir) && make distcheck && make dist-gzip && \
		make dist-bzip2 && make dist-zip || exit 0

debugOutput:
	@echo ""
	@echo "Build Directory:  $(builddir)"
	@echo "Source Directory: $(srcdir)"
	@echo "Configure Flags:  $(CONFIGURE_FLAGS)"
	@echo ""
	@test "x$(DEBUG)" == "xYES" && echo "Environment variables: " && \
		bash -c set && echo "" && echo "" || exit 0

$(srcdir)/aclocal.m4: $(MAKEFILE) $(srcdir)/acinclude.m4 $(srcdir)/configure.ac
	$(ACLOCAL) $(ACLOCAL_FLAGS)
	$(TOUCH) $(srcdir)/aclocal.m4

$(srcdir)/configure: $(MAKEFILE) $(srcdir)/aclocal.m4 $(srcdir)/configure.ac
	$(AUTOCONF) $(AUTOCONF_FLAGS)
	$(TOUCH) $(srcdir)/configure

$(srcdir)/config.h.in: $(MAKEFILE) $(srcdir)/aclocal.m4 $(srcdir)/configure
	$(AUTOHEADER) $(AUTOHEADER_FLAGS)
	$(TOUCH) $(srcdir)/config.h.in

$(srcdir)/Makefile.in: $(MAKEFILE) $(srcdir)/Makefile.am $(srcdir)/aclocal.m4
	$(LIBTOOLIZE) $(LIBTOOLIZE_FLAGS)
	$(AUTOMAKE) $(AUTOMAKE_FLAGS)
	$(TOUCH) $(srcdir)/Makefile.in

$(builddir)/Makefile: $(MAKEFILE) $(srcdir)/configure $(srcdir)/Makefile.in
	mkdir -p $(builddir)
	cd $(builddir) && \
	   $(srcdir)/configure $(CONFIGURE_FLAGS)

clean:
	test -f $(builddir)/Makefile && cd $(builddir) && make clean
	test "x$(DISTCLEAN)" == "xYES" && test -f $(builddir)/Makefile && \
		cd $(builddir) && make distclean || exit 0

install:

# end of Makefile file
