ccws13% more ~ftp/vos3/converters/makefile FFLAGS = -i,E,U,P,PL,LT,L,EU,CL,CU -W0,'LANGLVL(CONTI199,DARG(L),H8000)' sample: fconv.o \ sample.o (TAB) f77 $(FFLAGS) -o sample sample.o fconv.o fconv.o: (TAB) cc -c fconv.c sample.o: (TAB) f77 $(FFLAGS) -c sample.f
ターゲット/依存関係行 | 1桁目から書く (ex.) sample: fconv.o sample.o |
コマンド行 | 先頭はタブ (ex.) cc -c fconv.c |
推論規則 | 付録Bを参照のこと |
コメント | # ではじまる。次行に継続しない。 |
行の継続 | 行末に \ |
例) OBJ = prog1.o prog2.o prog3.o target.out : $(OBJ) $(CC) -o $@ $(OBJ) echo #? was recompiled. cp $@ bin/$*
SUBDIR = lib usr.lib bin usr.bin etc ucb games local all: $(SUBDIR) $(SUBDIR): cd $@; make $(MFLAGS) install: for i in $(SUBDIR); do \ (cd $$1; make $(MFLAGS) DESTDIR=$(DESTDIR) install); done clean: rm -f a.out core *.s *.o for i in $(SUBDIR); do (cd $$1; make $(MFLAGS) clean); done
________ ________ | ↓↓ | cb: 清書プログラム cb <-- vi --> lint % cb < main.c >new.c ↓ lint: 文法検査 cc % lint -axc main.c |↓ |ld ↓↓ a.out ↑ dbx
/lib/cpp Preprocessor(#include の展開) ↓ /lib/ccom Compiler Path1 ↓ /lib/c2 Compiler Path2 (.s の作成) (??, 95/8/21) ↓ /bin/as Assembler (.o の作成) ↓ /bin/ld Linkage editor (a.out の作成)
-c | .o の作成 |
-g | dbx 用の実行可能ファイルを作成 |
-O | 最適化 |
-S | .s の作成 |
-E | プリプロセッサ処理のみ |
-C | 注釈行を除去しない |
-o | 出力ファイル名. 省略すると a.out |
-D name=value | "#define name=value" と同一。 |
-V name | #defin で定義した名称の取消。 |
-I directory | #include 文で指定したファイルを捜すディレクトリ名。 |
HP-UX | HI-UX | |||
---|---|---|---|---|
default | -a,archive | default | -a,archive | |
C | yes | no | yes | no |
f77 | yes | no | 01-08 | no |
f90 |
例) .c.obj: (TAB) $(CC) $(CFLAGS) $
2000/ 6/29 Converted to HTML format.