1# Copyright (c) 2024 Apple Inc. All rights reserved. 2 3SCHED_UTILS = sched/sched_test_utils.c 4SCHED_UTILS_FLAGS = -ldarwintest_utils -Wno-format-nonliteral -Wno-cast-qual -Wno-c++98-compat -Wno-format-security 5EXCLUDED_SOURCES += $(SCHED_UTILS) 6# Note, SCHED_UTILS depends on -ldarwintest_utils to build 7 8include sched/sched_test_harness/Makefile 9 10sched/all_cores_running: OTHER_LDFLAGS += $(SCHED_UTILS_FLAGS) 11sched/all_cores_running: $(SCHED_UTILS) 12SCHED_TARGETS += sched/all_cores_running 13 14 15sched/cluster_bound_threads: OTHER_LDFLAGS += $(SCHED_UTILS_FLAGS) 16sched/cluster_bound_threads: $(SCHED_UTILS) 17SCHED_TARGETS += sched/cluster_bound_threads 18 19sched/contextswitch: OTHER_LDFLAGS += $(SCHED_UTILS_FLAGS) 20sched/contextswitch: $(SCHED_UTILS) 21SCHED_TARGETS += sched/contextswitch 22 23sched/enabled_policy: OTHER_LDFLAGS += $(SCHED_UTILS_FLAGS) 24sched/enabled_policy: $(SCHED_UTILS) 25SCHED_TARGETS += sched/enabled_policy 26 27sched/headers_compat_cpp: OTHER_CXXFLAGS += -I$(SRCROOT)/../osfmk 28SCHED_TARGETS += sched/headers_compat_cpp 29 30sched/headers_compat_c: OTHER_CFLAGS += -I$(SRCROOT)/../osfmk 31SCHED_TARGETS += sched/headers_compat_c 32 33sched/overloaded_runqueue: CODE_SIGN_ENTITLEMENTS = sched/overloaded_runqueue.entitlements 34sched/overloaded_runqueue: OTHER_CFLAGS += -DENTITLED=1 35sched/overloaded_runqueue: OTHER_LDFLAGS += -framework ktrace $(SCHED_UTILS_FLAGS) 36sched/overloaded_runqueue: $(SCHED_UTILS) 37SCHED_TARGETS += sched/overloaded_runqueue 38 39sched/thread_group_fairness: CODE_SIGN_ENTITLEMENTS = sched/thread_group_fairness.entitlements 40sched/thread_group_fairness: OTHER_CFLAGS += -DENTITLED=1 41sched/thread_group_fairness: OTHER_LDFLAGS += -framework perfdata $(SCHED_UTILS_FLAGS) 42sched/thread_group_fairness: $(SCHED_UTILS) 43sched/thread_group_fairness: sched/thread_group_fairness_workload_config.h 44sched/thread_group_fairness_workload_config.h: sched/thread_group_fairness_workload_config.plist 45 xxd -i $< > $@ 46SCHED_TARGETS += sched/thread_group_fairness 47 48sched/thread_group_flags: CODE_SIGN_ENTITLEMENTS = sched/thread_group_flags.entitlements 49sched/thread_group_flags: OTHER_CFLAGS += -DENTITLED=1 50sched/thread_group_flags: OTHER_LDFLAGS += -framework ktrace 51sched/thread_group_flags: sched/thread_group_flags_workload_config.h 52sched/thread_group_flags_workload_config.h: sched/thread_group_flags_workload_config.plist 53 xxd -i $< > $@ 54SCHED_TARGETS += sched/thread_group_flags 55 56sched/yield_aggressor: OTHER_CFLAGS += -Wno-atomic-implicit-seq-cst 57sched/yield_aggressor: OTHER_LDFLAGS += -framework perfdata $(SCHED_UTILS_FLAGS) 58sched/yield_aggressor: $(SCHED_UTILS) 59SCHED_TARGETS += sched/yield_aggressor 60 61sched/zero_to_n_tests: OTHER_LDFLAGS += -framework perfdata $(SCHED_UTILS_FLAGS) 62SCHED_TARGETS += sched/zero_to_n_tests 63 64# Convenience command for building all of the test targets under sched/ 65.PHONY: sched/all 66sched/all: $(SCHED_TARGETS) 67