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 33include ../Makefile.benchmarks 34 35EXTRA_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# 43COMPILER_VERSION_CMD_cc=cc -V 2>&1 | egrep Sun 44COMPILER_VERSION_CMD_gcc=gcc -dumpversion 45COMPILER_VERSION_CMD=$(COMPILER_VERSION_CMD_$(CC)) 46 47default: $(ALL) subdirs tattle 48 49cstyle: 50 for file in $(ALL:%=../%.c) $(EXTRA_CFILES:%=../%) ; \ 51 do cstyle -p $$file ;\ 52 done 53 54 55lint: 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 67libmicro.ln: ../libmicro.c ../libmicro_main.c ../libmicro.h ../benchmark_*.c 68 $(LINT) -muc $(CPPFLAGS) ../libmicro.c ../libmicro_main.c ../benchmark_*.c 69 70CPPFLAGS+= -D_REENTRANT 71 72bind_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB) 73cascade_flock_EXTRA_LIBS=$(UCBLIB) 74close_tcp_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB) 75connection_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB) 76fcntl_ndelay_EXTRA_LIBS=$(SOCKLIB) 77getpeername_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB) 78getsockname_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB) 79listen_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB) 80log_EXTRA_LIBS=$(MATHLIB) 81pipe_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB) 82poll_EXTRA_LIBS=$(SOCKLIB) 83select_EXTRA_LIBS=$(SOCKLIB) 84setsockopt_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB) 85socket_EXTRA_LIBS=$(SOCKLIB) 86socketpair_EXTRA_LIBS=$(SOCKLIB) 87 88BENCHMARK_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 100recurse_EXTRA_DEPS=recurse2.o 101 102 103recurse: $(recurse_EXTRA_DEPS) 104 105libmicro.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 109tattle: ../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 122exec: exec_bin 123 124exec_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 131subdirs: $(SUBDIRS) 132 133$(SUBDIRS): 134 cd ..; $(MAKE) -C $@ ARCH=$(ARCH) 135 136 137 138FORCE: 139 140 141._KEEP_STATE: 142 143