Makefile: build all ".c"
2008年10月13日 (c)
数行の小さいテストプログラムのためいちいちビルドするのが面倒だなと・・
カレントディレクトリの全てのソースファイルを一気にビルドできればなと・・
ネットで調べながら試行錯誤の結果・・・
source(Makefile)
# Makefile # build all ".c" file in current directory CC=gcc SRCS=$(wildcard *.c) OBJS=$(patsubst %.c,%.o,$(SRCS)); all: $(OBJS) for i in $(OBJS) \ do \ EXE=`basename $$i .o`; \ $(CC) -o $$EXE $$i; \ done .c.o: $(CC) -c $< clean: rm -f $(OBJS)
できた.動作確認.
sample execution
% ls Makefile a.c b.c c.c % make gcc -c a.c gcc -c b.c gcc -c c.c for i in a.o b.o c.o; \ do \ EXE=`basename $i .o`; \ gcc -o $EXE $i; \ done % ls -l total 92K -rw-r--r-- 1 aki 256 Oct 12 03:56 Makefile -rwxr-xr-x 1 aki 4713 Oct 13 00:46 a -rw-r--r-- 1 aki 85 Oct 12 03:48 a.c -rw-r--r-- 1 aki 860 Oct 13 00:46 a.o -rwxr-xr-x 1 aki 4713 Oct 13 00:46 b -rw-r--r-- 1 aki 85 Oct 12 02:19 b.c -rw-r--r-- 1 aki 860 Oct 13 00:46 b.o -rwxr-xr-x 1 aki 4713 Oct 13 00:46 c -rw-r--r-- 1 aki 85 Oct 12 02:20 c.c -rw-r--r-- 1 aki 860 Oct 13 00:46 c.o
完璧.が,もう少しクールなMakefileがあるかも.
今回はこれで満足
PR
Comment