synththing/Makefile

51 lines
956 B
Makefile

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}