簡體   English   中英

makefile,多個文件無法正常工作

[英]makefile for multiple files not working

我有多個cpp文件.i有一個make文件是一個makefile用於編譯,但是當我做了所有它讓我無所事事

CC=g++
PWD=`pwd`
ARCH=$(shell uname -s)
CFLAGS=-Wall -g -fPIC

LIBSOURCES=./libsrc/Backup/BackupLib.cpp \
./libsrc/Backup/BackupBase.cpp \
./libsrc/Backup/TransferManager.cpp

LIBOBJECTS:=$(LIBSOURCES:.cpp=.o) 

INCLUDE= -I /usr/include/libxml2/ -I ./System/ -I ./SubSystem/Queue/ -I ./System/Threads/ -I ./ -I 

./SubSystem/DB/ -I ./Controller/ -I ./SubSystem/Watcher/

MYDEFINE=-D__LINUX__ -D__cplusplus -D__CLEARCACHE__ 

LIBFLAG=-shared -Wl

LDFLAGS=-ldl -lpthread -lsqlite3 -lcrypto -lssl -lxml2 -L ./lib/ -lBackupLib 

LDLIBFLAGS=-ldl -lpthread -lsqlite3 -lcrypto -lssl -lxml2  

all:    $(LIBSOURCES) $(LIBCOMPBKUP)    

$(LIBCOMPBKUP): $(LIBOBJECTS)
    $(CC) $(CFLAGS) $(LIBOBJECTS) $(INCLUDE) $(MYDEFINE) -I ./libsrc/Backup/ -o $@

.cpp.o:
    $(CC) $(CFLAGS) $(INCLUDE) $(MYDEFINE) -I ./libsrc/Backup/ ./$< -c -o ./$@

make all cmd的輸出是make:'all'沒什么可做的

我看不到LIBCOMPBKUP定義。

因此, all目標擴展到:

all:  ./libsrc/Backup/BackupLib.cpp ./libsrc/Backup/BackupBase.cpp ./libsrc/Backup/TransferManager.cpp

make正確的結論沒有什么做的。

你的all目標應該完全依賴於$(LIBCOMPBKUP) (一旦你正確定義它),事情應該從那里開始工作。

你需要一條線:

LIBCOMPBKUP = BackupLib.so

或類似的,以便你的規則建立$(LIBCOMPBKUP)有一些意義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM