CC ?= gcc SRCDIR ?= src INCDIR += -I${SRCDIR} OBJDIR ?= src BINDIR ?= bin INSTALLDIR ?= /usr/local/bin TARGET ?= synththing CFLAGS += -std=c99 CFLAGS += `pkg-config --cflags portaudio-2.0` LDFLAGS += `pkg-config --libs portaudio-2.0` UNAME=$(shell uname -s) ifeq (${UNAME},FreeBSD) INCDIR += -I/sys/ endif SHELL=/bin/sh SRC = $(wildcard ${SRCDIR}/*.c ${SRCDIR}/*/*.c) OBJ = ${SRC:${SRCDIR}/%.c=${OBJDIR}/%.o} all: synththing ${OBJ}: $(OBJDIR)/%.o : $(SRCDIR)/%.c @echo CC $< ${CC} -o $@ ${INCDIR} -c ${CFLAGS} ${DEFINES} $< synththing: ${OBJ} @echo CC -o ${BINDIR}/${TARGET} @mkdir -p ${BINDIR} ${CC} -I${INCDIR} -o ${BINDIR}/${TARGET} ${OBJ} ${LDFLAGS} ${CFLAGS} ${DEFINES} clean: @echo cleaning @rm -f syswriter ${OBJ} remove: clean @echo deleting binary @rm -f ${BINDIR}/${TARGET} @rm -r ${BINDIR} install: synththing mkdir -p ${INSTALLDIR} cp ${BINDIR}/${TARGET} ${INSTALLDIR}/${TARGET} chmod 4555 ${INSTALLDIR}/${TARGET}