QT编译Makefile
This commit is contained in:
parent
947e52854d
commit
2a4d3516ca
@ -2,7 +2,7 @@ PROJECT_NAME = AsynchronousGrabQt
|
|||||||
|
|
||||||
PROJECT_DIR = ../..
|
PROJECT_DIR = ../..
|
||||||
EXAMPLES_DIR = $(PROJECT_DIR)/../..
|
EXAMPLES_DIR = $(PROJECT_DIR)/../..
|
||||||
VIMBASDK_DIR = $(EXAMPLES_DIR)/../..
|
VIMBASDK_DIR = $(EXAMPLES_DIR)/../..
|
||||||
MAKE_INCLUDE_DIR = $(CURDIR)/$(EXAMPLES_DIR)/Build/Make
|
MAKE_INCLUDE_DIR = $(CURDIR)/$(EXAMPLES_DIR)/Build/Make
|
||||||
|
|
||||||
include $(MAKE_INCLUDE_DIR)/Common.mk
|
include $(MAKE_INCLUDE_DIR)/Common.mk
|
||||||
@ -13,47 +13,55 @@ BIN_DIR = binary/$(CONFIG_DIR)
|
|||||||
OBJ_DIR = object/$(CONFIG_DIR)
|
OBJ_DIR = object/$(CONFIG_DIR)
|
||||||
BIN_PATH = $(BIN_DIR)/$(BIN_FILE)
|
BIN_PATH = $(BIN_DIR)/$(BIN_FILE)
|
||||||
|
|
||||||
|
# Qt 工具路径
|
||||||
|
MOC = /usr/lib/aarch64-linux-gnu/qt5/bin/moc
|
||||||
|
UIC = /usr/lib/aarch64-linux-gnu/qt5/bin/uic
|
||||||
|
RCC = /usr/lib/aarch64-linux-gnu/qt5/bin/rcc
|
||||||
|
|
||||||
|
# 使用 pkg-config 获取 Qt 编译标志
|
||||||
|
QT_CFLAGS := $(shell pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets)
|
||||||
|
QT_LIBS := $(shell pkg-config --libs Qt5Core Qt5Gui Qt5Widgets)
|
||||||
|
|
||||||
all: $(BIN_PATH)
|
all: $(BIN_PATH)
|
||||||
|
|
||||||
include $(MAKE_INCLUDE_DIR)/VimbaCPP.mk
|
include $(MAKE_INCLUDE_DIR)/VimbaCPP.mk
|
||||||
include $(MAKE_INCLUDE_DIR)/VimbaImageTransform.mk
|
include $(MAKE_INCLUDE_DIR)/VimbaImageTransform.mk
|
||||||
include $(MAKE_INCLUDE_DIR)/Qt.mk
|
|
||||||
|
|
||||||
SOURCE_DIR = $(PROJECT_DIR)/Source
|
SOURCE_DIR = $(PROJECT_DIR)/Source
|
||||||
|
|
||||||
INCLUDE_DIRS = -I$(SOURCE_DIR) \
|
INCLUDE_DIRS = -I$(SOURCE_DIR) \
|
||||||
-I$(EXAMPLES_DIR) \
|
-I$(EXAMPLES_DIR) \
|
||||||
-I$(OBJ_DIR)
|
-I$(OBJ_DIR) \
|
||||||
|
-I/usr/include/aarch64-linux-gnu/qt5 \
|
||||||
|
-I/usr/include/aarch64-linux-gnu/qt5/QtCore \
|
||||||
|
-I/usr/include/aarch64-linux-gnu/qt5/QtGui \
|
||||||
|
-I/usr/include/aarch64-linux-gnu/qt5/QtWidgets
|
||||||
|
|
||||||
LIBS = $(VIMBACPP_LIBS) \
|
LIBS = $(VIMBACPP_LIBS) \
|
||||||
$(VIMBAIMAGETRANSFORM_LIBS) \
|
$(VIMBAIMAGETRANSFORM_LIBS) \
|
||||||
$(QTCORE_LIBS) \
|
$(QT_LIBS)
|
||||||
$(QTGUI_LIBS)
|
|
||||||
|
|
||||||
DEFINES =
|
DEFINES =
|
||||||
|
|
||||||
CFLAGS = $(COMMON_CFLAGS) \
|
CFLAGS = $(COMMON_CFLAGS) \
|
||||||
$(VIMBACPP_CFLAGS) \
|
$(VIMBACPP_CFLAGS) \
|
||||||
$(VIMBAIMAGETRANSFORM_CFLAGS) \
|
$(VIMBAIMAGETRANSFORM_CFLAGS) \
|
||||||
$(QTCORE_CFLAGS) \
|
$(QT_CFLAGS)
|
||||||
$(QTGUI_CFLAGS)
|
|
||||||
|
|
||||||
OBJ_FILES = $(OBJ_DIR)/ApiController.o \
|
OBJ_FILES = $(OBJ_DIR)/ApiController.o \
|
||||||
$(OBJ_DIR)/AsynchronousGrab.o \
|
$(OBJ_DIR)/AsynchronousGrab.o \
|
||||||
$(OBJ_DIR)/CameraObserver.o \
|
$(OBJ_DIR)/CameraObserver.o \
|
||||||
$(OBJ_DIR)/FrameObserver.o \
|
$(OBJ_DIR)/FrameObserver.o \
|
||||||
$(OBJ_DIR)/main.o \
|
$(OBJ_DIR)/main.o \
|
||||||
$(OBJ_DIR)/moc_AsynchronousGrab.o \
|
$(OBJ_DIR)/moc_AsynchronousGrab.o \
|
||||||
$(OBJ_DIR)/moc_CameraObserver.o \
|
$(OBJ_DIR)/moc_CameraObserver.o \
|
||||||
$(OBJ_DIR)/moc_FrameObserver.o \
|
$(OBJ_DIR)/moc_FrameObserver.o \
|
||||||
$(OBJ_DIR)/qrc_AsynchronousGrab.o
|
$(OBJ_DIR)/qrc_AsynchronousGrab.o
|
||||||
|
|
||||||
GEN_HEADERS = $(OBJ_DIR)/ui_AsynchronousGrab.h
|
GEN_HEADERS = $(OBJ_DIR)/ui_AsynchronousGrab.h
|
||||||
|
|
||||||
DEPENDENCIES = VimbaCPP \
|
DEPENDENCIES = VimbaCPP \
|
||||||
VimbaImageTransform \
|
VimbaImageTransform
|
||||||
QtCore \
|
|
||||||
QtGui
|
|
||||||
|
|
||||||
$(OBJ_DIR)/moc_%.cpp: $(SOURCE_DIR)/%.h $(OBJ_DIR)
|
$(OBJ_DIR)/moc_%.cpp: $(SOURCE_DIR)/%.h $(OBJ_DIR)
|
||||||
$(MOC) -o $@ $<
|
$(MOC) -o $@ $<
|
||||||
@ -82,3 +90,5 @@ $(OBJ_DIR):
|
|||||||
|
|
||||||
$(BIN_DIR):
|
$(BIN_DIR):
|
||||||
$(MKDIR) -p $(BIN_DIR)
|
$(MKDIR) -p $(BIN_DIR)
|
||||||
|
|
||||||
|
.PHONY: all clean
|
||||||
|
@ -0,0 +1,94 @@
|
|||||||
|
PROJECT_NAME = AsynchronousGrabQt
|
||||||
|
|
||||||
|
PROJECT_DIR = ../..
|
||||||
|
EXAMPLES_DIR = $(PROJECT_DIR)/../..
|
||||||
|
VIMBASDK_DIR = $(EXAMPLES_DIR)/../..
|
||||||
|
MAKE_INCLUDE_DIR = $(CURDIR)/$(EXAMPLES_DIR)/Build/Make
|
||||||
|
|
||||||
|
include $(MAKE_INCLUDE_DIR)/Common.mk
|
||||||
|
|
||||||
|
CONFIG_DIR = $(ARCH)_$(WORDSIZE)bit
|
||||||
|
BIN_FILE = $(PROJECT_NAME)
|
||||||
|
BIN_DIR = binary/$(CONFIG_DIR)
|
||||||
|
OBJ_DIR = object/$(CONFIG_DIR)
|
||||||
|
BIN_PATH = $(BIN_DIR)/$(BIN_FILE)
|
||||||
|
|
||||||
|
# Qt 工具路径
|
||||||
|
MOC = /usr/lib/aarch64-linux-gnu/qt5/bin/moc
|
||||||
|
UIC = /usr/lib/aarch64-linux-gnu/qt5/bin/uic
|
||||||
|
RCC = /usr/lib/aarch64-linux-gnu/qt5/bin/rcc
|
||||||
|
|
||||||
|
# 使用 pkg-config 获取 Qt 编译标志
|
||||||
|
QT_CFLAGS := $(shell pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets)
|
||||||
|
QT_LIBS := $(shell pkg-config --libs Qt5Core Qt5Gui Qt5Widgets)
|
||||||
|
|
||||||
|
all: $(BIN_PATH)
|
||||||
|
|
||||||
|
include $(MAKE_INCLUDE_DIR)/VimbaCPP.mk
|
||||||
|
include $(MAKE_INCLUDE_DIR)/VimbaImageTransform.mk
|
||||||
|
|
||||||
|
SOURCE_DIR = $(PROJECT_DIR)/Source
|
||||||
|
|
||||||
|
INCLUDE_DIRS = -I$(SOURCE_DIR) \
|
||||||
|
-I$(EXAMPLES_DIR) \
|
||||||
|
-I$(OBJ_DIR) \
|
||||||
|
-I/usr/include/aarch64-linux-gnu/qt5 \
|
||||||
|
-I/usr/include/aarch64-linux-gnu/qt5/QtCore \
|
||||||
|
-I/usr/include/aarch64-linux-gnu/qt5/QtGui \
|
||||||
|
-I/usr/include/aarch64-linux-gnu/qt5/QtWidgets
|
||||||
|
|
||||||
|
LIBS = $(VIMBACPP_LIBS) \
|
||||||
|
$(VIMBAIMAGETRANSFORM_LIBS) \
|
||||||
|
$(QT_LIBS)
|
||||||
|
|
||||||
|
DEFINES =
|
||||||
|
|
||||||
|
CFLAGS = $(COMMON_CFLAGS) \
|
||||||
|
$(VIMBACPP_CFLAGS) \
|
||||||
|
$(VIMBAIMAGETRANSFORM_CFLAGS) \
|
||||||
|
$(QT_CFLAGS)
|
||||||
|
|
||||||
|
OBJ_FILES = $(OBJ_DIR)/ApiController.o \
|
||||||
|
$(OBJ_DIR)/AsynchronousGrab.o \
|
||||||
|
$(OBJ_DIR)/CameraObserver.o \
|
||||||
|
$(OBJ_DIR)/FrameObserver.o \
|
||||||
|
$(OBJ_DIR)/main.o \
|
||||||
|
$(OBJ_DIR)/moc_AsynchronousGrab.o \
|
||||||
|
$(OBJ_DIR)/moc_CameraObserver.o \
|
||||||
|
$(OBJ_DIR)/moc_FrameObserver.o \
|
||||||
|
$(OBJ_DIR)/qrc_AsynchronousGrab.o
|
||||||
|
|
||||||
|
GEN_HEADERS = $(OBJ_DIR)/ui_AsynchronousGrab.h
|
||||||
|
|
||||||
|
DEPENDENCIES = VimbaCPP \
|
||||||
|
VimbaImageTransform
|
||||||
|
|
||||||
|
$(OBJ_DIR)/moc_%.cpp: $(SOURCE_DIR)/%.h $(OBJ_DIR)
|
||||||
|
$(MOC) -o $@ $<
|
||||||
|
|
||||||
|
$(OBJ_DIR)/ui_%.h: $(SOURCE_DIR)/res/%.ui $(OBJ_DIR)
|
||||||
|
$(UIC) -o $@ $<
|
||||||
|
|
||||||
|
$(OBJ_DIR)/qrc_%.cpp: $(SOURCE_DIR)/res/%.qrc $(OBJ_DIR)
|
||||||
|
$(RCC) -o $@ $<
|
||||||
|
|
||||||
|
$(OBJ_DIR)/%.o: $(SOURCE_DIR)/%.cpp $(OBJ_DIR) $(GEN_HEADERS)
|
||||||
|
$(CXX) -c $(INCLUDE_DIRS) $(DEFINES) $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
$(OBJ_DIR)/%.o: $(OBJ_DIR)/%.cpp $(OBJ_DIR) $(GEN_HEADERS)
|
||||||
|
$(CXX) -c $(INCLUDE_DIRS) $(DEFINES) $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
$(BIN_PATH): $(DEPENDENCIES) $(OBJ_FILES) $(BIN_DIR)
|
||||||
|
$(CXX) $(ARCH_CFLAGS) -o $(BIN_PATH) $(OBJ_FILES) $(LIBS) -Wl,-rpath,'$$ORIGIN'
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(RM) binary -r -f
|
||||||
|
$(RM) object -r -f
|
||||||
|
|
||||||
|
$(OBJ_DIR):
|
||||||
|
$(MKDIR) -p $(OBJ_DIR)
|
||||||
|
|
||||||
|
$(BIN_DIR):
|
||||||
|
$(MKDIR) -p $(BIN_DIR)
|
||||||
|
|
||||||
|
.PHONY: all clean
|
Loading…
Reference in New Issue
Block a user