# Makefile for cln/benchmarks

#### Start of system configuration section. ####

# Directories used by "make":
srcdir = @srcdir@
top_srcdir = @top_srcdir@

# Programs used by "make":
# C compiler
CC = @CC@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
# C++ compiler
CXX = @CXX@
CXXFLAGS = @CXXFLAGS@
CXXCPP = @CXXCPP@
INCLUDES = -I../include -I${top_srcdir}/include -I${top_srcdir}/src -I${srcdir}
override CPPFLAGS += ${INCLUDES}
LIBTOOL = @LIBTOOL@
LIBTOOL_LINK = ${LIBTOOL} --mode=link
MV = mv
LN = ln
RM = rm -f
@SET_MAKE@
EXEEXT = @EXEEXT@

#### End of system configuration section. ####

SHELL = /bin/sh

# Needed by ${LIBTOOL}.
top_builddir = ..

VPATH = ${srcdir}

FILES_CC := $(notdir $(wildcard ${srcdir}/*.cc))
FILES_CC := $(filter-out %.i.cc, ${FILES_CC})

FILES_I_CC := $(patsubst %.cc,%.i.cc,${FILES_CC})

FILES_S := $(patsubst %.cc,%.s,${FILES_CC})

FILES_O := $(patsubst %.cc,%.o,${FILES_CC})

OBJECTS = ${FILES_O}

LIBS = ../src/libcln.la -lm
LIBDEPS = ../src/libcln.la

PROGRAMS = $(addsuffix ${EXEEXT},timebench1 timebench2a timebench2ap timebench2b)
MODULES_timebench1 = timebench1
MODULES_timebench2a = timebench2a
MODULES_timebench2ap = timebench2ap
MODULES_timebench2b = timebench2b

all : $(addsuffix ${EXEEXT}, timebench2a timebench2ap timebench2b)

%.s : %.c
	${CC} ${CFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -S $< -o $@

%.s : %.cc
	${CXX} ${CXXFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -S $< -o $@

ifdef notyet

%.o : %.c
	${CC} ${CFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -c $< -o $@

%.o : %.cc
	${CXX} ${CXXFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -c $< -o $@

else

${FILES_O} : %.o : %.s
	${CC} ${CFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -c $< -o $@

endif

%.i : %.c
	${CPP} ${CFLAGS} ${CPPFLAGS} ${TARGET_ARCH} $< > $@

%.i.cc : %.cc
	${CXXCPP} ${CXXFLAGS} ${CPPFLAGS} ${TARGET_ARCH} $< > $@

timebench1${EXEEXT} : $(patsubst %,%.o,${MODULES_timebench1})
timebench2a${EXEEXT} : $(patsubst %,%.o,${MODULES_timebench2a})
timebench2ap${EXEEXT} : $(patsubst %,%.o,${MODULES_timebench2ap})
timebench2b${EXEEXT} : $(patsubst %,%.o,${MODULES_timebench2b})
${PROGRAMS} : %${EXEEXT} : ${LIBDEPS}
	${LIBTOOL_LINK} ${CXX} ${CXXFLAGS} ${TARGET_ARCH} $(patsubst %,%.o,$(MODULES_$(*F))) ${LDFLAGS} ${LIBS} -o $@


install : all

installdirs :

uninstall :

check : all

mostlyclean : clean

clean : force
	${RM} *.s *.o *.a ${PROGRAMS} a.out core
	${RM} -r .libs _libs

distclean : clean
	${RM} config.status config.log config.cache Makefile

maintainer-clean : distclean

force :