ディレクトリ構成
-APP | +--src | | | +--*.c | +--include | | | +--*.h | +--Makefile | +--app
Makefile
APPNAME=app ########################################################################### # Which compiler CC=gcc FC=g77 ########################################################################### # Where to install INSTDIR=~/ ########################################################################### # Where are include files kept INCLUDE=-I./include -I/usr/include/libxml2 ########################################################################### # Compile option CFLAGS=-g -Wall #CFLAGS=-g SRC:=$(wildcard ./src/*.c) OBJ:=$(SRC:.c=.o) ########################################################################### # Control Script all: clean compile clean: rm -f ./$(APPNAME) rm -f ./src/*.o ########################################################################### # Body compile: $(OBJ) $(CC) $(OBJ) -o $(APPNAME) # .so を作るとき # $(CC) $(OBJ) -shared -o $(APPNAME) # ./lib にある libmath.a にリンクするとき # $(CC) $(OBJ) -L./lib -lmath -o $(APPNAME) %.o : %.c $(CC) $(INCLUDE) $(CFLAGS) -c $< -o $@
まさか、21世紀になって Makefile を書くことになるとは思わなかった