Makefile 想要寫的更精簡 - Linux

Table of Contents

各位大大好,小弟想再這裡請問一下
下方是我專案makefile,裡面有大量重複的部份

utAtom: utAtom.o term.o
g++ -o $@ $^ -lgtest -lpthread
utAtom.o: utAtom.h atom.h
touch $*.cpp && echo "#include \"$*.h\"" > $*.cpp && cat utTemplate.h >>
$*.cpp
g++ -c $*.cpp

utTerm: utTerm.o term.o
g++ -o $@ $^ -lgtest -lpthread
utTerm.o: utTerm.h atom.h number.h variable.h
touch $*.cpp && echo "#include \"$*.h\"" > $*.cpp && cat utTemplate.h >>
$*.cpp
g++ -c $*.cpp

兩組之間只差了ut****不一樣而已,請問我該何把它縮短,用變數在執行的時候去讀$@
好像是不能讀的,感謝各位了ꨊ
--

All Comments

Andrew avatarAndrew2017-12-09
ut%m: ut%m.o term.o
wild card 可以在中間嗎?
Edward Lewis avatarEdward Lewis2017-12-11
什麼中間!?
Jacob avatarJacob2017-12-14
一般都是 %.html: %.md 之類的放頭或尾,中間好像也行
Emma avatarEmma2017-12-15
看懂了 可以放中間 %就是匹配1~n個字元
Cara avatarCara2017-12-17
大致看懂了,謝謝各位的幫忙