98 lines
2.5 KiB
Makefile
98 lines
2.5 KiB
Makefile
|
# The use TOPSRCDIR allows to compile this testsuite for a clone (and different revision)
|
||
|
# of this repository. If the environment variable topsrcdir is the top source directory
|
||
|
# of the clone, compile this testsuite as:
|
||
|
#
|
||
|
# make TOPSRCDIR="$topsrcdir"
|
||
|
#
|
||
|
# Finally, if you also leave out TOPSRCDIR and just run 'make' then the testsuite
|
||
|
# is compiled against the current source tree.
|
||
|
|
||
|
CC = @CC@
|
||
|
DEFINES =
|
||
|
TOPSRCDIR = ..
|
||
|
CFLAGS = -I$(TOPSRCDIR) -D_XOPEN_SOURCE=600 @CFLAGS@ $(DEFINES) @OPENMP_CFLAGS@
|
||
|
STAGEDIR := $(realpath -s $(TOPSRCDIR)/.libs)
|
||
|
LDFLAGS = -L$(STAGEDIR) -Wl,-rpath,$(STAGEDIR) -lm4ri -lm
|
||
|
PAPI_FLAGS = @PAPI_LDFLAGS@ @PAPI_LIBS@
|
||
|
PAPI_CFLAGS = @PAPI_CFLAGS@
|
||
|
DEBUG = -ggdb
|
||
|
|
||
|
TEST_PRGS = \
|
||
|
test_elimination \
|
||
|
test_multiplication \
|
||
|
test_trsm \
|
||
|
test_ple \
|
||
|
test_solve \
|
||
|
test_kernel \
|
||
|
test_random \
|
||
|
test_smallops \
|
||
|
test_transpose \
|
||
|
test_colswap \
|
||
|
test_misc \
|
||
|
test_invert
|
||
|
|
||
|
BENCH_PRGS = \
|
||
|
bench_elimination \
|
||
|
bench_multiplication \
|
||
|
bench_ple \
|
||
|
bench_trsm \
|
||
|
bench_elimination_sparse \
|
||
|
bench_mzd \
|
||
|
bench_invert \
|
||
|
bench_rank
|
||
|
|
||
|
M4RI_HEADERS = \
|
||
|
../src/config.h \
|
||
|
../src/m4ri.h \
|
||
|
../src/brilliantrussian.h \
|
||
|
../src/echelonform.h \
|
||
|
../src/graycode.h \
|
||
|
../src/misc.h \
|
||
|
../src/mmc.h \
|
||
|
../src/parity.h \
|
||
|
../src/ple.h \
|
||
|
../src/ple_russian.h \
|
||
|
../src/solve.h \
|
||
|
../src/strassen.h \
|
||
|
../src/triangular.h \
|
||
|
../src/triangular_russian.h \
|
||
|
../src/mzd.h \
|
||
|
../src/mzp.h \
|
||
|
../src/xor.h
|
||
|
|
||
|
CPUCYCLES_DIR = ./cpucycles-20060326
|
||
|
|
||
|
.PHONY: all clean dist-clean
|
||
|
|
||
|
all: $(TEST_PRGS) $(BENCH_PRGS)
|
||
|
|
||
|
bench_%: cpucycles.o benchmarking.o bench_%.c Makefile cpucycles.h $(M4RI_HEADERS)
|
||
|
$(CC) $(DEBUG) $(PAPI_CFLAGS) $(CFLAGS) $@.c cpucycles.o benchmarking.o $(LDFLAGS) $(PAPI_FLAGS) -lm -o $@
|
||
|
|
||
|
test_%: test_%.c testing.o Makefile $(M4RI_HEADERS)
|
||
|
$(CC) $(DEBUG) $(CFLAGS) $@.c $(LDFLAGS) testing.o -o $@
|
||
|
|
||
|
clean:
|
||
|
rm -f $(TEST_PRGS)
|
||
|
rm -f $(BENCH_PRGS)
|
||
|
rm -f *.o cpucycles.h
|
||
|
rm -f $(CPUCYCLES_DIR)/cpucycles.o
|
||
|
rm -f $(CPUCYCLES_DIR)/cpucycles.h
|
||
|
|
||
|
distclean: clean
|
||
|
@MAINTAINER_MODE_TRUE@ rm -f Makefile
|
||
|
|
||
|
cpucycles.h: cpucycles.o
|
||
|
|
||
|
cpucycles.o:
|
||
|
(cd $(CPUCYCLES_DIR); sh do; cp cpucycles.o ..; cp cpucycles.h ..)
|
||
|
|
||
|
testing.o: testing.c testing.h ../src/misc.h ../src/mzd.h
|
||
|
$(CC) $(DEBUG) $(CFLAGS) -c testing.c $(LDFLAGS) -o $@
|
||
|
|
||
|
benchmarking.o: benchmarking.c benchmarking.h ../src/config.h ../src/misc.h
|
||
|
$(CC) $(DEBUG) $(PAPI_CFLAGS) $(CFLAGS) -c benchmarking.c $(LDFLAGS) -o $@
|
||
|
|
||
|
Makefile: @MAINTAINER_MODE_TRUE@ Makefile.in ../config.status
|
||
|
(cd .. && /bin/sh ./config.status testsuite/Makefile)
|