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_CFLAGS += -Wno-int-to-void-pointer-cast 16sched/cluster_bound_threads: OTHER_LDFLAGS += $(SCHED_UTILS_FLAGS) 17sched/cluster_bound_threads: $(SCHED_UTILS) 18SCHED_TARGETS += sched/cluster_bound_threads 19 20sched/contextswitch: OTHER_LDFLAGS += $(SCHED_UTILS_FLAGS) 21sched/contextswitch: $(SCHED_UTILS) 22SCHED_TARGETS += sched/contextswitch 23 24sched/enabled_policy: OTHER_LDFLAGS += $(SCHED_UTILS_FLAGS) 25sched/enabled_policy: $(SCHED_UTILS) 26SCHED_TARGETS += sched/enabled_policy 27 28sched/headers_compat_cpp: OTHER_CXXFLAGS += -I$(SRCROOT)/../osfmk 29SCHED_TARGETS += sched/headers_compat_cpp 30 31sched/headers_compat_c: OTHER_CFLAGS += -I$(SRCROOT)/../osfmk 32SCHED_TARGETS += sched/headers_compat_c 33 34sched/overloaded_runqueue: CODE_SIGN_ENTITLEMENTS = sched/overloaded_runqueue.entitlements 35sched/overloaded_runqueue: OTHER_CFLAGS += -DENTITLED=1 36sched/overloaded_runqueue: OTHER_LDFLAGS += -framework ktrace $(SCHED_UTILS_FLAGS) 37sched/overloaded_runqueue: $(SCHED_UTILS) 38SCHED_TARGETS += sched/overloaded_runqueue 39 40sched/thread_group_fairness: CODE_SIGN_ENTITLEMENTS = sched/thread_group_fairness.entitlements 41sched/thread_group_fairness: OTHER_CFLAGS += -DENTITLED=1 42sched/thread_group_fairness: OTHER_LDFLAGS += -framework perfdata $(SCHED_UTILS_FLAGS) 43sched/thread_group_fairness: $(SCHED_UTILS) 44sched/thread_group_fairness: sched/thread_group_fairness_workload_config.h 45sched/thread_group_fairness_workload_config.h: sched/thread_group_fairness_workload_config.plist 46 xxd -i $< > $@ 47SCHED_TARGETS += sched/thread_group_fairness 48 49sched/thread_group_flags: CODE_SIGN_ENTITLEMENTS = sched/thread_group_flags.entitlements 50sched/thread_group_flags: OTHER_CFLAGS += -DENTITLED=1 51sched/thread_group_flags: OTHER_LDFLAGS += -framework ktrace 52sched/thread_group_flags: sched/thread_group_flags_workload_config.h 53sched/thread_group_flags_workload_config.h: sched/thread_group_flags_workload_config.plist 54 xxd -i $< > $@ 55SCHED_TARGETS += sched/thread_group_flags 56 57sched/setitimer: OTHER_LDFLAGS += $(SCHED_UTILS_FLAGS) -framework perfdata 58sched/setitimer: $(SCHED_UTILS) 59SCHED_TARGETS += sched/setitimer 60 61sched/yield_aggressor: OTHER_CFLAGS += -Wno-atomic-implicit-seq-cst 62sched/yield_aggressor: OTHER_LDFLAGS += -framework perfdata $(SCHED_UTILS_FLAGS) 63sched/yield_aggressor: $(SCHED_UTILS) 64SCHED_TARGETS += sched/yield_aggressor 65 66sched/zero_to_n_tests: OTHER_LDFLAGS += -framework perfdata $(SCHED_UTILS_FLAGS) 67sched/zero_to_n_tests: $(SCHED_UTILS) 68SCHED_TARGETS += sched/zero_to_n_tests 69 70sched/rttimer: CODE_SIGN_ENTITLEMENTS = sched/rttimer.entitlements 71sched/rttimer: OTHER_LDFLAGS += $(SCHED_UTILS_FLAGS) 72sched/rttimer: $(SCHED_UTILS) 73SCHED_TARGETS += sched/rttimer 74 75# Convenience command for building all of the test targets under sched/ 76.PHONY: sched/all 77sched/all: $(SCHED_TARGETS) 78