サフィックスルール - makefileの書き方

 
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.