# # CDDL HEADER START # # The contents of this file are subject to the terms # of the Common Development and Distribution License # (the "License"). You may not use this file except # in compliance with the License. # # You can obtain a copy of the license at # src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing # permissions and limitations under the License. # # When distributing Covered Code, include this CDDL # HEADER in each file and include the License file at # usr/src/OPENSOLARIS.LICENSE. If applicable, # add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your # own identifying information: Portions Copyright [yyyy] # [name of copyright owner] # # CDDL HEADER END # # # Copyright 2005 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # include ../Makefile.benchmarks EXTRA_CFILES= \ exec_bin.c \ elided.c \ tattle.c # # some definitions to make getting compiler versions possible - avoid quotes # COMPILER_VERSION_CMD_cc=cc -V 2>&1 | egrep Sun COMPILER_VERSION_CMD_gcc=gcc -dumpversion COMPILER_VERSION_CMD=$(COMPILER_VERSION_CMD_$(CC)) default: $(ALL) tattle cstyle: for file in $(ALL:%=../%.c) $(EXTRA_CFILES:%=../%) ; \ do cstyle -p $$file ;\ done lint: libmicro.ln $(ALL:%=%.lint) $(EXTRA_CFILES:%.c=%.lint) $(EXTRA_CFILES:%.c=%.lint): $(LINT) ../$(@:%.lint=%.c) -I. -mu -lc libmicro.ln -lm %.lint: ../%.c libmicro.ln $(LINT) -mu $(CPPFLAGS) $< libmicro.ln -lpthread -lsocket -lnsl -lm %.o: ../%.c $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@ libmicro.ln: ../libmicro.c ../libmicro_main.c ../libmicro.h ../benchmark_*.c $(LINT) -muc $(CPPFLAGS) ../libmicro.c ../libmicro_main.c ../benchmark_*.c CPPFLAGS+= -D_REENTRANT bind_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB) cascade_flock_EXTRA_LIBS=$(UCBLIB) close_tcp_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB) connection_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB) fcntl_ndelay_EXTRA_LIBS=$(SOCKLIB) getpeername_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB) getsockname_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB) listen_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB) log_EXTRA_LIBS=$(MATHLIB) pipe_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB) poll_EXTRA_LIBS=$(SOCKLIB) select_EXTRA_LIBS=$(SOCKLIB) setsockopt_EXTRA_LIBS=$(NSLLIB) $(SOCKLIB) socket_EXTRA_LIBS=$(SOCKLIB) socketpair_EXTRA_LIBS=$(SOCKLIB) BENCHMARK_FUNCS= \ benchmark_init.o \ benchmark_fini.o \ benchmark_initrun.o \ benchmark_finirun.o \ benchmark_initbatch.o \ benchmark_finibatch.o \ benchmark_initworker.o \ benchmark_finiworker.o \ benchmark_optswitch.o \ benchmark_result.o recurse_EXTRA_DEPS=recurse2.o recurse: $(recurse_EXTRA_DEPS) libmicro.a: libmicro.o libmicro_main.o $(BENCHMARK_FUNCS) $(AR) -cr libmicro.a libmicro.o libmicro_main.o $(BENCHMARK_FUNCS) tattle: ../tattle.c libmicro.a echo "char * compiler_version = \""`$(COMPILER_VERSION_CMD)`"\";" > tattle.h echo "char * CC = \""$(CC)"\";" >> tattle.h echo "char * extra_compiler_flags = \""$(extra_CFLAGS)"\";" >> tattle.h $(CC) -o tattle $(CFLAGS) -I. ../tattle.c libmicro.a -lrt -lm cp tattle ../tattle $(ELIDED_BENCHMARKS): ../elided.c $(CC) -o $(@) ../elided.c %: libmicro.a %.o $(CC) -o $(@) $(@).o $($(@)_EXTRA_DEPS) $(CFLAGS) libmicro.a $($(@)_EXTRA_LIBS) $(EXTRA_LIBS) -lpthread -lm exec: exec_bin exec_bin: exec_bin.o $(CC) -o exec_bin $(CFLAGS) exec_bin.o FORCE: ._KEEP_STATE: