xref: /xnu-11417.121.6/tests/sched/Makefile (revision a1e26a70f38d1d7daa7b49b258e2f8538ad81650)
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