hdf5/pablo/Makefile.in
Quincey Koziol f71aa7cb6c [svn-r2690] Purpose:
Bug fix
Description:
    Non-portable constructs are causing make to fail on some machines.
Solution:
    Replaced ":=" assignments with "=" assignments.
Platforms tested:
    Solaris 2.6 (baldric) & gmake
    Solaris 2.7 (arabica) & make (a SYSV make)
    FreeBSD 4.1.1 (hawkwind) & make (a BSD make)
2000-10-17 16:23:20 -05:00

186 lines
6.2 KiB
Makefile

## HDF5 Library Makefile(.in)
##
## Copyright (C) 1997 National Center for Supercomputing Applications.
## All rights reserved.
##
##
top_srcdir=@top_srcdir@
top_builddir=..
srcdir=@srcdir@
@COMMENCE@
TRACE=perl ../bin/trace
###############################################################################
## MODIFICATONS FOR CREATING THE PABLO INSTRUMENTED LIBRARY libhdf5-inst.a
## For Pablo instrumenation of parallel code, remove the # from in front of
## PABLO_MPIO_FLAGS.
## Set PABLO_INC equal to the path of the include directory for the Pablo
## TraceLibrary
###############################################################################
#PABLO_MPIO_FLAGS = -DHAVE_PARALLEL -DHAVE_MPIOTRACE
PABLO_INC =
PABLO_FLAGS = -I. -I../src -I$(PABLO_INC) -DHAVE_PABLO $(PABLO_MPIO_FLAGS)
## This is our main target:
LIB=libhdf5-inst.a
#SRCDIRS := ./. ../src/.
SRCDIRS = ./. ../src/.
# Took out the GNU'isms for the SRCFILES and LIB_SRC variables.
# This may cause problems in two ways: any changes to the SRCDIRS variable
# should be make to the SRCFILES macro also and the LIB_SRC variable now has
# directory paths included in it (which may cause problems somewhere). - QAK
#SRCFILES := $(foreach DIR,$(SRCDIRS),$(wildcard $(DIR)/*.c))
#SRCFILES := *.c ../src/*.c
SRCFILES = *.c ../src/*.c
#LIB_SRC := $(notdir $(SRCFILES))
#LIB_SRC := $(SRCFILES)
LIB_SRC = $(SRCFILES)
#LIB_COBJ := $(LIB_SRC:.c=.o)
LIB_COBJ = $(LIB_SRC:.c=.o)
#LIB_FOBJ := PabloHDFff.o
LIB_FOBJ = PabloHDFff.o
#LIB_OBJ := $(LIB_FOBJ) $(LIB_COBJ)
LIB_OBJ = $(LIB_FOBJ) $(LIB_COBJ)
copy_src:
cp ../src/*.c .
touch copy_src
# 'vpath' directive is only supported in gmake, take out - QAK
#vpath %.c $(shell echo $(SRCDIRS) | sed 's/ /:/g')
## Pablo header files (to be installed)...
PABLO_HDR = HDFentryNames.h HDFidList.h ProcIDs.h HDFTrace.h ProcTrace.h \
ProcTrace.inc
##------------------------------------------------------------ -*- makefile -*-
## The following section of this makefile comes from the
## `./config/conclude' file which was generated with config.status
## from `./config/conclude.in'.
##-----------------------------------------------------------------------------
## This is the target for the library described in the main body of the
## makefile.
##
lib: $(LIB)
$(LIB) __no_library__: $(LIB_OBJ)
$(AR) -rc $@ $(LIB_OBJ)
$(RANLIB) $@
##
## Dummy this out so that there is no redundant make of the library
##
progs:
## Build a tags file in this directory.
TAGS: $(LIB_SRC)
$(RM) $@
-etags $(LIB_SRC)
##
## Dummy this out so that there is no redundant make of the library
##
tests:
## Install the library, the public header files, and programs.
install: $(LIB)
@test -d $(libdir) || mkdir $(libdir)
@for f in X $(LIB); do \
if test $$f != X; then \
(set -x; $(INSTALL_DATA) $$f $(libdir)/. || exit 1); \
fi; \
done
@test -d $(includedir) || mkdir $(includedir)
@for f in X $(PABLO_HDR); do \
if test $$f != X; then \
(set -x; $(INSTALL_DATA) $$f $(includedir)/. || exit 1); \
fi \
done
## Removes those things that `make install' (would have) installed.
uninstall:
@if test "X$(LIB)" != X; then \
set -x; cd $(libdir) && $(RM) $(LIB); \
fi
## Removes temporary files without removing the final target files. That is,
## remove things like object files but not libraries or executables.
##
mostlyclean:
$(RM) $(LIB_OBJ) $(TEST_OBJ) $(PROG_OBJ) $(MOSTLYCLEAN)
## Like `mostlyclean' except it also removes the final targets: things like
## libraries and executables. This target doesn't remove any file that
## is part of the HDF5 distribution.
##
clean: mostlyclean
$(RM) $(LIB) $(TESTS) $(PROGS) $(CLEAN) $(PABLO_CLEAN) H*.c copy_src
## Like `clean' except it also removes files that were created by running
## configure. If you've unpacked the source and built HDF5 without creating
## any other files, then `make distclean' will leave only the files that were
## in the distribution.
##
distclean: clean
$(RM) .depend TAGS *~ core *.core *.bak *.old *.new $(DISTCLEAN)
@if test -f $(srcdir)/Makefile.in; then \
(set -x; $(RM) Makefile); \
fi
## Like `distclean' except it deletes all files that can be regenerated from
## the makefile, including those generated from autoheader and autoconf.
##
maintainer-clean: distclean
$(RM) *~ core core.* *.core *.bak *.contrib gmon.out
%.o: %.c
$(CC) $(CFLAGS) $(CPPFLAGS) $(PABLO_FLAGS) -c $*.c
PABLO_INCLUDES = HDFentryNames.h HDFidList.h ProcIDs.h HDFTrace.h ProcTrace.h \
ProcTrace.inc
PABLO_CLEAN = HDFentryNames.h HDFidList.h ProcMasks.h HDFentries.txt
HDFentries.txt: ../src/*.c
grep "FUNC_ENTER.*(H5" ../src/*.c | \
sed "s/.*(H5/H5/;s/[,)].*//" | sort -u > $@
HDFentryNames.h: HDFentries.txt
sed "s/.*/\"&\",/" $? > $@
HDFidList.h: HDFentries.txt
sed "s/.*/ID_&,/" $? > $@
echo ID_ALLHDF, >> $@
grep "#define[ ]*PABLO_MASK" ../src/*.c | \
sed "s/.*H5/ID_H5/;s/mask.*/c,/" | sort -u >> $@
ProcMasks.h: ../src/*.c
grep "#define[ ]*PABLO_MASK" ../src/*.c | \
sed "s/.*[ ]H5/H5/;s/_mask.*//;s/.*/#define &_mask ID_&_c/" >$@
ProcIDs.h: HDFidList.h ProcMasks.h
ProcTrace.inc: HDFidList.h
sed "=" $? | sed -f PabloSedscr > $@
echo " integer RuntimeTrace" >> $@
echo " integer SummaryTrace" >> $@
echo " integer MPIRuntimeTrace" >> $@
echo " integer MPISummaryTrace" >> $@
echo " integer NoTrace" >> $@
echo " parameter (RuntimeTrace = 0)" >> $@
echo " parameter (SummaryTrace = 1)" >> $@
echo " parameter (MPIRuntimeTrace = 2)" >> $@
echo " parameter (MPISummaryTrace = 3)" >> $@
echo " parameter (NoTrace = 4)" >> $@
PabloHDF.o: PabloHDF.c $(PABLO_INCLUDES) copy_src
$(CC) $(CFLAGS) $(CPPFLAGS) $(PABLO_FLAGS) -c $<
PabloHDF_RT.o: PabloHDF_RT.c $(PABLO_INCLUDES) copy_src
$(CC) $(CFLAGS) $(CPPFLAGS) $(PABLO_FLAGS) -c $<
PabloHDF_SDDF.o: PabloHDF_SDDF.c $(PABLO_INCLUDES) copy_src
$(CC) $(CFLAGS) $(CPPFLAGS) $(PABLO_FLAGS) -c $<
PabloHDFff.o: PabloHDFff.f $(PABLO_INCLUDES) copy_src
$(F77) -O -c $<