2017-08-18 2 views
0

に従ってファイルを処理するためのメイクファイルを使用します .SUFFIXES:.usp .httは、私が建て .uspに必要なソースファイルを含むドキュメントルートフォルダが持つ二つのサフィックスルール

SOURCES = $(wildcard docroot/*.usp) $(wildcard docroot/*.htt) 
OBJECTS = $(SOURCES:.usp=.so) $(SOURCES:.htt=.html) 

all : ${OBJECTS} 
.PHONY : all 

%.usp: %.so 
    usp_compile_incl.sh -i ~/Projects/Concise-ILE/include $< 

%.htt: %.html 
    gpp -I~/Projects/Concise-ILE/include -C $< -o [email protected] 

.PHONY: clean 
clean: 
    rm -f docroot/*.so docroot/*.html 

メイク:ターゲットを作るために***ノールール 'ドキュメントルート/ fortune.so'、 'すべて' で必要。やめる。 .so.htmlためsauerburgerあたりとして

SOLUTION

.SUFFIXES: .usp .htt 

SOURCES_USP = $(wildcard docroot/*.usp) 
SOURCES_HTT = $(wildcard docroot/*.htt) 
OBJECTS = $(SOURCES_USP:.usp=.so) $(SOURCES_HTT:.htt=.html) 

all : ${OBJECTS} 
    .PHONY : all 

%.so: %.usp 
    usp_compile_incl.sh -i ~/Projects/Concise-ILE/include $< 

%.html: %.htt 
    gpp -I~/Projects/Concise-ILE/include -C $< -o [email protected] 
+0

'fortune.so'を生成するルールはどれですか? – Beta

+0

usp_compile_incl.sh -i〜/ Projects/Concise-ILE/include $ < – ArchNemSyS

答えて

1

ビルドルールは間違った方法ラウンドです。これは動作するはずです:

ルールの構文はTARGET: DEPENDENCIESです。

またそうでなければ、あなたが混在するオブジェクトリストで終わる

SOURCES_USP = $(wildcard docroot/*.usp) 
SOURCES_HTT = $(wildcard docroot/*.htt) 
OBJECTS = $(SOURCES_USP:.usp=.so) $(SOURCES_HTT:.htt=.html) 

変数のソースを分割する必要があります。最初の置換にはすべて*.httファイルが含まれ、2番目のファイルにはすべて*.upsファイルが含まれます。

+0

ありがとうございました。今は働いていて、私はそれが私が見落としていた単純なものだと分かっていました。 – ArchNemSyS

関連する問題