- improved Makefile
git-svn-id: http://moon:8086/svn/software/trunk/projects/Rbm@792 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
@@ -1,15 +1,19 @@
|
|||||||
|
PRJ ?= TEST
|
||||||
|
|
||||||
CONFIG ?= release
|
CONFIG ?= release
|
||||||
BUILD_DIR := ./build/${CONFIG}
|
BUILD_DIR := ./build/${CONFIG}
|
||||||
JUCE_ROOT := juce/JUCE-3.1.1
|
JUCE_ROOT := juce/JUCE-3.1.1
|
||||||
JUCE_LIB := juce/build/${CONFIG}/libjuce.a
|
JUCE_LIB := juce/build/${CONFIG}/libjuce.a
|
||||||
|
|
||||||
GPP_SRCS := gui.cpp Rbm.cpp Layer.cpp Stack.cpp MainComponent.cpp RbmComponent.cpp DrawComponent.cpp
|
GUI_CXX_SRCS := gui.cpp Rbm.cpp Layer.cpp Stack.cpp MainComponent.cpp RbmComponent.cpp DrawComponent.cpp
|
||||||
GPP_OBJS := $(addprefix ${BUILD_DIR}/, $(subst .cpp,.o,$(GPP_SRCS)))
|
GUI_GCC_SRCS := noise.c
|
||||||
GCC_SRCS := noise.c
|
|
||||||
GCC_OBJS := $(addprefix ${BUILD_DIR}/, $(subst .c,.o,$(GCC_SRCS)))
|
|
||||||
|
|
||||||
TEST_SRCS := source/main.cpp source/Rbm.cpp source/Layer.cpp source/Stack.cpp source/noise.c
|
|
||||||
|
|
||||||
|
TEST_CXX_SRCS := main.cpp Rbm.cpp Layer.cpp Stack.cpp
|
||||||
|
TEST_GCC_SRCS := noise.c
|
||||||
|
|
||||||
|
CXX_OBJS := $(addprefix ${BUILD_DIR}/, $(subst .cpp,.o,$(${PRJ}_CXX_SRCS)))
|
||||||
|
GCC_OBJS := $(addprefix ${BUILD_DIR}/, $(subst .c,.o,$(${PRJ}_GCC_SRCS)))
|
||||||
|
|
||||||
CXXFLAGS += -std=c++11 -L juce/build/${CONFIG}
|
CXXFLAGS += -std=c++11 -L juce/build/${CONFIG}
|
||||||
CXXFLAGS_debug := ${CXXFLAGS} -O0 -g
|
CXXFLAGS_debug := ${CXXFLAGS} -O0 -g
|
||||||
CXXFLAGS_release := ${CXXFLAGS} -O2 -g
|
CXXFLAGS_release := ${CXXFLAGS} -O2 -g
|
||||||
@@ -26,14 +30,16 @@ INCLUDES := -I${JUCE_ROOT} -Ijuce
|
|||||||
LIBS := -lstdc++ -lm -larmadillo -ljsoncpp -ljuce -lfreetype -lpthread -ldl -lrt -lX11 -lGL -lXinerama -lXext
|
LIBS := -lstdc++ -lm -larmadillo -ljsoncpp -ljuce -lfreetype -lpthread -ldl -lrt -lX11 -lGL -lXinerama -lXext
|
||||||
DEFINES := -DARMA_OPENMP_THREADS=1
|
DEFINES := -DARMA_OPENMP_THREADS=1
|
||||||
|
|
||||||
all: ${JUCE_LIB} ${BUILD_DIR}/rbm.elf
|
GUI_TARGET := ${JUCE_LIB} ${BUILD_DIR}/rbm.elf
|
||||||
test: ${BUILD_DIR}/test.elf
|
TEST_TARGET := ${BUILD_DIR}/test.elf
|
||||||
|
|
||||||
|
all: ${${PRJ}_TARGET}
|
||||||
|
|
||||||
install: ${BUILD_DIR}/rbm.elf
|
install: ${BUILD_DIR}/rbm.elf
|
||||||
@cp $< ${HOME}/bin
|
@cp $< ${HOME}/bin
|
||||||
@echo "Installed to" $<
|
@echo "Installed to" $<
|
||||||
|
|
||||||
${GPP_OBJS}: $(BUILD_DIR)/%.o : source/%.cpp
|
${CXX_OBJS}: $(BUILD_DIR)/%.o : source/%.cpp
|
||||||
@mkdir -p $(dir $@)
|
@mkdir -p $(dir $@)
|
||||||
g++ -MMD ${CXXFLAGS_${CONFIG}} ${DEFINES} ${INCLUDES} -o $@ -c $<
|
g++ -MMD ${CXXFLAGS_${CONFIG}} ${DEFINES} ${INCLUDES} -o $@ -c $<
|
||||||
|
|
||||||
@@ -43,12 +49,11 @@ ${GCC_OBJS}: $(BUILD_DIR)/%.o : source/%.c
|
|||||||
|
|
||||||
-include $(BUILD_DIR)/*.d
|
-include $(BUILD_DIR)/*.d
|
||||||
|
|
||||||
${BUILD_DIR}/rbm.elf: ${GPP_OBJS} ${GCC_OBJS} juce/build/${CONFIG}/libjuce.a
|
${BUILD_DIR}/rbm.elf: ${CXX_OBJS} ${GCC_OBJS} juce/build/${CONFIG}/libjuce.a
|
||||||
gcc ${LFLAGS_${CONFIG}} ${GPP_OBJS} ${GCC_OBJS} ${LIBS} -o $@
|
gcc ${LFLAGS_${CONFIG}} ${CXX_OBJS} ${GCC_OBJS} ${LIBS} -o $@
|
||||||
|
|
||||||
${BUILD_DIR}/test.elf: ${TEST_SRCS}
|
${BUILD_DIR}/test.elf: ${CXX_OBJS} ${GCC_OBJS}
|
||||||
@mkdir -p $(dir $@)
|
gcc ${LFLAGS_${CONFIG}} ${CXX_OBJS} ${GCC_OBJS} ${LIBS} -o $@
|
||||||
g++ ${CXXFLAGS_${CONFIG}} ${DEFINES} -o $@ ${TEST_SRCS} -larmadillo -ljsoncpp
|
|
||||||
|
|
||||||
${JUCE_LIB}:
|
${JUCE_LIB}:
|
||||||
make -C juce
|
make -C juce
|
||||||
|
|||||||
Reference in New Issue
Block a user