# Copyright 1998-1999, University of Notre Dame.
# Authors: Jeffrey M. Squyres, Kinis L. Meyer, with M. D. McNally 
#          and Andrew Lumsdaine
#
# This file is part of the Notre Dame LAM implementation of MPI.
#
# You should have received a copy of the License Agreement for the
# Notre Dame LAM implementation of MPI along with the software; see
# the file LICENSE.  If not, contact Office of Research, University of
# Notre Dame, Notre Dame, IN 46556.
#
# Permission to modify the code and to distribute modified code is
# granted, provided the text of this NOTICE is retained, a notice that
# the code was modified is included with the above COPYRIGHT NOTICE and
# with the COPYRIGHT NOTICE in the LICENSE file, and that the LICENSE
# file is distributed with the modified code.
#
# LICENSOR MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED.
# By way of example, but not limitation, Licensor MAKES NO
# REPRESENTATIONS OR WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY
# PARTICULAR PURPOSE OR THAT THE USE OF THE LICENSED SOFTWARE COMPONENTS
# OR DOCUMENTATION WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS, TRADEMARKS
# OR OTHER RIGHTS.
#
# Additional copyrights may follow.
#
##
##	LAM
##	Copyright 1997 The Ohio State University
##
##	$Id: Makefile,v 6.19 1999/09/02 01:42:37 jsquyres Exp $
##
##	Function:	- LAM related header files
##

DEPTH	= ../..

##
## global configuration
##
include $(DEPTH)/config.mk

IFILES	= \
	$(IDIR)/FREQF.h \
	$(IDIR)/MPISYSF.h \
	$(IDIR)/NETF.h \
	$(IDIR)/all_hash.h \
	$(IDIR)/all_list.h \
	$(IDIR)/all_opt.h \
	$(IDIR)/all_queue.h \
	$(IDIR)/all_slist.h \
	$(IDIR)/app_mgmt.h \
	$(IDIR)/app_schema.h \
	$(IDIR)/args.h \
	$(IDIR)/bfreq.h \
	$(IDIR)/blktype.h \
	$(IDIR)/debug.h \
	$(IDIR)/dl_inet.h \
	$(IDIR)/ereq.h \
	$(IDIR)/events.h \
	$(IDIR)/flatreq.h \
	$(IDIR)/freq.h \
	$(IDIR)/kio.h \
	$(IDIR)/kreq.h \
	$(IDIR)/ksignal.h \
	$(IDIR)/ktrace.h \
	$(IDIR)/lam.h \
	$(IDIR)/lam_config.h \
	$(IDIR)/lam_ksignal.h \
	$(IDIR)/laminternal.h \
	$(IDIR)/lamnet.h \
	$(IDIR)/lreq.h \
	$(IDIR)/mpi.h \
	$(IDIR)/mpi_types.h \
	$(IDIR)/mpif.h \
	$(IDIR)/mpisys.h \
	$(IDIR)/mpitrace.h \
	$(IDIR)/ndi.h \
	$(IDIR)/net.h \
	$(IDIR)/patchlevel.h \
	$(IDIR)/pdi.h \
	$(IDIR)/portable.h \
	$(IDIR)/preq.h \
	$(IDIR)/priority.h \
	$(IDIR)/rpi.c2c.h \
	$(IDIR)/rpi.lamd.h \
	$(IDIR)/rpi.shm.h \
	$(IDIR)/rpi.tcp.h \
	$(IDIR)/rpisys.h \
	$(IDIR)/rreq.h \
	$(IDIR)/sfh.h \
	$(IDIR)/t_types.h \
	$(IDIR)/terror.h \
	$(IDIR)/trreq.h \
	$(IDIR)/tstdio.h \
	$(IDIR)/typical.h \
	$(IDIR)/vctable.h

all: depend

clean:

install: dirs $(IFILES) $(IMPI_TARGET)

##
## copy the headers
##
depend:
	@$(MAKE) install

dirs: $(IDIR)

$(IDIR):
	$(INSTALL) -m $(DIR_PERMS) -d $(IDIR)

##
## handmade dependencies
##
$(IDIR)/rpisys.h: rpi.tcp.h rpi.shm.h

##
## automatic dependencies and rules
##
$(IDIR)/FREQF.h: FREQF.h
	$(INSTALL) -c -m $(FILE_PERMS) FREQF.h $(IDIR)
$(IDIR)/MPISYSF.h: MPISYSF.h
	$(INSTALL) -c -m $(FILE_PERMS) MPISYSF.h $(IDIR)
$(IDIR)/NETF.h: NETF.h
	$(INSTALL) -c -m $(FILE_PERMS) NETF.h $(IDIR)
$(IDIR)/all_hash.h: all_hash.h
	$(INSTALL) -c -m $(FILE_PERMS) all_hash.h $(IDIR)
$(IDIR)/all_list.h: all_list.h
	$(INSTALL) -c -m $(FILE_PERMS) all_list.h $(IDIR)
$(IDIR)/all_opt.h: all_opt.h
	$(INSTALL) -c -m $(FILE_PERMS) all_opt.h $(IDIR)
$(IDIR)/all_queue.h: all_queue.h
	$(INSTALL) -c -m $(FILE_PERMS) all_queue.h $(IDIR)
$(IDIR)/all_slist.h: all_slist.h
	$(INSTALL) -c -m $(FILE_PERMS) all_slist.h $(IDIR)
$(IDIR)/app_mgmt.h: app_mgmt.h
	$(INSTALL) -c -m $(FILE_PERMS) app_mgmt.h $(IDIR)
$(IDIR)/app_schema.h: app_schema.h
	$(INSTALL) -c -m $(FILE_PERMS) app_schema.h $(IDIR)
$(IDIR)/args.h: args.h
	$(INSTALL) -c -m $(FILE_PERMS) args.h $(IDIR)
$(IDIR)/bfreq.h: bfreq.h
	$(INSTALL) -c -m $(FILE_PERMS) bfreq.h $(IDIR)
$(IDIR)/blktype.h: blktype.h
	$(INSTALL) -c -m $(FILE_PERMS) blktype.h $(IDIR)
$(IDIR)/debug.h: debug.h
	$(INSTALL) -c -m $(FILE_PERMS) debug.h $(IDIR)
$(IDIR)/dl_inet.h: dl_inet.h
	$(INSTALL) -c -m $(FILE_PERMS) dl_inet.h $(IDIR)
$(IDIR)/ereq.h: ereq.h
	$(INSTALL) -c -m $(FILE_PERMS) ereq.h $(IDIR)
$(IDIR)/events.h: events.h
	$(INSTALL) -c -m $(FILE_PERMS) events.h $(IDIR)
$(IDIR)/flatreq.h: flatreq.h
	$(INSTALL) -c -m $(FILE_PERMS) flatreq.h $(IDIR)
$(IDIR)/freq.h: freq.h
	$(INSTALL) -c -m $(FILE_PERMS) freq.h $(IDIR)
$(IDIR)/kio.h: kio.h
	$(INSTALL) -c -m $(FILE_PERMS) kio.h $(IDIR)
$(IDIR)/kreq.h: kreq.h
	$(INSTALL) -c -m $(FILE_PERMS) kreq.h $(IDIR)
$(IDIR)/ksignal.h: ksignal.h
	$(INSTALL) -c -m $(FILE_PERMS) ksignal.h $(IDIR)
$(IDIR)/ktrace.h: ktrace.h
	$(INSTALL) -c -m $(FILE_PERMS) ktrace.h $(IDIR)
$(IDIR)/lam.h: lam.h
	$(INSTALL) -c -m $(FILE_PERMS) lam.h $(IDIR)
$(IDIR)/lam_config.h: lam_config.h
	$(INSTALL) -c -m $(FILE_PERMS) lam_config.h $(IDIR)
$(IDIR)/lam_ksignal.h: lam_ksignal.h
	$(INSTALL) -c -m $(FILE_PERMS) lam_ksignal.h $(IDIR)
$(IDIR)/laminternal.h: laminternal.h
	$(INSTALL) -c -m $(FILE_PERMS) laminternal.h $(IDIR)
$(IDIR)/lamnet.h: lamnet.h
	$(INSTALL) -c -m $(FILE_PERMS) lamnet.h $(IDIR)
$(IDIR)/lreq.h: lreq.h
	$(INSTALL) -c -m $(FILE_PERMS) lreq.h $(IDIR)
$(IDIR)/mpi.h: mpi.h
	$(INSTALL) -c -m $(FILE_PERMS) mpi.h $(IDIR)
$(IDIR)/mpi_types.h: mpi_types.h
	$(INSTALL) -c -m $(FILE_PERMS) mpi_types.h $(IDIR)
$(IDIR)/mpif.h: mpif.h
	$(INSTALL) -c -m $(FILE_PERMS) mpif.h $(IDIR)
$(IDIR)/mpisys.h: mpisys.h
	$(INSTALL) -c -m $(FILE_PERMS) mpisys.h $(IDIR)
$(IDIR)/mpitrace.h: mpitrace.h
	$(INSTALL) -c -m $(FILE_PERMS) mpitrace.h $(IDIR)
$(IDIR)/ndi.h: ndi.h
	$(INSTALL) -c -m $(FILE_PERMS) ndi.h $(IDIR)
$(IDIR)/net.h: net.h
	$(INSTALL) -c -m $(FILE_PERMS) net.h $(IDIR)
$(IDIR)/patchlevel.h: patchlevel.h
	$(INSTALL) -c -m $(FILE_PERMS) patchlevel.h $(IDIR)
$(IDIR)/pdi.h: pdi.h
	$(INSTALL) -c -m $(FILE_PERMS) pdi.h $(IDIR)
$(IDIR)/portable.h: portable.h
	$(INSTALL) -c -m $(FILE_PERMS) portable.h $(IDIR)
$(IDIR)/preq.h: preq.h
	$(INSTALL) -c -m $(FILE_PERMS) preq.h $(IDIR)
$(IDIR)/priority.h: priority.h
	$(INSTALL) -c -m $(FILE_PERMS) priority.h $(IDIR)
$(IDIR)/rpi.c2c.h: rpi.c2c.h
	$(INSTALL) -c -m $(FILE_PERMS) rpi.c2c.h $(IDIR)
$(IDIR)/rpi.lamd.h: rpi.lamd.h
	$(INSTALL) -c -m $(FILE_PERMS) rpi.lamd.h $(IDIR)
$(IDIR)/rpi.shm.h: rpi.shm.h
	$(INSTALL) -c -m $(FILE_PERMS) rpi.shm.h $(IDIR)
$(IDIR)/rpi.tcp.h: rpi.tcp.h
	$(INSTALL) -c -m $(FILE_PERMS) rpi.tcp.h $(IDIR)
$(IDIR)/rpisys.h: rpisys.h
	$(INSTALL) -c -m $(FILE_PERMS) rpisys.h $(IDIR)
$(IDIR)/rreq.h: rreq.h
	$(INSTALL) -c -m $(FILE_PERMS) rreq.h $(IDIR)
$(IDIR)/sfh.h: sfh.h
	$(INSTALL) -c -m $(FILE_PERMS) sfh.h $(IDIR)
$(IDIR)/t_types.h: t_types.h
	$(INSTALL) -c -m $(FILE_PERMS) t_types.h $(IDIR)
$(IDIR)/terror.h: terror.h
	$(INSTALL) -c -m $(FILE_PERMS) terror.h $(IDIR)
$(IDIR)/trreq.h: trreq.h
	$(INSTALL) -c -m $(FILE_PERMS) trreq.h $(IDIR)
$(IDIR)/tstdio.h: tstdio.h
	$(INSTALL) -c -m $(FILE_PERMS) tstdio.h $(IDIR)
$(IDIR)/typical.h: typical.h
	$(INSTALL) -c -m $(FILE_PERMS) typical.h $(IDIR)
$(IDIR)/vctable.h: vctable.h
	$(INSTALL) -c -m $(FILE_PERMS) vctable.h $(IDIR)

impi: \
	$(IDIR)/debug-cc.h \
	$(IDIR)/hostack_mgmt.h \
	$(IDIR)/impi.h \
	$(IDIR)/impi-defs.h \
	$(IDIR)/impid.h \
	$(IDIR)/impid-cc.h \
	$(IDIR)/longbuf_mgmt.h \
	$(IDIR)/packet_mgmt.h \
	$(IDIR)/req_mgmt.h 

$(IDIR)/debug-cc.h: debug-cc.h
	$(INSTALL) -c -m $(FILE_PERMS) debug-cc.h $(IDIR)
$(IDIR)/hostack_mgmt.h: hostack_mgmt.h
	$(INSTALL) -c -m $(FILE_PERMS) hostack_mgmt.h $(IDIR)
$(IDIR)/impi.h: impi.h
	$(INSTALL) -c -m $(FILE_PERMS) impi.h $(IDIR)
$(IDIR)/impi-defs.h: impi-defs.h
	$(INSTALL) -c -m $(FILE_PERMS) impi-defs.h $(IDIR)
$(IDIR)/impid.h: impid.h
	$(INSTALL) -c -m $(FILE_PERMS) impid.h $(IDIR)
$(IDIR)/impid-cc.h: impid-cc.h
	$(INSTALL) -c -m $(FILE_PERMS) impid-cc.h $(IDIR)
$(IDIR)/packet_mgmt.h: packet_mgmt.h
	$(INSTALL) -c -m $(FILE_PERMS) packet_mgmt.h $(IDIR)
$(IDIR)/longbuf_mgmt.h: longbuf_mgmt.h
	$(INSTALL) -c -m $(FILE_PERMS) longbuf_mgmt.h $(IDIR)
$(IDIR)/req_mgmt.h: req_mgmt.h
	$(INSTALL) -c -m $(FILE_PERMS) req_mgmt.h $(IDIR)


no-impi: 
	@$(RM) $(IDIR)/debug-cc.h $(IDIR)/hostack_mgmt.h \
		$(IDIR)/impi.h $(IDIR)/impi-defs.h \
		$(IDIR)/impid.h $(IDIR)/impid-cc.h \
		$(IDIR)/longbuf_mgmt.h $(IDIR)/packet_mgmt.h \
		$(IDIR)/req_mgmt.h 
