cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

Makefile (2077B)


      1# SPDX-License-Identifier: GPL-2.0
      2noarg:
      3	$(MAKE) -C ../
      4
      5TEST_GEN_PROGS := count_instructions count_stcx_fail l3_bank_test per_event_excludes
      6EXTRA_SOURCES := ../harness.c event.c lib.c ../utils.c
      7
      8top_srcdir = ../../../../..
      9include ../../lib.mk
     10
     11all: $(TEST_GEN_PROGS) ebb sampling_tests
     12
     13$(TEST_GEN_PROGS): $(EXTRA_SOURCES)
     14
     15# loop.S can only be built 64-bit
     16$(OUTPUT)/count_instructions: CFLAGS += -m64
     17$(OUTPUT)/count_instructions: loop.S count_instructions.c $(EXTRA_SOURCES)
     18
     19$(OUTPUT)/count_stcx_fail: CFLAGS += -m64
     20$(OUTPUT)/count_stcx_fail: loop.S $(EXTRA_SOURCES)
     21
     22
     23$(OUTPUT)/per_event_excludes: ../utils.c
     24
     25DEFAULT_RUN_TESTS := $(RUN_TESTS)
     26override define RUN_TESTS
     27	$(DEFAULT_RUN_TESTS)
     28	TARGET=ebb; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests
     29	TARGET=sampling_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests
     30endef
     31
     32DEFAULT_EMIT_TESTS := $(EMIT_TESTS)
     33override define EMIT_TESTS
     34	$(DEFAULT_EMIT_TESTS)
     35	TARGET=ebb; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests
     36	TARGET=sampling_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests
     37endef
     38
     39DEFAULT_INSTALL_RULE := $(INSTALL_RULE)
     40override define INSTALL_RULE
     41	$(DEFAULT_INSTALL_RULE)
     42	TARGET=ebb; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install
     43	TARGET=sampling_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install
     44endef
     45
     46clean:
     47	$(RM) $(TEST_GEN_PROGS) $(OUTPUT)/loop.o
     48	TARGET=ebb; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean
     49	TARGET=sampling_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET clean
     50
     51ebb:
     52	TARGET=$@; BUILD_TARGET=$$OUTPUT/$$TARGET; mkdir -p $$BUILD_TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -k -C $$TARGET all
     53
     54sampling_tests:
     55	TARGET=$@; BUILD_TARGET=$$OUTPUT/$$TARGET; mkdir -p $$BUILD_TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -k -C $$TARGET all
     56
     57.PHONY: all run_tests clean ebb sampling_tests