1## 2## Copyright (C) by Argonne National Laboratory 3## See COPYRIGHT in top-level directory 4## 5 6CC = @CC@ 7AR = @AR@ 8LIBNAME = @LIBNAME@ 9RANLIB = @RANLIB@ 10srcdir = @srcdir@ 11CC_SHL = @CC_SHL@ 12SHLIBNAME = @SHLIBNAME@ 13 14INCLUDE_DIR = -I@MPI_INCLUDE_DIR@ -I../../include -I${srcdir}/../../mpi-io -I${srcdir}/../../adio/include -I../../adio/include 15CFLAGS = -DHAVE_MPI_INFO_SRC @CFLAGS@ $(MPIOPROFILE) $(INCLUDE_DIR) 16 17top_builddir = @main_topbuild_dir@ 18LIBTOOL = @LIBTOOL@ 19C_COMPILE_SHL = $(CC_SHL) 20 21@VPATH@ 22 23MPIO_OBJECTS = info_create.o info_dup.o info_get.o info_getnth.o \ 24 info_set.o info_delete.o info_free.o info_getnks.o info_getvln.o \ 25 info_c2f.o info_f2c.o 26 27MPIO_TMP_POBJECTS = info_create.p info_dup.p info_get.p info_getnth.p \ 28 info_set.p info_delete.p info_free.p info_getnks.p info_getvln.p \ 29 info_c2f.p info_f2c.p 30 31MPIO_REAL_POBJECTS = _info_create.o _info_dup.o _info_get.o _info_getnth.o \ 32 _info_set.o _info_delete.o _info_free.o _info_getnks.o _info_getvln.o \ 33 _info_c2f.o _info_f2c.o 34 35all: $(LIBNAME) 36 @if [ "@ENABLE_SHLIB@" != "none" ] ; then \ 37 $(MAKE) $(SHLIBNAME).la ;\ 38 fi 39 40.SUFFIXES: $(SUFFIXES) .p .sp .lo 41 42.c.o: 43 $(CC) $(CFLAGS) -c $< 44 45.c.lo: 46 $(C_COMPILE_SHL) $(CFLAGS) -c $< -o _s$*.o 47 @mv -f _s$*.o $*.lo 48 49.c.p: 50 @cp $(srcdir)/$*.c _$*.c 51 $(CC) $(CFLAGS) -c _$*.c 52 @rm -f _$*.c 53 54.c.sp: 55 $(C_COMPILE_SHL) $(CFLAGS) -c $< -o _$*.lo 56 57profile: $(MPIO_REAL_POBJECTS) 58 $(AR) $(LIBNAME) $(MPIO_REAL_POBJECTS) 59 $(RANLIB) $(LIBNAME) 60 @if [ "@ENABLE_SHLIB@" != "none" ] ; then \ 61 $(MAKE) P$(SHLIBNAME).la ;\ 62 fi 63 @rm -f _*.o 64 65$(LIBNAME): $(MPIO_OBJECTS) 66 $(AR) $(LIBNAME) $(MPIO_OBJECTS) 67 $(RANLIB) $(LIBNAME) 68 69MPIO_LOOBJECTS = $(MPIO_OBJECTS:.o=.lo) 70$(SHLIBNAME).la: $(MPIO_LOOBJECTS) 71 $(AR) $(SHLIBNAME).la $(MPIO_LOOBJECTS) 72 73# -------------------------------------------------------------------------- 74# We use P$(SHLBNAME) simply to distinguish the regular lib build from the 75# profiling library build 76MPIO_LOPOBJECTS = $(MPIO_REAL_POBJECTS:.o=.lo) 77MPIO_TMP_LOPOBJECTS = ${MPIO_TMP_POBJECTS:.p=.sp} 78P$(SHLIBNAME).la: $(MPIO_TMP_LOPOBJECTS) 79 $(AR) $(SHLIBNAME).la $(MPIO_LOPOBJECTS) 80# -------------------------------------------------------------------------- 81 82clean: 83 @rm -f *.o *.lo *.gcno *.gcda *.bb *.bbg 84 @rm -f ${srcdir}/*.gcno ${srcdir}/*.gcda 85 @rm -f ${srcdir}/*.bb ${srcdir}/*.bbg 86 87 88# Rules for the profiling objects 89info_create.o: infocreate.c 90 $(CC) $(CFLAGS) -c $(srcdir)/infocreate.c -o _info_create.o 91info_dup.o: infodup.c 92 $(CC) $(CFLAGS) -c $(srcdir)/infodup.c -o _info_dup.o 93info_get.o: infoget.c 94 $(CC) $(CFLAGS) -c $(srcdir)/infoget.c -o _info_get.o 95info_getnth.o: infogetnth.c 96 $(CC) $(CFLAGS) -c $(srcdir)/infogetnth.c -o _info_getnth.o 97info_set.o: infoset.c 98 $(CC) $(CFLAGS) -c $(srcdir)/infoset.c -o _info_set.o 99info_delete.o: infodelete.c 100 $(CC) $(CFLAGS) -c $(srcdir)/infodelete.c -o _info_delete.o 101info_free.o: infofree.c 102 $(CC) $(CFLAGS) -c $(srcdir)/infofree.c -o _info_free.o 103info_getnks.o: infogetnks.c 104 $(CC) $(CFLAGS) -c $(srcdir)/infogetnks.c -o _info_getnks.o 105info_getvln.o: infogetvln.c 106 $(CC) $(CFLAGS) -c $(srcdir)/infogetvln.c -o _info_getvln.o 107info_c2f.o: infoc2f.c 108 $(CC) $(CFLAGS) -c $(srcdir)/infoc2f.c -o _info_c2f.o 109info_f2c.o: infof2c.c 110 $(CC) $(CFLAGS) -c $(srcdir)/infof2c.c -o _info_f2c.o 111