# Common stuff that all the subdirectories can include...# How should be build everythingCOLOR = yesDEBUG = yesFQTOP := $(shell (cd $(TOP); pwd)) # Fully Qualified TOP directoryROOT := $(TOP)/rootLIB_DIR := $(ROOT)/libBIN_DIR := $(ROOT)/binSBIN_DIR := $(ROOT)/sbinINCLUDE_DIR := $(ROOT)/include# If you're using intel's compiler:#CXX := icpc#CC := icc#LD := xildCINCLUDES = -I. \$(shell pkg-config --cflags opencv) \-I$(INCLUDE_DIR) \# -I/usr/local/include/lapackpp \-I/usr/local/include/opencvCXXINCLUDES := $(CINCLUDES)CAM_LIBS := $(shell pkg-config --libs opencv)CAM_INCLUDES := $(shell pkg-config --cflags opencv)#LAPACKPP_LIBS := $(shell pkg-config --libs lapackpp)#LAPACKPP_INCLUDES := /usr/local/lib/lapackppLINKINCLUDES := -L. -L$(LIB_DIR)EXEC_TEST_LIBS := # -lboost_test_exec_monitorUNIT_TEST_LIBS := # -lboost_unit_test_frameworkifeq ($(DEBUG), yes)DEBUG_LEVEL := -ggdbelseDEBUG_LEVEL := -O2endifGCOVFLAGS := $(DEBUG_LEVEL) -fprofile-arcs -ftest-coverageOPTIMIZEFLAGS:= $(DEBUG_LEVEL) -march=nocona -fPICifneq (,${TEST-COVERAGE})CFLAGS := $(CINCLUDES) $(GCOVFLAGS) $(FLAGS)CXXFLAGS := $(CXXINCLUDES) $(GCOVFLAGS) $(FLAGS)GCOVLIB := -lgcovelseCFLAGS := $(CINCLUDES) $(OPTIMIZEFLAGS) $(FLAGS)CXXFLAGS := $(CXXINCLUDES) $(OPTIMIZEFLAGS) $(FLAGS)endifCOMPILEC := $(CC) $(CFLAGS)COMPILECXX := $(CXX) $(CXXFLAGS)LINK := $(CXX) $(LINKINCLUDES)ifeq ($(COLOR), yes)BUILD_MSG = "0円33[33mBuilding $@0円33[0m"elseBUILD_MSG = "Building $@"endifALL_LIBRARIES = $(LIBRARIES)ifneq (,${STATIC})ALL_LIBRARIES = $(LIBRARIES:%so=%a)endif.PHONY: all$(COMPILECXX) -c $< -MD -MT $@ -MF $(@:%o=%d)all:: $(ALL_LIBRARIES) $(BINARIES)ifneq (,$(BINARIES))cp $(BINARIES) $(ROOT)/bin/endififneq (,$(ALL_LIBRARIES))cp $(ALL_LIBRARIES) $(ROOT)/lib/endif@set -e; for subdir in $(SUBDIRS); do \echo "Making $@ in $$subdir"; \make -C $$subdir $@; \done.PHONY: cleanclean::rm -f $(ALL_LIBRARIES) $(BINARIES) $(FLUFF) *.a *.o *.d *.pyc *.gcno *.gcov *.gcda app.info# Clean up any test directories:@if [ -e "test" ]; then \make -C test clean; \fitags::ctags -R.PHONY: test-coverage# test-coverage needs to make clean at the top level# make clean recurses all by itself, so we only want to do this# at the top level, and not recursively:ifeq (0, ${MAKELEVEL})test-coverage:: clean@echo "0円33[31m*********************************"@echo "* REBUILDING WITH TEST-COVERAGE *"@echo "*********************************0円33[0m"@echo ${MAKE}make TEST-COVERAGE=1make test TEST-COVERAGE=1endif.PHONY: testinstall indent clean test tags test-coverage::@set -e; for subdir in $(SUBDIRS); do \echo "Making $@ in $$subdir"; \make -C $$subdir $@; \donetest-coverage::@echo "Test coverage:"gcov *.cpp *.c# for test, make the test directories after recursingtest::@if [ -e "test" ]; then \make -C test; \fiindent::@set -e; for file in $(wildcard *.c *.h); do \echo "indenting $$file"; \indent -gnu -nut -cli2 -ss -v -i2 $$file; \rm -f $$file~; \done## Default rules for building...#-include *.d# Compile C++ files, and create appropriate .d files for each of them.%.o : %.cpp@echo $(BUILD_MSG)$(COMPILECXX) -c $< -MD -MT $@ -MF $(@:%o=%d)# Compile C files, and create appropriate .d files for each of them.%.o : %.c@echo $(BUILD_MSG)$(COMPILEC) -c $< -MD -MT $@ -MF $(@:%o=%d)#$(BINARIES): $($(addsuffix _OBJS, $(BINARIES)))# $(LINK) $< -MD -MT $@ -MF $(@:%o=%d) -o $@# cp $@ $(BIN_DIR)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。