2016-04-23 10 views
0

私はこのようになりますメイクファイルを持っている:Makeで任意のソースファイルを扱うには?

SRCS :=   $(wildcard *.cpp) 
OBJS :=   $(patsubst %.cpp, %.o, $(SRCS)) 
TARGET :=  foo 
default :  $(TARGET) 
%.o : %.cpp %.h 
    $(CXX) $(CXXFLAGS) $< -o [email protected] 
$(TARGET) :  $(OBJS) 
    $(CXX) $(LDFLAGS) $^ -o $(TARGET) 

これは私が必要とするすべてのソースファイルが同じ場所にある前提としています。
ビルドするファイルが(foo.cpp ../bar.cpp ../../xip/bas.cpp)の場合はどうすればよいですか?

答えて

0

あなたがfoo.cppを示唆するようにソースファイルがあった場合は、あなたのメイクファイルは次のようになり ../../xip/bas.cpp)../bar.cppVPATH4.5.1 VPATH: Search Path for All Prerequisites、 プラス$(notdir ...)8.3 Functions for File Names

が必要になります。

VPATH := ..:../../xip/ 
SRCS :=   $(notdir foo.cpp ../bar.cpp ../../xip/bas.cpp) 
OBJS :=   $(patsubst %.cpp, %.o, $(SRCS)) 
TARGET :=  foo 
default :  $(TARGET) 
%.o : %.cpp %.h 
    $(CXX) $(CXXFLAGS) $< -o [email protected] 
$(TARGET) :  $(OBJS) 
    $(CXX) $(LDFLAGS) $^ -o $(TARGET) 
関連する問題