忍者ブログ

[PR]

2024年10月05日 ()
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

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
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字