microsoftのWebだと推論規則と書いてある
C言語では必ず.cから.oファイルが作られる,ということを利用し,これをルール化したのがサフィックスルールである.サフィックスとは拡張子のこと.
.c.o: というターゲットは,.oというファイルが必要になれば,これを.cからつくるというルールである.自動変数である $< 等 をつかって組み合わせる
パス指定する場合は
{path}.c{path}.o: と書く。
自動変数
- &
- ファイル名のみを指すみたい
- &*
- パスを含んだ拡張子抜きのファイル名を指すみたい
サンプル
CSRCS = main.c
#===============================
#サフィックスルール
.SUFFIXES: .o .c .cpp
.c.o:
$(CC) -c $(CCFLAGS) $< -o $*.o
.c{Pc-Cam_Data\debug\ObjectCode}.o:
$(CC) -c $(CCFLAGS) $< -o $*.o
.cpp.o:
$(CPP) -c $(CPPFLAGS) $< -o $*.o
#===============================
#===============================
#makmakedepend定義
depend:
makedepend -fpc-cam.mak -o.o -w9999 -I. -Ibios\ -Idrv\ $(CSRCS)
#===============================
# DO NOT DELETE THIS LINE -- make depend depends on it.