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