引数を Make に直接渡すのは簡単です。
現在のメイクファイルは で呼び出すことができ、make fooコンパイルfoo.cして生成されます。「foo」がどのルールの対象でもなくても、エラーは発生しません。(少なくとも、これは私が使用しているものであるGNU Make 3.81の場合です。)foofoo.c => foo
コンパイラとフラグの選択を制御したい場合 (outルールのように)、それを行う方法は複数あります。最も簡単な方法は (厳密には最善というわけではありませんが)、makefile 内のいくつかの変数を変更することです。
CC = gcc
CFLAGS = -g -m32 -Wall -ansi
もう 1 つのオプションは、暗黙のルールを独自のパターン ルールでオーバーライドすることです。
%: %.c
gcc -g -m32 -Wall -ansi -o $@ $<
別のステップでビルドする場合foo.oは、ルールを 2 つのルールに分割する必要があります。また、Make の暗黙のルールをキャンセルするレシピのないルールを挿入する必要があります。
%: %.o
gcc -g -m32 -Wall -o $@ $^
%.o: %.c
gcc -m32 -g -Wall -ansi -c -o $@ $<
%: %.c
基本をマスターしたら、さらに改良することができます。