CXX ?= clang++ SRCDIR ?= FM INCDIR += -I${SRCDIR} OBJDIR ?= FM BINDIR ?= bin INSTALLDIR ?= /usr/local/bin TARGET ?= synththing CFLAGS += -std=c++11 #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}/*.cpp ${SRCDIR}/*/*.cpp) OBJ = ${SRC:${SRCDIR}/%.cpp=${OBJDIR}/%.o} all: fmtest ${OBJ}: $(OBJDIR)/%.o : $(SRCDIR)/%.cpp @echo CXX $< ${CXX} -o $@ ${INCDIR} -c ${CFLAGS} ${DEFINES} $< fmtest: ${OBJ} @echo CXX -o ${BINDIR}/fmtest @mkdir -p ${BINDIR} ${CXX} ${INCDIR} -o ${BINDIR}/fmtest ${OBJ} ${LDFLAGS} ${CFLAGS} ${DEFINES} clean: @echo cleaning @rm -f ${OBJ} remove: clean @echo deleting binary @rm -f ${BINDIR}/${TARGET} @rm -r ${BINDIR} install: fmtest mkdir -p ${INSTALLDIR} cp ${BINDIR}/${TARGET} ${INSTALLDIR}/${TARGET} chmod 4555 ${INSTALLDIR}/${TARGET}