音楽圧縮を嫌がってマルチコアプロセッサを利用せず、わざわざMakefileを書いた...


多くのwavファイルがあり、oggに変換できます.

$ oggenc -q5 *.wav

しかし、デュアルコアを使用している場合は、コアが1つしか働いていません.
だから、Makefileを書きます.

SRCS = $(wildcard *.wav)
OBJS = $(patsubst %.wav,%.ogg,$(SRCS))

all: ${OBJS}

%.ogg: %.wav
	oggenc -q5 $<

次に、コマンドラインを実行します.

$ make -j2   #  2    CPU   

説明:
Makefileの中、$(wildcard.....)ワイルドカードで、多くのファイル名に一致します.$(patsubst src,dst,targets)は、一括検索置換に使用されます.同様に、ターゲットは、例えば、共通のアセンブリを用いることもできる.ogg: %.wav,表示凡是以.oggの終わりの目標は、すべて相応しています.wavのファイル生成.
同じテクニックはC言語にも当てはまる.

SRCS = $(wildcard *.c)
OBJS = $(patsubst %.c,%,$(SRCS))

all: myprog

myprog: ${OBJS}
	gcc -o myprog ${OBJS}

.c.:
	gcc -c -o $@ $<