From f71d3be387823636f31632f17373e8088db65857 Mon Sep 17 00:00:00 2001 From: "Rachel Fae Fox (foxiepaws)" Date: Tue, 10 Mar 2020 01:24:26 -0400 Subject: [PATCH] update makefile --- Makefile | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index f3d8532..4d6128e 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,11 @@ CXX ?= clang++ -SRCDIR ?= src -INCDIR += -I${SRCDIR} -OBJDIR ?= build -BINDIR ?= bin -LIBDIR ?= lib -INSTALLDIR ?= /usr/local/bin +SRCDIR ?= src +INCDIR += -I${SRCDIR} +OBJDIR ?= build/obj +BINDIR ?= build/bin +LIBDIR ?= build/lib +BINCDIR ?= build/include +INSTALLDIR ?= /usr/local/ TARGET ?= amalgam @@ -23,7 +24,7 @@ OBJ = ${SRC:${SRCDIR}/%.cpp=${OBJDIR}/%.o} BINS = $(wildcard ${SRCDIR}/*.cpp) ALLOBJ = ${SRC:${SRCDIR}/%.cpp=${OBJDIR}/%.o} ${BINS:${SRCDIR}/%.cpp=${OBJDIR}/%.o} INCLUDES = ${wildcard ${SRCDIR}/*/*.h} -INC = ${INCLUDES:${SRCDIR}/%.h=${LIBDIR}/include/%.h} +INC = ${INCLUDES:${SRCDIR}/%.h=${BINCDIR}/%.h} all: fmtest wavtest amalgam ${ALLOBJ}: $(OBJDIR)/%.o : $(SRCDIR)/%.cpp @@ -40,9 +41,11 @@ wavtest: ${ALLOBJ} ${CXX} ${INCDIR} -o ${BINDIR}/wavtest ${OBJDIR}/wavtest.o ${OBJ} ${LDFLAGS} ${CFLAGS} ${DEFINES} libamalgam.so: ${OBJ} ${INC} + @mkdir -p ${LIBDIR} ${CXX} ${INCDIR} -o ${LIBDIR}/lib${TARGET}.so ${OBJ} --shared -fPIC ${LDFLAGS} ${CFLAGS} ${DEFINES} libamalgam.dylib: ${OBJ} ${INC} + @mkdir -p ${LIBDIR} ${CXX} ${INCDIR} -o ${LIBDIR}/lib${TARGET}.dylib ${OBJ} -dynamiclib ${LDFLAGS} ${CFLAGS} ${DEFINES} ifeq (${UNAME},Darwin) @@ -51,12 +54,12 @@ else amalgam: libamalgam.so endif -${INC}: $(LIBDIR)/include/%.h : $(SRCDIR)/%.h +${INC}: $(BINCDIR)/%.h : $(SRCDIR)/%.h @mkdir -p $(dir $@) cp $< $@ clean: @echo cleaning - @rm -f ${OBJ} + @rm -f build/ remove: clean @echo deleting binary @@ -65,7 +68,8 @@ remove: clean install: ${TARGET} mkdir -p ${INSTALLDIR} - cp ${BINDIR}/${TARGET} ${INSTALLDIR}/${TARGET} - chmod 4555 ${INSTALLDIR}/${TARGET} + cp -a ${BINCDIR} ${INSTALLDIR} + cp -a ${BINDIR} ${INSTALLDIR} + cp -a ${LIBDIR} ${INSTALLDIR}