51 lines
956 B
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}
|
|
|
|
|