--- a/Makefile Thu Jan 26 15:55:52 2012 +0100 +++ b/Makefile Thu Feb 02 14:17:35 2012 +0100 @@ -1,8 +1,43 @@ -CC = gcc -CARG = -Wall -std=gnu99 -O -BUILDDIR = build/ -OBJ = $(shell ls | grep '\.c' | sed 's/^\([^.]*\)\.c$$/${BUILDDIR:/=\/}\1.o/g' | tr '\n' ' ') -BIN = ${BUILDDIR}cline +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. +# +# Copyright 2011 Mike Becker. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# available configurations: +# gcc (default) (will use libc regex implicitly) +# mingw (will use libregex as static lib) +# +# debug configurations: +# gcc-debug +# mingw-debug +# + +#ifndef CONF +CONF = gcc +#endif + +include ${CONF}.mk .PHONY: setup run-compile teardown @@ -13,11 +48,11 @@ -${MAKE} compile compile: ${OBJ} - ${CC} -o ${BIN} ${OBJ} + ${LD} -o ${BIN} ${OBJ} ${LDFLAGS} setup: mkdir -p ${BUILDDIR} - rm -f build/cline.o + rm -f ${BUILDDIR}cline.o mv cline.h cline.src cat cline.src | sed "s/VERSION.*/VERSION=\"$(shell hg identify -n) ($(shell hg identify -i))\";/g" > cline.h @@ -26,8 +61,8 @@ mv cline.src cline.h ${BUILDDIR}%.o: %.c - ${CC} ${CARG} -c -o ${BUILDDIR}$*.o $< + ${CC} ${CFLAGS} -c -o ${BUILDDIR}$*.o $< clean: - rm -f build/* + rm -f ${BUILDDIR}*.o \ No newline at end of file