summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gmail.com>2008-11-11 21:27:09 +0000
committerMatt Turner <mattst88@gmail.com>2008-11-11 21:27:09 +0000
commit91b4edf69e5adf9c40edcaff38b880218b7b0d9d (patch)
tree85b654192fa2ce167f4899f6f0a4ca14b1acdb13 /Makefile
Initial Import
git-svn-id: svn://mattst88.com/svn/cleanbench/trunk@1 0d43b9a7-5ab2-4d7b-af9d-f64450cef757
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile153
1 files changed, 153 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..5045c77
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,153 @@
+# Makefile for nbench, December 11, 1997, Uwe F. Mayer <mayer@tux.org>
+# Updated February 18, 2003
+
+default: nbench
+
+##########################################################################
+# If you are using gcc-2.7.2.3 or earlier:
+# The optimizer of gcc has a bug and in general you should not specify
+# -funroll-loops together with -O (or -O2, -O3, etc.)
+# This bug is supposed to be fixed with release 2.8 of gcc.
+#
+# This bug does NOT seem to have an effect on the correct compilation
+# of this benchmark suite on my Linux box. However, it leads to
+# the dreaded "internal compiler error" message on our alpha
+# running DEC Unix 4.0b. The Linux-binary that was used to obtain
+# the baseline results was nevertheless compiled with
+# CFLAGS = -s -static -Wall -O3 -fomit-frame-pointer -funroll-loops
+#
+# You should leave -static in the CFLAGS so that your sysinfo can be
+# compiled into the executable.
+
+CC = gcc
+
+# generic options for gcc
+CFLAGS = -s -static -Wall -O3
+
+# if your gcc lets you do it, then try this one
+#CFLAGS = -s -static -Wall -O3 -fomit-frame-pointer -funroll-loops
+
+# for gcc on an older Pentium type processor you can try the following
+#CFLAGS = -s -static -O3 -fomit-frame-pointer -Wall -m486 \
+# -fforce-addr -fforce-mem -falign-loops=2 -falign-functions=2 \
+# -falign-jumps=2 -funroll-loops
+
+# for a newer gcc on a newer Pentium type processor you can try the following
+#CFLAGS = -s -static -O3 -fomit-frame-pointer -Wall -march=i686 \
+# -fforce-addr -fforce-mem -falign-loops=2 -falign-functions=2 \
+# -falign-jumps=2 -funroll-loops
+
+# for a newer gcc on an Athlon XP type processor you can try the following
+#CFLAGS = -s -static -O3 -fomit-frame-pointer -Wall -march=athlon-xp \
+# -fforce-addr -fforce-mem -falign-loops=2 -falign-functions=2 \
+# -falign-jumps=2 -funroll-loops
+
+# For debugging using gcc
+#CFLAGS = -g -O3 -Wall -DDEBUG
+
+##########################################################################
+# For Linux machines with more than one binary format.
+# The default binaries, depends on your system whether it's elf or aout.
+MACHINE=
+# a.out code for linux on an elf machine
+#MACHINE= -bi486-linuxaout
+# elf code for linux on an a.out machine
+#MACHINE= -bi486-linuxelf
+# if you want a different compiler version and different binaries, for example
+#MACHINE= -V2.7.2 -bi486-linuxaout
+
+##########################################################################
+# Read the file README.nonlinux if you are not using Linux
+
+# for DEC Unix using cc you can try
+#CC = cc
+#CFLAGS = -O3
+#LINKFLAGS = -s -non_shared
+
+# for SunOS using cc
+#CC = cc
+#CFLAGS = -O3 -s
+
+# for DEC Ultrix using cc
+#CC = cc
+#CFLAGS = -O2
+#LINKFLAGS = -s
+
+# for a Mac with OsX and the Darwin environment
+#CC = cc
+#CFLAGS = -O3 -DOSX
+
+# For debugging using cc
+#CC = cc
+#CFLAGS = -g -DDEBUG
+
+##########################################################################
+# If your system does not understand the system command "uname -s -r"
+# then comment this out
+
+# NO_UNAME= -DNO_UNAME
+
+##########################################################################
+# For any Unix flavor you need -DLINUX
+# You also need -DLINUX to get the new indices
+
+DEFINES= -DLINUX $(NO_UNAME)
+
+##########################################################################
+# For LINUX-like systems with gcc
+sysinfoc.c: Makefile
+ ./sysinfo.sh $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)
+
+sysinfo.c: Makefile
+ ./sysinfo.sh $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)
+
+##########################################################################
+# For non-LINUX systems
+# Edit the files sysinfo.c and sysinfoc.c to include your system information
+# and take sysinfo.c and sysinfoc.c out of the dependencies for nbench0.o
+
+hardware.o: hardware.c hardware.h Makefile
+ $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\
+ -c hardware.c
+
+nbench0.o: nbench0.h nbench0.c nmglobal.h pointer.h hardware.h\
+ Makefile sysinfo.c sysinfoc.c
+ $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\
+ -c nbench0.c
+
+emfloat.o: emfloat.h emfloat.c nmglobal.h pointer.h Makefile
+ $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\
+ -c emfloat.c
+
+pointer.h: pointer Makefile
+ $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\
+ -o pointer pointer.c
+ rm -f pointer.h
+ if [ "4" = `./pointer` ] ; then touch pointer.h ;\
+ else echo "#define LONG64" >pointer.h ; fi
+
+misc.o: misc.h misc.c Makefile
+ $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\
+ -c misc.c
+
+nbench1.o: nbench1.h nbench1.c wordcat.h nmglobal.h pointer.h Makefile
+ $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\
+ -c nbench1.c
+
+sysspec.o: sysspec.h sysspec.c nmglobal.h pointer.h Makefile
+ $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\
+ -c sysspec.c
+
+nbench: emfloat.o misc.o nbench0.o nbench1.o sysspec.o hardware.o
+ $(CC) $(MACHINE) $(DEFINES) $(CFLAGS) $(LINKFLAGS)\
+ emfloat.o misc.o nbench0.o nbench1.o sysspec.o hardware.o\
+ -o nbench -lm
+
+##########################################################################
+
+clean:
+ - /bin/rm -f *.o *~ \#* core a.out hello sysinfo.c sysinfoc.c \
+ bug pointer pointer.h debugbit.dat
+
+mrproper: clean
+ - /bin/rm -f nbench