123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326 |
- # $Id$
- # Make targets:
- #
- # lmbench [default] builds the benchmark suite for the current os/arch
- # results builds, configures run parameters, and runs the benchmark
- # rerun reruns the benchmark using the same parameters as last time
- # clean cleans out sources and run configuration
- # clobber clean and removes the bin directories
- # shar obsolete, use cd .. && make shar
- # depend builds make dependencies (needs gcc)
- #
- # This is largely self configuring. Most stuff is pretty portable.
- #
- # If you don't have gcc, try make CC=cc and see if that works.
- #
- # If you want to do cross-compilation try make OS=armv5tel-linux-gnu
- # or whatever your OS string should be in the target environment.
- # Since many embedded development environments also have a special
- # cross-compiler, you might want to also select a particular compiler,
- # so your build command would look something like:
- # make OS=armv5tel-linux-gnu CC=gcc-arm
- #
- # Overriding the OS and CC make parameters needs to be done as an
- # argument to make, not as an environment variable. See above comments.
- # I finally know why Larry Wall's Makefile says "Grrrr".
- SHELL=/bin/sh
- CC = `../scripts/compiler`
- LDLIBS = -lm
- AR = ar
- ARCREATE = cr
- BASE=/usr/local # base of installation location
- O= ../bin/unknown
- D= ../doc
- TRUE=/bin/true
- OS=`../scripts/os`
- TARGET=`../scripts/target`
- BINDIR=../bin/$(OS)
- CONFIG=../bin/$(OS)/`../scripts/config`
- UTILS=../scripts/target ../scripts/os ../scripts/gnu-os ../scripts/compiler \
- ../scripts/info ../scripts/info-template ../scripts/version \
- ../scripts/config ../scripts/config-run ../scripts/results \
- ../scripts/lmbench ../scripts/build ../scripts/depend
- INSTALL=cp
- RESULTS=Results/$(OS)
- SAMPLES=lmbench/Results/aix/rs6000 lmbench/Results/hpux/snake \
- lmbench/Results/irix/indigo2 lmbench/Results/linux/pentium \
- lmbench/Results/osf1/alpha lmbench/Results/solaris/ss20*
- COMPILE=$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
- INCS = bench.h lib_tcp.h lib_udp.h stats.h timing.h
- SRCS = bench.h bw_file_rd.c bw_mmap_rd.c \
- bw_pipe.c bw_tcp.c clock.c hello.c lat_connect.c lat_ctx.c \
- lat_fs.c lat_mem_rd.c lat_mmap.c lat_pagefault.c lat_pipe.c \
- lat_proc.c lat_rpc.c lat_syscall.c lat_tcp.c lat_udp.c \
- lib_tcp.c lib_udp.c mhz.c lib_timing.c lat_sig.c \
- memsize.c bw_unix.c lat_unix.c lmdd.c loop_o.c timing_o.c \
- timing.h stats.h lib_tcp.h lib_udp.h enough.c lat_select.c \
- msleep.c bw_mem.c lat_fifo.c lmhttp.c lat_http.c \
- disk.c flushdisk.c lat_unix_connect.c lib_unix.c lib_stats.c \
- lib_unix.h names.h version.h lat_msg.c lib_confidence.c
- EXES = $O/bw_file_rd $O/bw_mem $O/bw_mmap_rd $O/bw_pipe $O/bw_tcp \
- $O/lat_select $O/lat_pipe $O/lat_rpc $O/lat_syscall $O/lat_tcp \
- $O/lat_udp $O/lat_mmap $O/lat_proc $O/lat_pagefault $O/mhz \
- $O/lat_connect $O/lat_fs $O/lat_sig $O/lat_mem_rd $O/lat_ctx \
- $O/memsize $O/lat_unix $O/bw_unix $O/lmdd $O/timing_o $O/enough \
- $O/msleep $O/loop_o $O/lat_fifo $O/lmhttp $O/lat_http \
- $O/lat_unix_connect $O/lat_fcntl \
- $O/disk $O/flushdisk $O/clock $O/hello $O/lat_msg
- MAN1 = lmdd.1 $D/bargraph.1 $D/graph.1 $D/pgraph.1 $D/rccs.1
- MAN3 = $D/lmbench.3 $D/reporting.3 $D/results.3 $D/timing.3
- MAN8 = $D/bw_file_rd.8 $D/bw_mem.8 $D/bw_pipe.8 $D/bw_pipe.8 \
- $D/bw_tcp.8 $D/bw_unix.8 \
- $D/lat_connect.8 $D/lat_ctx.8 $D/lat_fcntl.8 $D/lat_fifo.8 \
- $D/lat_fs.8 $D/lat_http.8 $D/lat_mem_rd.8 $D/lat_mmap.8 \
- $D/lat_pagefault.8 $D/lat_pipe.8 $D/lat_proc.8 $D/lat_rpc.8 \
- $D/lat_select.8 $D/lat_sig.8 $D/lat_syscall.8 $D/lat_tcp.8 \
- $D/lat_udp.8 $D/lat_unix.8 $D/lat_unix_connect.8 \
- $D/lmbench.8 $D/disk.8 $D/lmdd.8 $D/mhz.8 \
- $D/clock.8 $D/enough.8 $D/loop_o.8 $D/timing_o.8
- LIBOBJS= $O/lib_tcp.o $O/lib_udp.o $O/lib_unix.o $O/lib_timing.o $O/lib_stats.o $O/lib_confidence.o
- lmbench: $(UTILS)
- @env OS="${OS}" CC="${CC}" CFLAGS="${CFLAGS} -O" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" ../scripts/build all
- results: lmbench
- @env OS="${OS}" ../scripts/config-run
- @env OS="${OS}" ../scripts/results
- rerun: lmbench
- @if [ ! -f $(CONFIG) ]; then env OS="${OS}" ../scripts/config-run; fi
- @env OS="${OS}" ../scripts/results
- install: lmbench
- $(MAKE) O=$(BINDIR) install-target
- install-target:
- if [ ! -d $(BASE) ]; then mkdir $(BASE); fi
- if [ ! -d $(BASE)/bin ]; then mkdir $(BASE)/bin; fi
- if [ ! -d $(BASE)/include ]; then mkdir $(BASE)/include; fi
- if [ ! -d $(BASE)/lib ]; then mkdir $(BASE)/lib; fi
- if [ ! -d $(BASE)/man ]; then mkdir $(BASE)/man; fi
- if [ ! -d $(BASE)/man/man1 ]; then mkdir $(BASE)/man/man1; fi
- if [ ! -d $(BASE)/man/man3 ]; then mkdir $(BASE)/man/man3; fi
- if [ ! -d $(BASE)/man/man8 ]; then mkdir $(BASE)/man/man8; fi
- cp $(EXES) $(BASE)/bin
- cp $(INCS) $(BASE)/include
- cp $O/lmbench.a $(BASE)/lib/libmbench.a
- cp $(MAN1) $(BASE)/man/man1
- cp $(MAN3) $(BASE)/man/man3
- cp $(MAN8) $(BASE)/man/man8
- # No special handling for all these
- all: $(EXES) $O/lmbench
- Wall:
- @env OS="${OS}" CC="${CC}" CFLAGS="-Wall -ansi" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" ../scripts/build all
- debug:
- @env OS="${OS}" CC="${CC}" CFLAGS="-g -O -D_DEBUG" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" ../scripts/build all
- dist:
- SRCDIR=`pwd`; \
- ROOT=`cat ../CVS/Root`; \
- MODULE=`cat ../CVS/Repository`; \
- VERSION=`../scripts/version`; \
- cd /tmp \
- && cvs -d$${ROOT} export -Dtomorrow \
- -d $${MODULE}-$${VERSION} $${MODULE} \
- && chmod +x $${MODULE}-$${VERSION}/scripts/[a-z]* \
- && mv $${MODULE}-$${VERSION} lmbench-$${VERSION} \
- && tar czf $${SRCDIR}/../../lmbench-$${VERSION}.tgz \
- lmbench-$${VERSION} \
- && rm -rf lmbench-$${VERSION};
- clean:
- /bin/rm -f ../bin/*/CONFIG.* ../bin/*.[oa] ../bin/*/*.[oa]
- clobber:
- /bin/rm -rf ../bin* SHAR
- shar:
- cd ../.. && shar lmbench/Results/Makefile $(SAMPLES) lmbench/scripts/* lmbench/src/Makefile lmbench/src/*.[ch] > lmbench/SHAR
- depend: ../scripts/depend
- ../scripts/depend
- $(UTILS):
- @cd ../scripts; make get
- $O/lmbench : ../scripts/lmbench version.h
- rm -f $O/lmbench
- VERSION=`../scripts/version`; \
- sed -e "s/<version>/$${VERSION}/g" < ../scripts/lmbench > $O/lmbench
- chmod +x $O/lmbench
- $O/lmbench.a: $(LIBOBJS)
- /bin/rm -f $O/lmbench.a
- $(AR) $(ARCREATE) $O/lmbench.a $(LIBOBJS)
- -ranlib $O/lmbench.a
- $O/lib_timing.o : lib_timing.c $(INCS)
- $(COMPILE) -c lib_timing.c -o $O/lib_timing.o -lm
- $O/lib_confidence.o : lib_confidence.c $(INCS)
- $(COMPILE) -c lib_confidence.c -o $O/lib_confidence.o -lm
- $O/lib_tcp.o : lib_tcp.c $(INCS)
- $(COMPILE) -c lib_tcp.c -o $O/lib_tcp.o -lm
- $O/lib_udp.o : lib_udp.c $(INCS)
- $(COMPILE) -c lib_udp.c -o $O/lib_udp.o -lm
- $O/lib_unix.o : lib_unix.c $(INCS)
- $(COMPILE) -c lib_unix.c -o $O/lib_unix.o -lm
- $O/lib_stats.o : lib_stats.c $(INCS)
- $(COMPILE) -c lib_stats.c -o $O/lib_stats.o -lm
- # Do not remove the next line, $(MAKE) depend needs it
- # MAKEDEPEND follows
- $O/rhttp: rhttp.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/rhttp rhttp.c $O/lmbench.a $(LDLIBS) -lm
- $O/http: http.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/http http.c $O/lmbench.a $(LDLIBS) -lm
- $O/flushdisk: flushdisk.c
- $(COMPILE) -DMAIN -o $O/flushdisk flushdisk.c -lm
- $O/mhz: mhz.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/mhz mhz.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_ctx: lat_ctx.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/lat_ctx lat_ctx.c $O/lmbench.a $(LDLIBS) -lm
- $O/lmhttp: lmhttp.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/lmhttp lmhttp.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_http: lat_http.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/lat_http lat_http.c $O/lmbench.a $(LDLIBS) -lm
- $O/bw_file_rd: bw_file_rd.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/bw_file_rd bw_file_rd.c $O/lmbench.a $(LDLIBS) -lm
- $O/bw_mem: bw_mem.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/bw_mem bw_mem.c $O/lmbench.a $(LDLIBS) -lm
- $O/bw_mmap_rd: bw_mmap_rd.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/bw_mmap_rd bw_mmap_rd.c $O/lmbench.a $(LDLIBS) -lm
- $O/bw_pipe: bw_pipe.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/bw_pipe bw_pipe.c $O/lmbench.a $(LDLIBS) -lm
- $O/bw_tcp: bw_tcp.c bench.h timing.h stats.h lib_tcp.h $O/lmbench.a
- $(COMPILE) -o $O/bw_tcp bw_tcp.c $O/lmbench.a $(LDLIBS) -lm
- $O/bw_unix: bw_unix.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/bw_unix bw_unix.c $O/lmbench.a $(LDLIBS) -lm
- $O/disk: disk.c flushdisk.c bench.h timing.h stats.h lib_tcp.h $O/lmbench.a
- $(COMPILE) -o $O/disk disk.c flushdisk.c $O/lmbench.a $(LDLIBS) -lm
- $O/clock: clock.c timing.h stats.h bench.h version.h $O/lmbench.a
- $(COMPILE) -o $O/clock clock.c $O/lmbench.a $(LDLIBS) -lm
- $O/hello: hello.c $O/lmbench.a
- $(COMPILE) -o $O/hello hello.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_alarm: lat_alarm.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/lat_alarm lat_alarm.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_connect: lat_connect.c lib_tcp.c bench.h lib_tcp.h timing.h stats.h $O/lmbench.a
- $(COMPILE) -o $O/lat_connect lat_connect.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_unix_connect: lat_unix_connect.c lib_tcp.c bench.h lib_tcp.h timing.h stats.h $O/lmbench.a
- $(COMPILE) -o $O/lat_unix_connect lat_unix_connect.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_fcntl: lat_fcntl.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/lat_fcntl lat_fcntl.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_fs: lat_fs.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/lat_fs lat_fs.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_mem_rd: lat_mem_rd.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/lat_mem_rd lat_mem_rd.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_mem_rd2: lat_mem_rd2.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/lat_mem_rd2 lat_mem_rd2.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_mem_wr: lat_mem_wr.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/lat_mem_wr lat_mem_wr.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_mem_wr2: lat_mem_wr2.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/lat_mem_wr2 lat_mem_wr2.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_mmap: lat_mmap.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/lat_mmap lat_mmap.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_mmaprd: lat_mmaprd.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/lat_mmaprd lat_mmaprd.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_pagefault: lat_pagefault.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/lat_pagefault lat_pagefault.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_pipe: lat_pipe.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/lat_pipe lat_pipe.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_fifo: lat_fifo.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/lat_fifo lat_fifo.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_proc: lat_proc.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/lat_proc lat_proc.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_rpc: lat_rpc.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/lat_rpc lat_rpc.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_sig: lat_sig.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/lat_sig lat_sig.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_syscall: lat_syscall.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/lat_syscall lat_syscall.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_select: lat_select.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/lat_select lat_select.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_tcp: lat_tcp.c timing.h stats.h bench.h lib_tcp.h $O/lmbench.a
- $(COMPILE) -o $O/lat_tcp lat_tcp.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_udp: lat_udp.c timing.h stats.h bench.h lib_udp.h $O/lmbench.a
- $(COMPILE) -o $O/lat_udp lat_udp.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_unix: lat_unix.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -g3 -o $O/lat_unix lat_unix.c $O/lmbench.a $(LDLIBS) -lm
- $O/lib_tcp: lib_tcp.c bench.h lib_tcp.h $O/lmbench.a
- $(COMPILE) -o $O/lib_tcp lib_tcp.c $O/lmbench.a $(LDLIBS) -lm
- $O/lib_udp: lib_udp.c bench.h lib_udp.h $O/lmbench.a
- $(COMPILE) -o $O/lib_udp lib_udp.c $O/lmbench.a $(LDLIBS) -lm
- $O/lat_msg: lat_msg.c bench.h $O/lmbench.a
- $(COMPILE) -o $O/lat_msg lat_msg.c $O/lmbench.a $(LDLIBS) -lm
- $O/lmdd: lmdd.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/lmdd lmdd.c $O/lmbench.a $(LDLIBS) -lm
- $O/enough: enough.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/enough enough.c $O/lmbench.a $(LDLIBS) -lm
- $O/loop_o: loop_o.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/loop_o loop_o.c $O/lmbench.a $(LDLIBS) -lm
- $O/timing_o: timing_o.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/timing_o timing_o.c $O/lmbench.a $(LDLIBS) -lm
- $O/memsize: memsize.c timing.h stats.h bench.h $O/lmbench.a
- $(COMPILE) -o $O/memsize memsize.c $O/lmbench.a $(LDLIBS) -lm
- $O/msleep: msleep.c timing.h stats.h bench.h
- $(COMPILE) -o $O/msleep msleep.c -lm
|