Saturday, July 7, 2007

[Work] sample Makefile


MTL_INCLUDES=-I$(HOME)/MTL
CXX = g++
CXXCPP = g++ -E
CXXFLAGS = -g -ftemplate-depth-30 -Wall
CXX_OPTIMIE_FLAGS = -O2 -funroll-loops -fstrict-aliasing -fno-gcse
CXXLD = g++
DEFS = -DHAVE_CONFIG_H
LDFLAGS = -g
LIBS = -lm

CXXCOMPILE = $(CXX) $(DEFS) $(MTL_INCLUDES) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(LDFLAGS) -o $@

.SUFFIXES: .cc
.cc.o:
$(CXXCOMPILE) -c $<

SRC = abs_sum.cc general_matvec_mult.cc
OBJS = $(addsuffix .o, $(basename $(SRC)))
EXES = $(basename $(SRC))

abs_sum_OBJS=abs_sum.o
general_matvec_mult_OBJS=general_matvec_mult.o

all: $(EXES)

abs_sum:$(OBJS)
$(CXXLINK) $(LDFLAGS) $(abs_sum_OBJS) $(LIBS)

general_matvec_mult:$(OBJS)
$(CXXLINK) $(LDFLAGS) $(general_matvec_mult_OBJS) $(LIBS)

clean:
rm $(EXES) $(OBJS)

.PHONY: clean

No comments: