updated makefile

master
Rachel Fae Fox (foxiepaws) 2020-03-09 23:36:10 -04:00
parent 7908c76d60
commit f4c40b254b
1 changed files with 21 additions and 11 deletions

View File

@ -1,11 +1,11 @@
CXX ?= clang++ CXX ?= clang++
SRCDIR ?= FM SRCDIR ?= src
INCDIR += -I${SRCDIR} INCDIR += -I${SRCDIR}
OBJDIR ?= FM OBJDIR ?= build
BINDIR ?= bin BINDIR ?= bin
INSTALLDIR ?= /usr/local/bin INSTALLDIR ?= /usr/local/bin
TARGET ?= synththing TARGET ?= amalgam
CFLAGS += -std=c++11 CFLAGS += -std=c++11
#CFLAGS += `pkg-config --cflags portaudio-2.0` #CFLAGS += `pkg-config --cflags portaudio-2.0`
@ -17,20 +17,30 @@ INCDIR += -I/sys/
endif endif
SHELL=/bin/sh SHELL=/bin/sh
SRC = $(wildcard ${SRCDIR}/*.cpp ${SRCDIR}/*/*.cpp) SRC = $(wildcard ${SRCDIR}/*/*.cpp)
OBJ = ${SRC:${SRCDIR}/%.cpp=${OBJDIR}/%.o} OBJ = ${SRC:${SRCDIR}/%.cpp=${OBJDIR}/%.o}
BINS = $(wildcard ${SRCDIR}/*.cpp)
ALLOBJ = ${SRC:${SRCDIR}/%.cpp=${OBJDIR}/%.o} ${BINS:${SRCDIR}/%.cpp=${OBJDIR}/%.o}
all: fmtest wavtest
all: fmtest ${ALLOBJ}: $(OBJDIR)/%.o : $(SRCDIR)/%.cpp
@mkdir -p $(dir $@)
${OBJ}: $(OBJDIR)/%.o : $(SRCDIR)/%.cpp
@echo CXX $< @echo CXX $<
${CXX} -o $@ ${INCDIR} -c ${CFLAGS} ${DEFINES} $< ${CXX} -o $@ ${INCDIR} -c ${CFLAGS} ${DEFINES} $<
fmtest: ${OBJ} fmtest: ${ALLOBJ}
@echo CXX -o ${BINDIR}/fmtest
@mkdir -p ${BINDIR} @mkdir -p ${BINDIR}
${CXX} ${INCDIR} -o ${BINDIR}/fmtest ${OBJ} ${LDFLAGS} ${CFLAGS} ${DEFINES} ${CXX} ${INCDIR} -o ${BINDIR}/fmtest ${OBJDIR}/fmtest.o ${OBJ} ${LDFLAGS} ${CFLAGS} ${DEFINES}
wavtest: ${ALLOBJ}
@mkdir -p ${BINDIR}
${CXX} ${INCDIR} -o ${BINDIR}/wavtest ${OBJDIR}/wavtest.o ${OBJ} ${LDFLAGS} ${CFLAGS} ${DEFINES}
${TARGET}: ${OBJ}
@echo CXX -o ${BINDIR}/${TARGET}
@mkdir -p ${BINDIR}
${CXX} ${INCDIR} -o ${BINDIR}/${TARGET} ${OBJ} ${LDFLAGS} ${CFLAGS} ${DEFINES}
clean: clean:
@echo cleaning @echo cleaning
@ -41,7 +51,7 @@ remove: clean
@rm -f ${BINDIR}/${TARGET} @rm -f ${BINDIR}/${TARGET}
@rm -r ${BINDIR} @rm -r ${BINDIR}
install: fmtest install: ${TARGET}
mkdir -p ${INSTALLDIR} mkdir -p ${INSTALLDIR}
cp ${BINDIR}/${TARGET} ${INSTALLDIR}/${TARGET} cp ${BINDIR}/${TARGET} ${INSTALLDIR}/${TARGET}
chmod 4555 ${INSTALLDIR}/${TARGET} chmod 4555 ${INSTALLDIR}/${TARGET}