update makefile

master
Rachel Fae Fox (foxiepaws) 2020-03-10 01:24:26 -04:00
parent 694eab3b7c
commit f71d3be387
1 changed files with 15 additions and 11 deletions

View File

@ -1,10 +1,11 @@
CXX ?= clang++ CXX ?= clang++
SRCDIR ?= src SRCDIR ?= src
INCDIR += -I${SRCDIR} INCDIR += -I${SRCDIR}
OBJDIR ?= build OBJDIR ?= build/obj
BINDIR ?= bin BINDIR ?= build/bin
LIBDIR ?= lib LIBDIR ?= build/lib
INSTALLDIR ?= /usr/local/bin BINCDIR ?= build/include
INSTALLDIR ?= /usr/local/
TARGET ?= amalgam TARGET ?= amalgam
@ -23,7 +24,7 @@ OBJ = ${SRC:${SRCDIR}/%.cpp=${OBJDIR}/%.o}
BINS = $(wildcard ${SRCDIR}/*.cpp) BINS = $(wildcard ${SRCDIR}/*.cpp)
ALLOBJ = ${SRC:${SRCDIR}/%.cpp=${OBJDIR}/%.o} ${BINS:${SRCDIR}/%.cpp=${OBJDIR}/%.o} ALLOBJ = ${SRC:${SRCDIR}/%.cpp=${OBJDIR}/%.o} ${BINS:${SRCDIR}/%.cpp=${OBJDIR}/%.o}
INCLUDES = ${wildcard ${SRCDIR}/*/*.h} INCLUDES = ${wildcard ${SRCDIR}/*/*.h}
INC = ${INCLUDES:${SRCDIR}/%.h=${LIBDIR}/include/%.h} INC = ${INCLUDES:${SRCDIR}/%.h=${BINCDIR}/%.h}
all: fmtest wavtest amalgam all: fmtest wavtest amalgam
${ALLOBJ}: $(OBJDIR)/%.o : $(SRCDIR)/%.cpp ${ALLOBJ}: $(OBJDIR)/%.o : $(SRCDIR)/%.cpp
@ -40,9 +41,11 @@ wavtest: ${ALLOBJ}
${CXX} ${INCDIR} -o ${BINDIR}/wavtest ${OBJDIR}/wavtest.o ${OBJ} ${LDFLAGS} ${CFLAGS} ${DEFINES} ${CXX} ${INCDIR} -o ${BINDIR}/wavtest ${OBJDIR}/wavtest.o ${OBJ} ${LDFLAGS} ${CFLAGS} ${DEFINES}
libamalgam.so: ${OBJ} ${INC} libamalgam.so: ${OBJ} ${INC}
@mkdir -p ${LIBDIR}
${CXX} ${INCDIR} -o ${LIBDIR}/lib${TARGET}.so ${OBJ} --shared -fPIC ${LDFLAGS} ${CFLAGS} ${DEFINES} ${CXX} ${INCDIR} -o ${LIBDIR}/lib${TARGET}.so ${OBJ} --shared -fPIC ${LDFLAGS} ${CFLAGS} ${DEFINES}
libamalgam.dylib: ${OBJ} ${INC} libamalgam.dylib: ${OBJ} ${INC}
@mkdir -p ${LIBDIR}
${CXX} ${INCDIR} -o ${LIBDIR}/lib${TARGET}.dylib ${OBJ} -dynamiclib ${LDFLAGS} ${CFLAGS} ${DEFINES} ${CXX} ${INCDIR} -o ${LIBDIR}/lib${TARGET}.dylib ${OBJ} -dynamiclib ${LDFLAGS} ${CFLAGS} ${DEFINES}
ifeq (${UNAME},Darwin) ifeq (${UNAME},Darwin)
@ -51,12 +54,12 @@ else
amalgam: libamalgam.so amalgam: libamalgam.so
endif endif
${INC}: $(LIBDIR)/include/%.h : $(SRCDIR)/%.h ${INC}: $(BINCDIR)/%.h : $(SRCDIR)/%.h
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
cp $< $@ cp $< $@
clean: clean:
@echo cleaning @echo cleaning
@rm -f ${OBJ} @rm -f build/
remove: clean remove: clean
@echo deleting binary @echo deleting binary
@ -65,7 +68,8 @@ remove: clean
install: ${TARGET} install: ${TARGET}
mkdir -p ${INSTALLDIR} mkdir -p ${INSTALLDIR}
cp ${BINDIR}/${TARGET} ${INSTALLDIR}/${TARGET} cp -a ${BINCDIR} ${INSTALLDIR}
chmod 4555 ${INSTALLDIR}/${TARGET} cp -a ${BINDIR} ${INSTALLDIR}
cp -a ${LIBDIR} ${INSTALLDIR}