mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-12-03 02:32:04 +08:00
103 lines
2.9 KiB
Makefile
103 lines
2.9 KiB
Makefile
|
|
# Things that Make needs
|
|
.SUFFIXES:
|
|
.SUFFIXES: .c .o
|
|
|
|
|
|
# Programs
|
|
SHELL=/bin/sh
|
|
|
|
# MPI include directories and libs
|
|
MPI_INC=-I$(HOME)/ROMIO/include
|
|
MPI_LIBS=$(HOME)/ROMIO/lib/IRIX64/libmpio.a -lmpi
|
|
|
|
CC=cc -ansi -64
|
|
# 1429 -- long long non-standard
|
|
WARNING=-woff 1429
|
|
CFLAGS=-g $(WARNING)
|
|
CPPFLAGS=-I. -I../src $(MPI_INC)
|
|
RM=rm -f
|
|
|
|
# temporary test files that can be cleaned away
|
|
MOSTLYCLEAN=ParaEg1.h5 Eg1.h5 shdf5.c go
|
|
|
|
# The default is to build the library and programs.
|
|
all: testphdf5 shdf5
|
|
|
|
|
|
# These are our main targets. They should be listed in the order to be
|
|
# executed, generally most specific tests to least specific tests.
|
|
PROGS=testphdf5 shdf5
|
|
TESTS=$(PROGS)
|
|
|
|
# Source and object files for programs... The PROG_SRC list contains all the
|
|
# source files and is used for things like dependencies, archiving, etc. The
|
|
# other source lists are for the individual tests, the files of which may
|
|
# overlap with other tests.
|
|
PROG_SRC=testphdf5.c shdf5.c
|
|
PROG_OBJ=$(PROG_SRC:.c=.o)
|
|
|
|
TESTPHDF5_SRC=testphdf5.c
|
|
TESTPHDF5_OBJ=$(TESTPHDF5_SRC:.c=.o)
|
|
|
|
# Private header files (not to be installed)...
|
|
PRIVATE_HDR=testhdf5.h
|
|
|
|
# How to build the programs...
|
|
testphdf5: $(TESTPHDF5_OBJ) ../src/libhdf5.a
|
|
$(CC) $(CFLAGS) -o $@ $(TESTPHDF5_OBJ) ../src/libhdf5.a $(MPI_LIBS)
|
|
|
|
shdf5: testphdf5.c ../src/libhdf5.a
|
|
cp testphdf5.c shdf5.c
|
|
$(CC) -UHAVE_PARALLEL $(CFLAGS) $(CPPFLAGS) -o $@ $@.c ../src/libhdf5.a $(MPI_LIBS)
|
|
|
|
|
|
#------------------------------------------------------------- -*- makefile -*-
|
|
# The following section of this makefile comes from the
|
|
# `./config/conclude' file which was generated with config.status
|
|
# from `./config/conclude.in'.
|
|
#------------------------------------------------------------------------------
|
|
|
|
|
|
progs: $(PROGS)
|
|
|
|
# Runs each test in order, passing $(TEST_FLAGS) to the program.
|
|
test: $(PROGS)
|
|
mpirun -np 2 testphdf5
|
|
mpirun -np 1 shdf5
|
|
|
|
# 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) $(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) $(PROGS) $(CLEAN)
|
|
|
|
# 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 *.bak *.old *.new $(DISTCLEAN)
|
|
@if test -f 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
|
|
|
|
# Implicit rules
|
|
.c.o:
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -c $<
|
|
|
|
|