次の Makefile があります。
cells.csv: 
        echo cellA >  cells.csv
        echo cellB >> cells.csv
        echo cellC >> cells.csv
        echo cellD >> cells.csv
        mkdir -p cellA
        mkdir -p cellB
        mkdir -p cellC
        mkdir -p cellD
%/cell_gen: cells.csv
        echo '$@ generated' >  $@
%/cell_gds: %/cell_gen
        cat   $(@D)/cell_gen  >  $@
        echo  $@_GDS          >> $@
アイデアは、make の開始時にセル リストが不明な場合に、2 つのステップ ([cell]_gen および [cell]_gds と呼ばれる) で「セル」を生成することです。
 ここで: ターゲット 'cells.csv' は人間が読める形式です (単にエコーするだけです) が、一般的なケースでは、前の手順の結果として複雑な何かが予想されます ...etc..: 判読できません。
'cell' の各ステップは、 [cell] という名前のディレクトリに格納する必要があります。
この場合、「make cellA/cell_gds」を要求すると、すべての手順が実行されたように見えます: csv ファイルを取得し、cellA/cell_gds を取得します。
...しかし、なぜ cellA/cell_gen を取得しないのか説明できません?? 
... make 実行中に "echo 'cellA/cell_gen generated' > cellA/cell_gen" が表示されるにもかかわらず、
そして、私は本当にcellA/cell_gdsの中に「cellA/cell_gen generated」を取得し
ますファイルcellA/cell_genがない理由を誰かが知っていますか?? 
ありがとう !