#======================================================================= # Makefile for files in /u/sy/beebe/src/benchmarks/java/c/ # # [25-Jun-1998] #======================================================================= # Program definitions PROGRAM = CHANGE-THIS-VALUE PROGLIB = CHANGE-THIS-VALUE VERSION = 1.0 #======================================================================= # Installation locations prefix = /usr/local bindir = $(prefix)/bin catdir = $(prefix)/man/cat$(manext) libdir = $(libtop)/$(PROGRAM)-$(VERSION) libtop = $(prefix)/$(PROGLIB)/ mandir = $(prefix)/man/man$(manext) manext = 1 shrlibdir = $(libtop)/$(PROGRAM)-$(VERSION) shrlibtop = $(prefix)/share/$(PROGLIB)/ #======================================================================= # Macro definitions AVERAGE = $(AWK) 'BEGIN {min = 1.e38; max = -min} \ /times for array with leading dimension of 201/ { \ getline ; \ Record_Count++ ; \ mflops = 0 + $$4 / 1000.0 ; \ min = ((mflops < min) ? mflops : min); \ max = ((mflops > max) ? mflops : max); \ sum += mflops} \ END {printf("Average Mflops/s: %.3f in %d trials: range = %.3f .. %.3f\n", \ sum/Record_Count, Record_Count, min, max)}' AWK = awk CHMOD = chmod CP = /bin/cp -p CP = rcp -p LIBFILES = /dev/null LIBS = -lm LN = ln LS = ls MKDIR = mkdir -p RM = /bin/rm -f SHELL = /bin/sh SHRLIBFILES = /dev/null #======================================================================= # Compiler flags and source files CDEFINES = -DDP -DUNROLL CINCLUDES = CFLAGS = $(COPT) $(CDEFINES) $(CINCLUDES) $(CLOCAL) # -Xa selects Standard C, which is needed to expose getrusage() CLOCAL = -Xa COPT = -g COPT = COBJS = $(CSRCS:.c=.o) CSRCS = linpackc.c #======================================================================= # Suffixes and extra rule #======================================================================= # Targets: all: linpack linpack: linpack-g linpack-O linpack-O5 linpack-g: @if test -d RESULTS ; then true ; else mkdir RESULTS ; fi @echo C with debugging compilation... @$(CP) linpackc.c /tmp ; \ TOPDIR=$$PWD ; \ cd /tmp ; \ $(CC) -g $(CFLAGS) linpackc.c -o linpackc $(LIBS) >/dev/null 2>&1; \ for f in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16; \ do \ ./linpackc ; \ done 2>&1 | \ tee $$TOPDIR/RESULTS/$@.debug.`hostname` | \ $(AVERAGE) @-$(RM) /tmp/linpackc /tmp/linpackc.c /tmp/linpackc.o linpack-O: @if test -d RESULTS ; then true ; else mkdir RESULTS ; fi @echo C with optimizing compilation... @$(CP) linpackc.c /tmp ; \ TOPDIR=$$PWD ; \ cd /tmp ; \ $(CC) -O $(CFLAGS) linpackc.c -o linpackc $(LIBS) >/dev/null 2>&1 ; \ for f in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16; \ do \ ./linpackc ; \ done 2>&1 | \ tee $$TOPDIR/RESULTS/$@.opt.`hostname` | \ $(AVERAGE) @-$(RM) /tmp/linpackc /tmp/linpackc.c /tmp/linpackc.o linpack-O5: @if test -d RESULTS ; then true ; else mkdir RESULTS ; fi @echo C with super optimizing compilation... @$(CP) linpackc.c /tmp ; \ TOPDIR=$$PWD ; \ cd /tmp ; \ $(CC) -xO5 -dalign -xlibmil -xcg92 $(CFLAGS) linpackc.c -o linpackc $(LIBS) >/dev/null 2>&1 ; \ for f in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16; \ do \ ./linpackc ; \ done 2>&1 | \ tee $$TOPDIR/RESULTS/$@.topopt.`hostname` | \ $(AVERAGE) @-$(RM) /tmp/linpackc /tmp/linpackc.c /tmp/linpackc.o clean: -$(RM) *.i -$(RM) *.o -$(RM) *~ -$(RM) \#* -$(RM) a.out -$(RM) core clobber: distclean distclean: mostlyclean -$(RM) $(PROGRAM) install: install-exe install-lib install-shrlib install-man install-show install-exe: uninstall-exe $(CP) $(PROGRAM) $(bindir)/$(PROGRAM) $(LN) $(bindir)/$(PROGRAM) $(bindir)/$(PROGRAM)-$(VERSION) $(CHMOD) 775 $(bindir)/$(PROGRAM) $(bindir)/$(PROGRAM)-$(VERSION) install-lib: uninstall-lib ## $(MKDIR) $(libtop) ## @if test -d $(libtop) ; then true ; else echo Cannot create $(libtop) ; exit 1 ; fi ## $(MKDIR) $(libdir) ## @if test -d $(libdir) ; then true ; else echo Cannot create $(libdir) ; exit 1 ; fi ## $(CP) $(LIBFILES) $(libdir)/ ## $(CHMOD) -R 664 $(libdir)/ install-man: uninstall-man $(CP) $(PROGRAM).man $(mandir)/$(PROGRAM).$(manext) $(CHMOD) 775 $(mandir)/$(PROGRAM).$(manext) install-show: @echo '' @echo Installed files... @$(LS) -l $(bindir)/$(PROGRAM) $(bindir)/$(PROGRAM)-$(VERSION) \ $(mandir)/$(PROGRAM).$(manext) @if test -d $(libdir) ; then $(LS) -lR $(libdir) ; fi @echo '' install-shrlib: uninstall-shrlib ## $(MKDIR) $(shrlibtop) ## @if test -d $(shrlibtop) ; then true ; else echo Cannot create $(shrlibtop) ; exit 1 ; fi ## $(MKDIR) $(shrlibdir) ## @if test -d $(shrlibdir) ; then true ; else echo Cannot create $(shrlibdir) ; exit 1 ; fi ## $(CP) $(SHRLIBFILES) $(shrlibdir)/ ## $(CHMOD) -R 664 $(shrlibdir)/ maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." mostlyclean: clean uninstall: uninstall-exe uninstall-lib install-shrlib uninstall-man uninstall-exe: -$(RM) $(bindir)/$(PROGRAM) -$(RM) $(bindir)/$(PROGRAM)-$(VERSION) uninstall-lib: ## -$(RM) -r $(libdir) uninstall-man: -$(RM) $(mandir)/$(PROGRAM).$(manext) -$(RM) $(catdir)/$(PROGRAM).$(manext) uninstall-shrlib: ## -$(RM) -r $(shrlibdir) #======================================================================= # File dependencies #=======================================================================