b1e8fc784f
Source Code:https://github.com/eembc/coremark-pro Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
156 lines
5.7 KiB
Makefile
156 lines
5.7 KiB
Makefile
############################################################################
|
|
# apps/benchmarks/coremark-pro/Makefile
|
|
#
|
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
# contributor license agreements. See the NOTICE file distributed with
|
|
# this work for additional information regarding copyright ownership. The
|
|
# ASF licenses this file to you under the Apache License, Version 2.0 (the
|
|
# "License"); you may not use this file except in compliance with the
|
|
# License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
#
|
|
############################################################################
|
|
|
|
include $(APPDIR)/Make.defs
|
|
|
|
PRIORITY = $(CONFIG_BENCHMARK_COREMARK_PRO_PRIORITY)
|
|
STACKSIZE = $(CONFIG_BENCHMARK_COREMARK_PRO_STACKSIZE)
|
|
MODULE = $(CONFIG_BENCHMARK_COREMARK_PRO)
|
|
|
|
CFLAGS += ${INCDIR_PREFIX}$(APPDIR)/benchmarks/coremark-pro/coremark-pro/mith/include
|
|
CFLAGS += ${INCDIR_PREFIX}$(APPDIR)/benchmarks/coremark-pro/coremark-pro/mith/al/include
|
|
CFLAGS += -DNDEBUG -DHOST_EXAMPLE_CODE=1 -DHAVE_SYS_STAT_H=1 \
|
|
-DGCC_INLINE_MACRO=1 -DMAX_CONTEXTS=100 -DEE_SIZEOF_INT=4 \
|
|
|
|
ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_USE_SINGLE_CONTEXT),)
|
|
CFLAGS += -DUSE_SINGLE_CONTEXT=1 -DHAVE_PTHREAD=0 -DUSE_NATIVE_PTHREAD=0
|
|
else
|
|
CFLAGS += -DUSE_SINGLE_CONTEXT=0 -DHAVE_PTHREAD=1 -DUSE_NATIVE_PTHREAD=1
|
|
endif
|
|
|
|
ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_SMP),)
|
|
CFLAGS += -DHAVE_PTHREAD_SETAFFINITY_NP=1 -DHAVE_PTHREAD_SELF=1
|
|
endif
|
|
|
|
ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_64BIT),)
|
|
CFLAGS += -DEE_SIZEOF_PTR=8 -DEE_PTR_ALIGN=8 -DEE_SIZEOF_LONG=8
|
|
endif
|
|
|
|
ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_USE_FP64),)
|
|
CFLAGS += -DUSE_FP64=1
|
|
CSRCS += coremark-pro/benchmarks/fp/linpack/ref/inputs_f64.c
|
|
else
|
|
CFLAGS += -DUSE_FP32=1
|
|
CSRCS += coremark-pro/benchmarks/fp/linpack/ref/inputs_f32.c
|
|
endif
|
|
|
|
CSRCS += coremark-pro/mith/src/md5.c
|
|
CSRCS += coremark-pro/mith/src/mith_lib.c
|
|
CSRCS += coremark-pro/mith/src/mith_workload.c
|
|
CSRCS += coremark-pro/mith/src/th_bignum.c
|
|
CSRCS += coremark-pro/mith/src/th_encode.c
|
|
CSRCS += coremark-pro/mith/src/th_lib.c
|
|
CSRCS += coremark-pro/mith/src/th_math.c
|
|
CSRCS += coremark-pro/mith/src/th_rand.c
|
|
|
|
CSRCS += $(wildcard coremark-pro/mith/al/src/*.c)
|
|
|
|
ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_CORE_TEST),)
|
|
CSRCS += $(wildcard coremark-pro/benchmarks/core/*.c)
|
|
MAINSRC += coremark-pro/workloads/core/core.c
|
|
PROGNAME += core
|
|
endif
|
|
|
|
ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_CJPEG_TEST),)
|
|
CSRCS += $(wildcard coremark-pro/benchmarks/consumer_v2/cjpeg/*.c)
|
|
CSRCS += $(wildcard coremark-pro/benchmarks/consumer_v2/cjpeg/data/Rose256_bmp.c)
|
|
MAINSRC += coremark-pro/workloads/cjpeg-rose7-preset/cjpeg-rose7-preset.c
|
|
PROGNAME += cjpeg_rose7_preset
|
|
endif
|
|
|
|
ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_SHA_TEST),)
|
|
CSRCS += $(wildcard coremark-pro/benchmarks/darkmark/sha/*.c)
|
|
MAINSRC += coremark-pro/workloads/sha-test/sha-test.c
|
|
PROGNAME += sha_test
|
|
endif
|
|
|
|
ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_ZIP_TEST),)
|
|
CFLAGS += ${INCDIR_PREFIX}$(APPDIR)/system/zlib/zlib
|
|
CFLAGS += -Dgzclose_r=coremark_zip_gzclose_r -Dgzclose_w=coremark_zip_gzclose_w
|
|
CSRCS += coremark-pro/benchmarks/darkmark/zip/zip_darkmark.c
|
|
MAINSRC += coremark-pro/workloads/zip-test/zip-test.c
|
|
PROGNAME += zip_test
|
|
endif
|
|
|
|
ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_LINEAR_ALG_MID_TEST),)
|
|
CSRCS += coremark-pro/benchmarks/fp/linpack/linpack.c
|
|
MAINSRC += coremark-pro/workloads/linear_alg-mid-100x100-sp/linear_alg-mid-100x100-sp.c
|
|
PROGNAME += linear_alg_mid_100x100_sp
|
|
endif
|
|
|
|
ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_RADIX_TEST),)
|
|
ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_USE_FP64),)
|
|
CSRCS += $(wildcard coremark-pro/benchmarks/fp/fft_radix2/ref/*.c)
|
|
else
|
|
CSRCS += $(wildcard coremark-pro/benchmarks/fp/fft_radix2/ref-sp/*.c)
|
|
endif
|
|
|
|
CSRCS += coremark-pro/benchmarks/fp/fft_radix2/fft_radix2.c
|
|
MAINSRC += coremark-pro/workloads/radix2-big-64k/radix2-big-64k.c
|
|
PROGNAME += radix2_big_64k
|
|
endif
|
|
|
|
ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_LOOPS_ALL_MID_TEST),)
|
|
ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_USE_FP64),)
|
|
CSRCS += $(wildcard coremark-pro/benchmarks/fp/loops/ref/*.c)
|
|
else
|
|
CSRCS += $(wildcard coremark-pro/benchmarks/fp/loops/ref-sp/*.c)
|
|
endif
|
|
|
|
CSRCS += coremark-pro/benchmarks/fp/loops/loops.c
|
|
MAINSRC += coremark-pro/workloads/loops-all-mid-10k-sp/loops-all-mid-10k-sp.c
|
|
PROGNAME += loops_all_mid_10k_sp
|
|
endif
|
|
|
|
ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_NNET_TEST),)
|
|
ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_USE_FP64),)
|
|
CSRCS += $(wildcard coremark-pro/benchmarks/fp/nnet/ref/*.c)
|
|
else
|
|
CSRCS += $(wildcard coremark-pro/benchmarks/fp/nnet/ref-sp/*.c)
|
|
endif
|
|
|
|
CSRCS += $(wildcard coremark-pro/benchmarks/fp/nnet/*.c)
|
|
MAINSRC += coremark-pro/workloads/nnet_test/nnet_test.c
|
|
PROGNAME += nnet_test
|
|
endif
|
|
|
|
ifneq ($(CONFIG_BENCHMARK_COREMARK_PRO_PARSER_125K),)
|
|
CSRCS += $(wildcard coremark-pro/benchmarks/darkmark/parser/*.c)
|
|
MAINSRC += coremark-pro/workloads/parser-125k/parser-125k.c
|
|
PROGNAME += parser_125k
|
|
endif
|
|
|
|
ifeq ($(wildcard coremark-pro/.git),)
|
|
VERSION ?= main
|
|
coremark-pro.zip:
|
|
$(Q) curl -L https://github.com/eembc/coremark-pro/archive/refs/heads/main.zip -o coremark-pro.zip
|
|
$(Q) unzip -o coremark-pro.zip
|
|
$(Q) mv coremark-pro-$(VERSION) coremark-pro
|
|
|
|
context:: coremark-pro.zip
|
|
|
|
distclean::
|
|
$(call DELDIR, coremark-pro)
|
|
$(call DELFILE, coremark-pro.zip)
|
|
|
|
endif
|
|
|
|
include $(APPDIR)/Application.mk
|