]> git.saurik.com Git - apple/xnu.git/blob - tools/tests/libMicro/Makefile.com.Darwin
xnu-3248.60.10.tar.gz
[apple/xnu.git] / tools / tests / libMicro / Makefile.com.Darwin
1 #
2 # CDDL HEADER START
3 #
4 # The contents of this file are subject to the terms
5 # of the Common Development and Distribution License
6 # (the "License"). You may not use this file except
7 # in compliance with the License.
8 #
9 # You can obtain a copy of the license at
10 # src/OPENSOLARIS.LICENSE
11 # or http://www.opensolaris.org/os/licensing.
12 # See the License for the specific language governing
13 # permissions and limitations under the License.
14 #
15 # When distributing Covered Code, include this CDDL
16 # HEADER in each file and include the License file at
17 # usr/src/OPENSOLARIS.LICENSE. If applicable,
18 # add the following below this CDDL HEADER, with the
19 # fields enclosed by brackets "[]" replaced with your
20 # own identifying information: Portions Copyright [yyyy]
21 # [name of copyright owner]
22 #
23 # CDDL HEADER END
24 #
25
26 #
27 # Copyright 2005 Sun Microsystems, Inc. All rights reserved.
28 # Use is subject to license terms.
29 #
30 # ident "@(#)Makefile.com.Darwin 1.10 05/08/04 SMI"
31 #
32
33 include ../Makefile.benchmarks
34
35 EXTRA_CFILES= \
36 exec_bin.c \
37 elided.c \
38 tattle.c
39
40 #
41 # some definitions to make getting compiler versions possible - avoid quotes
42 #
43 COMPILER_VERSION_CMD_cc=cc -V 2>&1 | egrep Sun
44 COMPILER_VERSION_CMD_gcc=gcc -dumpversion
45 COMPILER_VERSION_CMD=$(COMPILER_VERSION_CMD_$(CC))
46
47 default: $(ALL) subdirs tattle
48
49 cstyle:
50 for file in $(ALL:%=../%.c) $(EXTRA_CFILES:%=../%) ; \
51 do cstyle -p $$file ;\
52 done
53
54
55 lint: libmicro.ln $(ALL:%=%.lint) $(EXTRA_CFILES:%.c=%.lint)
56
57
58 $(EXTRA_CFILES:%.c=%.lint):
59 $(LINT) ../$(@:%.lint=%.c) -I. -mu -lc libmicro.ln -lm
60
61 %.lint: ../%.c libmicro.ln
62 $(LINT) -mu $(CPPFLAGS) $< libmicro.ln -lpthread -lsocket -lnsl -lm
63
64 %.o: ../%.c
65 $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
66
67 libmicro.ln: ../libmicro.c ../libmicro_main.c ../libmicro.h ../benchmark_*.c
68 $(LINT) -muc $(CPPFLAGS) ../libmicro.c ../libmicro_main.c ../benchmark_*.c
69
70 CPPFLAGS+= -D_REENTRANT
71
72 bind_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB)
73 cascade_flock_EXTRA_LIBS=$(UCBLIB)
74 close_tcp_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB)
75 connection_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB)
76 fcntl_ndelay_EXTRA_LIBS=$(SOCKLIB)
77 getpeername_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB)
78 getsockname_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB)
79 listen_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB)
80 log_EXTRA_LIBS=$(MATHLIB)
81 pipe_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB)
82 poll_EXTRA_LIBS=$(SOCKLIB)
83 select_EXTRA_LIBS=$(SOCKLIB)
84 setsockopt_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB)
85 socket_EXTRA_LIBS=$(SOCKLIB)
86 socketpair_EXTRA_LIBS=$(SOCKLIB)
87
88 BENCHMARK_FUNCS= \
89 benchmark_init.o \
90 benchmark_fini.o \
91 benchmark_initrun.o \
92 benchmark_finirun.o \
93 benchmark_initbatch.o \
94 benchmark_finibatch.o \
95 benchmark_initworker.o \
96 benchmark_finiworker.o \
97 benchmark_optswitch.o \
98 benchmark_result.o
99
100 recurse_EXTRA_DEPS=recurse2.o
101
102
103 recurse: $(recurse_EXTRA_DEPS)
104
105 libmicro.a: libmicro.o libmicro_main.o $(BENCHMARK_FUNCS)
106 $(AR) -cr libmicro.a libmicro.o libmicro_main.o $(BENCHMARK_FUNCS)
107 ranlib libmicro.a
108
109 tattle: ../tattle.c libmicro.a
110 echo "char * compiler_version = \""`$(COMPILER_VERSION_CMD)`"\";" > tattle.h
111 echo "char * CC = \""$(CC)"\";" >> tattle.h
112 echo "char * extra_compiler_flags = \""$(extra_CFLAGS)"\";" >> tattle.h
113 $(CC) -o tattle $(CFLAGS) -I. ../tattle.c libmicro.a -lSystem -lm
114 cp tattle ../tattle
115
116 $(ELIDED_BENCHMARKS): ../elided.c
117 $(CC) $(CFLAGS) -o $(@) ../elided.c
118
119 %: libmicro.a %.o
120 $(CC) -o $(@) $(@).o $($(@)_EXTRA_DEPS) $(CFLAGS) libmicro.a $($(@)_EXTRA_LIBS) $(EXTRA_LIBS) -lpthread -lm
121
122 exec: exec_bin
123
124 exec_bin: exec_bin.o
125 $(CC) -o exec_bin $(CFLAGS) exec_bin.o
126
127 # for apple added tests
128
129 .PHONY: subdirs $(SUBDIRS)
130
131 subdirs: $(SUBDIRS)
132
133 $(SUBDIRS):
134 cd ..; $(MAKE) -C $@ ARCH=$(ARCH)
135
136
137
138 FORCE:
139
140
141 ._KEEP_STATE:
142