Macでコンパイラとしてgccを使う場合のテンプレートは以下。
CC=gcc
CFLAGS=-g -Wall
OBJS=library1.o library2.o library3.o main.o
all: main
main: $(OBJS)
$(CC) $(CFLAGS) -o main $(OBJS)
main.o: main.c library1.h library2.h library3.h
$(CC) $(CFLAGS) -c main.c
clean:
rm main main.o library1.o library2.o library3.o
CFLAGS=-g -Wall
OBJS=library1.o library2.o library3.o main.o
all: main
main: $(OBJS)
$(CC) $(CFLAGS) -o main $(OBJS)
main.o: main.c library1.h library2.h library3.h
$(CC) $(CFLAGS) -c main.c
clean:
rm main main.o library1.o library2.o library3.o
CCはコンパイルコマンド、CFLAGSはコンパイル引数、OBJSはリンクさせる全てのオブジェクトファイル。
作業フォルダにMakefileを置いてコマンドラインで
$ make
とするだけで、更新されたファイルを自動で判別してコンパイルしてくれる。
これを応用したものを自分のライブラリに置いておくと、各ライブラリを更新した際の作業が減るが、僕はまだやったことありません。 誰かやってみて欲しい。
あと、terminalのbashファイルに色々書いて、コンパイルコマンドを省略するやり方も誰か書いてほしい。
0 件のコメント :
コメントを投稿