######################## -*- Mode: Makefile-Automake -*- ###################### ## ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo ## ## The contents of this file are covered under the licence agreement in the ## file "LICENCE" distributed with Cforall. ## ## Makefile.am -- ## ## Author : Peter A. Buhr ## Created On : Sun May 31 09:08:15 2015 ## Last Modified By : Peter A. Buhr ## Last Modified On : Mon Jan 25 22:31:42 2016 ## Update Count : 25 ############################################################################### # applies to both programs CFLAGS = AM_CFLAGS = -g -Wall -Wno-unused-function -O2 CC = @CFA_BINDIR@/@CFA_NAME@ TOOLSDIR = ${abs_top_srcdir}/tools/ REPEAT = ${TOOLSDIR}repeat STATS = ${TOOLSDIR}stat.py repeats = 30 .NOTPARALLEL: noinst_PROGRAMS = all : ctxswitch$(EXEEXT) mutex$(EXEEXT) signal$(EXEEXT) waitfor$(EXEEXT) creation$(EXEEXT) bench$(EXEEXT) : @for ccflags in "-debug" "-nodebug"; do \ echo ${CC} ${AM_CFLAGS} ${CFLAGS} ${ccflags} @CFA_FLAGS@ -lrt bench.c;\ ${CC} ${AM_CFLAGS} ${CFLAGS} $${ccflags} -lrt bench.c;\ ./a.out ; \ done ; \ rm -f ./a.out ; csv-data$(EXEEXT): @${CC} ${AM_CFLAGS} ${CFLAGS} ${ccflags} @CFA_FLAGS@ -nodebug -lrt -quiet -DN=50000000 csv-data.c @./a.out @rm -f ./a.out ## ========================================================================================================= ctxswitch$(EXEEXT): \ ctxswitch-pthread.run \ ctxswitch-cfa_coroutine.run \ ctxswitch-cfa_thread.run \ ctxswitch-upp_coroutine.run \ ctxswitch-upp_thread.run ctxswitch-cfa_coroutine$(EXEEXT): ${CC} ctxswitch/cfa_cor.c -DBENCH_N=50000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} ctxswitch-cfa_thread$(EXEEXT): ${CC} ctxswitch/cfa_thrd.c -DBENCH_N=50000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} ctxswitch-upp_coroutine$(EXEEXT): u++ ctxswitch/upp_cor.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags} ctxswitch-upp_thread$(EXEEXT): u++ ctxswitch/upp_thrd.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags} ctxswitch-pthread$(EXEEXT): @BACKEND_CC@ ctxswitch/pthreads.c -DBENCH_N=50000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags} ## ========================================================================================================= mutex$(EXEEXT) :\ mutex-function.run \ mutex-pthread_lock.run \ mutex-upp.run \ mutex-cfa1.run \ mutex-cfa2.run \ mutex-cfa4.run mutex-function$(EXEEXT): @BACKEND_CC@ mutex/function.c -DBENCH_N=500000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags} mutex-pthread_lock$(EXEEXT): @BACKEND_CC@ mutex/pthreads.c -DBENCH_N=50000000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags} mutex-upp$(EXEEXT): u++ mutex/upp.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags} mutex-cfa1$(EXEEXT): ${CC} mutex/cfa1.c -DBENCH_N=5000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} mutex-cfa2$(EXEEXT): ${CC} mutex/cfa2.c -DBENCH_N=5000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} mutex-cfa4$(EXEEXT): ${CC} mutex/cfa4.c -DBENCH_N=5000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} ## ========================================================================================================= signal$(EXEEXT) :\ signal-upp.run \ signal-cfa1.run \ signal-cfa2.run \ signal-cfa4.run signal-upp$(EXEEXT): u++ schedint/upp.cc -DBENCH_N=5000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags} signal-cfa1$(EXEEXT): ${CC} schedint/cfa1.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} signal-cfa2$(EXEEXT): ${CC} schedint/cfa2.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} signal-cfa4$(EXEEXT): ${CC} schedint/cfa4.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} ## ========================================================================================================= waitfor$(EXEEXT) :\ waitfor-upp.run \ waitfor-cfa1.run \ waitfor-cfa2.run \ waitfor-cfa4.run waitfor-upp$(EXEEXT): u++ schedext/upp.cc -DBENCH_N=5000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags} waitfor-cfa1$(EXEEXT): ${CC} schedext/cfa1.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} waitfor-cfa2$(EXEEXT): ${CC} schedext/cfa2.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} waitfor-cfa4$(EXEEXT): ${CC} schedext/cfa4.c -DBENCH_N=500000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} ## ========================================================================================================= creation$(EXEEXT) :\ creation-pthread.run \ creation-cfa_coroutine.run \ creation-cfa_coroutine_eager.run \ creation-cfa_thread.run \ creation-upp_coroutine.run \ creation-upp_thread.run creation-cfa_coroutine$(EXEEXT): ${CC} creation/cfa_cor.c -DBENCH_N=10000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} creation-cfa_coroutine_eager$(EXEEXT): ${CC} creation/cfa_cor.c -DBENCH_N=10000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} -DEAGER creation-cfa_thread$(EXEEXT): ${CC} creation/cfa_thrd.c -DBENCH_N=10000000 -I. -nodebug -lrt -quiet @CFA_FLAGS@ ${AM_CFLAGS} ${CFLAGS} ${ccflags} creation-upp_coroutine$(EXEEXT): u++ creation/upp_cor.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags} creation-upp_thread$(EXEEXT): u++ creation/upp_thrd.cc -DBENCH_N=50000000 -I. -nodebug -lrt -quiet ${AM_CFLAGS} ${CFLAGS} ${ccflags} creation-pthread$(EXEEXT): @BACKEND_CC@ creation/pthreads.c -DBENCH_N=250000 -I. -lrt -pthread ${AM_CFLAGS} ${CFLAGS} ${ccflags} ## ========================================================================================================= %.run : %$(EXEEXT) ${REPEAT} @rm -f .result.log @echo "------------------------------------------------------" @echo $< @${REPEAT} ${repeats} ./a.out | tee -a .result.log @${STATS} .result.log @echo "------------------------------------------------------" @rm -f a.out .result.log ${REPEAT} : @+make -C ${TOOLSDIR} repeat