>>479
やっぱりマニュアル読んで出直せ。

> srcpackage: DSTFILES=$(subst ../,package/src,$(shell cat files.txt))

この構文は、 srcpackage をターゲットとするコマンド内でのみ有効な変数の代入。
グローバルな変数への代入なら "srcpackage: " を削除しろ。

> srcpackage: $(DSTFILES);

これは
srcpackage:
 $(DSTFILES)
と同じ意味。
srcpackage を $(DSTFILES) に依存させるのであれば最後のセミコロンを削除しろ。