xref: /xnu-11215/tools/tests/execperf/Makefile (revision 855239e5)
1*855239e5SApple OSS DistributionsSDKROOT ?= /
2*855239e5SApple OSS DistributionsARCHS = x86_64
3*855239e5SApple OSS DistributionsCC = xcrun -sdk $(SDKROOT) cc
4*855239e5SApple OSS DistributionsCODESIGN = xcrun -sdk $(SDKROOT) codesign
5*855239e5SApple OSS DistributionsCFLAGS = -O0 -g -isysroot $(SDKROOT) $(patsubst %, -arch %,$(ARCHS))
6*855239e5SApple OSS DistributionsLDFLAGS = -Wl,-new_linker -dead_strip \
7*855239e5SApple OSS Distributions	-isysroot $(SDKROOT) $(patsubst %, -arch %,$(ARCHS))
8*855239e5SApple OSS DistributionsNOPIE_OPTION = -Wl,-no_pie
9*855239e5SApple OSS Distributions
10*855239e5SApple OSS DistributionsEXECUTABLES = exit.nodyld \
11*855239e5SApple OSS Distributions	exit.nopie.dyld-but-no-Libsystem exit.pie.dyld-but-no-Libsystem \
12*855239e5SApple OSS Distributions	exit.nopie.dyld-and-Libsystem exit.pie.dyld-and-Libsystem \
13*855239e5SApple OSS Distributions	exit.nopie exit.pie \
14*855239e5SApple OSS Distributions	printexecinfo
15*855239e5SApple OSS DistributionsOBJECTS = exit-asm.o exit.o printexecinfo.o
16*855239e5SApple OSS Distributions
17*855239e5SApple OSS Distributionsdefault: $(EXECUTABLES) run
18*855239e5SApple OSS Distributions
19*855239e5SApple OSS Distributionsclean:
20*855239e5SApple OSS Distributions	rm -f run $(EXECUTABLES)
21*855239e5SApple OSS Distributions	rm -f run.o $(OBJECTS)
22*855239e5SApple OSS Distributions
23*855239e5SApple OSS Distributionsrun.o: run.c
24*855239e5SApple OSS Distributions	$(CC) -c -o $@ $< $(CFLAGS)
25*855239e5SApple OSS Distributions
26*855239e5SApple OSS Distributionsrun: run.o
27*855239e5SApple OSS Distributions	$(CC) -o $@ $< $(LDFLAGS)
28*855239e5SApple OSS Distributions	$(CODESIGN) -s - $@
29*855239e5SApple OSS Distributions
30*855239e5SApple OSS Distributions# OBJECTS
31*855239e5SApple OSS Distributions
32*855239e5SApple OSS Distributionsexit-asm.o: exit-asm.S
33*855239e5SApple OSS Distributions	$(CC) -c -o $@ $< $(CFLAGS)
34*855239e5SApple OSS Distributions
35*855239e5SApple OSS Distributionsexit.o: exit.c
36*855239e5SApple OSS Distributions	$(CC) -c -o $@ $< $(CFLAGS)
37*855239e5SApple OSS Distributions
38*855239e5SApple OSS Distributionsprintexecinfo.o: printexecinfo.c
39*855239e5SApple OSS Distributions	$(CC) -c -o $@ $< $(CFLAGS)
40*855239e5SApple OSS Distributions
41*855239e5SApple OSS Distributions# EXECUTABLES
42*855239e5SApple OSS Distributions
43*855239e5SApple OSS Distributionsexit.nodyld: exit-asm.o
44*855239e5SApple OSS Distributions	$(CC) -o $@ $< $(LDFLAGS) -e mystart -nostartfiles -nodefaultlibs -static
45*855239e5SApple OSS Distributions	$(CODESIGN) -s - $@
46*855239e5SApple OSS Distributions
47*855239e5SApple OSS Distributions
48*855239e5SApple OSS Distributionsexit.nopie.dyld-but-no-Libsystem: exit-asm.o
49*855239e5SApple OSS Distributions	$(CC) -o $@ $< $(LDFLAGS) -e mystart $(NOPIE_OPTION) -nostartfiles -nodefaultlibs
50*855239e5SApple OSS Distributions	$(CODESIGN) -s - $@
51*855239e5SApple OSS Distributions
52*855239e5SApple OSS Distributionsexit.pie.dyld-but-no-Libsystem: exit-asm.o
53*855239e5SApple OSS Distributions	$(CC) -o $@ $< $(LDFLAGS) -e mystart -Wl,-pie -nostartfiles -nodefaultlibs
54*855239e5SApple OSS Distributions	$(CODESIGN) -s - $@
55*855239e5SApple OSS Distributions
56*855239e5SApple OSS Distributionsexit.nopie.dyld-and-Libsystem: exit-asm.o
57*855239e5SApple OSS Distributions	$(CC) -o $@ $< $(LDFLAGS) -e mystart $(NOPIE_OPTION) -nostartfiles -nodefaultlibs -lSystem
58*855239e5SApple OSS Distributions	$(CODESIGN) -s - $@
59*855239e5SApple OSS Distributions
60*855239e5SApple OSS Distributionsexit.pie.dyld-and-Libsystem: exit-asm.o
61*855239e5SApple OSS Distributions	$(CC) -o $@ $< $(LDFLAGS) -e mystart -Wl,-pie -nostartfiles -nodefaultlibs -lSystem
62*855239e5SApple OSS Distributions	$(CODESIGN) -s - $@
63*855239e5SApple OSS Distributions
64*855239e5SApple OSS Distributionsexit.nopie: exit.o
65*855239e5SApple OSS Distributions	$(CC) -o $@ $< $(LDFLAGS) -e mystart $(NOPIE_OPTION)
66*855239e5SApple OSS Distributions	$(CODESIGN) -s - $@
67*855239e5SApple OSS Distributions
68*855239e5SApple OSS Distributionsexit.pie: exit.o
69*855239e5SApple OSS Distributions	$(CC) -o $@ $< $(LDFLAGS) -e mystart -Wl,-pie
70*855239e5SApple OSS Distributions	$(CODESIGN) -s - $@
71*855239e5SApple OSS Distributions
72*855239e5SApple OSS Distributionsprintexecinfo: printexecinfo.o
73*855239e5SApple OSS Distributions	$(CC) -o $@ $< $(LDFLAGS)
74*855239e5SApple OSS Distributions	$(CODESIGN) -s - $@
75*855239e5SApple OSS Distributions
76*855239e5SApple OSS Distributions# ACTIONS
77*855239e5SApple OSS Distributions
78*855239e5SApple OSS Distributionsquick-test: $(EXECUTABLES) run
79*855239e5SApple OSS Distributions	./test.sh
80