# Makefile for ilmi testing module
#
# make           	--> ilmi 'agent' test binary
# make codertest 	--> test program for SNACC ASN.1 coders
# make asnutiltest	--> test program for asnUtil class
#
# Author: Timo Pärnänen

# This is the name of the executable
TARGET = ilmitest

# Object files
OBJS = ilmitestmain.o

CODERTEST_OBJS = codertest.o

ASNUTILTEST_OBJS = asnutiltest.o \
	$(TOVESRC)/protocol/ilmi/asn/asnutil.o

ASNUTILTEST_SUBDIRS = $(TOVESRC)/sf \
	$(TOVESRC)/pf \
	$(TOVESRC)/common

ASNUTILTEST_MODULES = $(TOVESRC)/common/common.a \
	$(TOVESRC)/pf/pf.a \
	$(TOVESRC)/sf/sf.a

# Subdirs that contain necessary modules
SUBDIRS = $(TOVESRC)/sf \
	$(TOVESRC)/pf \
	$(TOVESRC)/common \
	$(TOVESRC)/iface/cpcsif \
	$(TOVESRC)/protocol/cpcs \
	$(TOVESRC)/mib \
	$(TOVESRC)/mgmt \
	$(TOVESRC)/protocol/ilmi/asn \
	$(TOVESRC)/protocol/ilmi
	

ALL_SUBDIRS = $(SUBDIRS)

# Names of the modules to be linked to the binary
MODULEFILES = $(TOVESRC)/protocol/ilmi/ilmi.a \
	$(TOVESRC)/protocol/ilmi/asn/ilmiasn.a \
	$(TOVESRC)/mgmt/mgmt.a \
	$(TOVESRC)/mib/mib.a \
        $(TOVESRC)/protocol/cpcs/cpcs.a \
        $(TOVESRC)/iface/cpcsif/cpcsif.a \
	$(TOVESRC)/common/common.a \
	$(TOVESRC)/pf/pf.a \
	$(TOVESRC)/sf/sf.a

# include a Rules file
include $(TOVESRC)/Rules.Make

# Do make in all subdirs, link the executable
$(TARGET): $(OBJS)
	for i in $(SUBDIRS); do make -C $$i; done
	$(CC) $(CCFLAGS) $(INC_DIRS) -o $(TARGET) $(OBJS) $(MODULEFILES) $(ORBLIB) $(NAMELIB) $(ASN1_LIB)

# Do make in all subdirs, link the executable
codertest: $(CODERTEST_OBJS)
	for i in $(SUBDIRS); do make -C $$i; done
	$(CC) $(CCFLAGS) $(INC_DIRS) -o codertest $(CODERTEST_OBJS) $(MODULEFILES) $(ASN1_LIB)

asnutiltest: $(ASNUTILTEST_OBJS)
	for i in $(ASNUTILTEST_SUBDIRS); do make -C $$i; done
	$(CC) $(CCFLAGS) $(INC_DIRS) -o asnutiltest $(ASNUTILTEST_OBJS) $(ASNUTILTEST_MODULES) $(ASN1_LIB)

clean:
	rm -rf *~ *.o core $(TARGET) codertest asnutiltest

# Make clean in all subdirs and in top level
# ('make clean' clears only top level)
deepclean:
	for i in $(ALL_SUBDIRS); do $(MAKE) -C $$i clean; done
	rm -rf *~ *.o $(TARGET)


# Make dependencies in all subdirs and in top level
# ('make dep' make dependencies only in top level)
deepdep:
	for i in $(ALL_SUBDIRS); do $(MAKE) -C $$i dep; done
	makedepend -Y $(INC_DIRS) $(DEFS) *.cpp 2> /dev/null


#
# Dependencies below, next line is used by makedepend, so
# DO NOT DELETE

asnutiltest.o: /usr/local/include/snacc/c++/asn-incl.h
asnutiltest.o: /usr/local/include/snacc/c++/asn-config.h
asnutiltest.o: /usr/local/include/snacc/c++/snacc.h
asnutiltest.o: /usr/local/include/snacc/c++/config.h
asnutiltest.o: /usr/local/include/snacc/c++/policy.h
asnutiltest.o: /usr/local/include/snacc/c++/asn-buf.h
asnutiltest.o: /usr/local/include/snacc/c++/asn-len.h
asnutiltest.o: /usr/local/include/snacc/c++/asn-tag.h
asnutiltest.o: /usr/local/include/snacc/c++/asn-type.h
asnutiltest.o: /usr/local/include/snacc/c++/asn-int.h
asnutiltest.o: /usr/local/include/snacc/c++/asn-bool.h
asnutiltest.o: /usr/local/include/snacc/c++/asn-real.h
asnutiltest.o: /usr/local/include/snacc/c++/asn-oid.h
asnutiltest.o: /usr/local/include/snacc/c++/asn-octs.h
asnutiltest.o: /usr/local/include/snacc/c++/asn-bits.h
asnutiltest.o: /usr/local/include/snacc/c++/asn-enum.h
asnutiltest.o: /usr/local/include/snacc/c++/asn-null.h
asnutiltest.o: /usr/local/include/snacc/c++/asn-any.h
asnutiltest.o: /usr/local/include/snacc/c++/hash.h
asnutiltest.o: /usr/local/include/snacc/c++/asn-useful.h
asnutiltest.o: /usr/local/include/snacc/c++/print.h
asnutiltest.o: /home/vmp/src/protocol/ilmi/asn/asnutil.h
asnutiltest.o: /home/vmp/src/pf/types.h
codertest.o: /usr/local/include/snacc/c++/asn-incl.h
codertest.o: /usr/local/include/snacc/c++/asn-config.h
codertest.o: /usr/local/include/snacc/c++/snacc.h
codertest.o: /usr/local/include/snacc/c++/config.h
codertest.o: /usr/local/include/snacc/c++/policy.h
codertest.o: /usr/local/include/snacc/c++/asn-buf.h
codertest.o: /usr/local/include/snacc/c++/asn-len.h
codertest.o: /usr/local/include/snacc/c++/asn-tag.h
codertest.o: /usr/local/include/snacc/c++/asn-type.h
codertest.o: /usr/local/include/snacc/c++/asn-int.h
codertest.o: /usr/local/include/snacc/c++/asn-bool.h
codertest.o: /usr/local/include/snacc/c++/asn-real.h
codertest.o: /usr/local/include/snacc/c++/asn-oid.h
codertest.o: /usr/local/include/snacc/c++/asn-octs.h
codertest.o: /usr/local/include/snacc/c++/asn-bits.h
codertest.o: /usr/local/include/snacc/c++/asn-enum.h
codertest.o: /usr/local/include/snacc/c++/asn-null.h
codertest.o: /usr/local/include/snacc/c++/asn-any.h
codertest.o: /usr/local/include/snacc/c++/hash.h
codertest.o: /usr/local/include/snacc/c++/asn-useful.h
codertest.o: /usr/local/include/snacc/c++/print.h
ilmitestmain.o: /usr/local/include/OB/CORBA.h /usr/local/include/OB/Basic.h
ilmitestmain.o: /usr/local/include/OB/Config.h /usr/local/include/JTC/JTC.h
ilmitestmain.o: /usr/local/include/JTC/Thread.h
ilmitestmain.o: /usr/local/include/JTC/Types.h
ilmitestmain.o: /usr/local/include/JTC/Config.h
ilmitestmain.o: /usr/local/include/JTC/Mutex.h /usr/local/include/JTC/Sync.h
ilmitestmain.o: /usr/local/include/JTC/Event.h /usr/local/include/JTC/Cond.h
ilmitestmain.o: /usr/local/include/JTC/ThreadGroup.h
ilmitestmain.o: /usr/local/include/JTC/Monitor.h
ilmitestmain.o: /usr/local/include/JTC/Exception.h
ilmitestmain.o: /usr/local/include/JTC/Runnable.h
ilmitestmain.o: /usr/local/include/JTC/MonitorT.h
ilmitestmain.o: /usr/local/include/JTC/TSS.h /usr/local/include/OB/Except.h
ilmitestmain.o: /usr/local/include/OB/Template.h
ilmitestmain.o: /usr/local/include/OB/Declarations.h
ilmitestmain.o: /usr/local/include/OB/Any.h /usr/local/include/OB/TCKind.h
ilmitestmain.o: /usr/local/include/OB/TypeCode.h
ilmitestmain.o: /usr/local/include/OB/Environment.h
ilmitestmain.o: /usr/local/include/OB/Context.h
ilmitestmain.o: /usr/local/include/OB/NamedValue.h
ilmitestmain.o: /usr/local/include/OB/Principal.h /usr/local/include/OB/IOP.h
ilmitestmain.o: /usr/local/include/OB/Object.h /usr/local/include/OB/Policy.h
ilmitestmain.o: /usr/local/include/OB/IntRep.h
ilmitestmain.o: /usr/local/include/OB/IntRepMember.h
ilmitestmain.o: /usr/local/include/OB/ORB.h
ilmitestmain.o: /usr/local/include/OB/Object_skel.h
ilmitestmain.o: /usr/local/include/OB/ImplRep.h /usr/local/include/OB/BOA.h
ilmitestmain.o: /usr/local/include/OB/DII.h /usr/local/include/OB/DSI.h
ilmitestmain.o: /usr/local/include/OB/Current.h
ilmitestmain.o: /usr/local/include/OB/DynAny.h /home/vmp/src/pf/system.h
ilmitestmain.o: /home/vmp/src/pf/debug.h /home/vmp/src/pf/state.h
ilmitestmain.o: /home/vmp/src/pf/protocol.h /home/vmp/src/pf/types.h
ilmitestmain.o: /home/vmp/src/pf/transp.h /home/vmp/src/pf/types.h
ilmitestmain.o: /home/vmp/src/pf/conduit.h /home/vmp/src/pf/exception.h
ilmitestmain.o: /home/vmp/src/pf/messenge.h /home/vmp/src/pf/storage.h
ilmitestmain.o: /home/vmp/src/pf/frame.h /home/vmp/src/pf/exception.h
ilmitestmain.o: /home/vmp/src/pf/bitstring.h /home/vmp/src/pf/ie.h
ilmitestmain.o: /home/vmp/src/pf/conduit.h /home/vmp/src/sf/task.h
ilmitestmain.o: /home/vmp/src/pf/timers.h /home/vmp/src/pf/timer.h
ilmitestmain.o: /home/vmp/src/sf/otime.h
ilmitestmain.o: /home/vmp/src/common/orbnamingservice.h
ilmitestmain.o: /usr/local/include/OB/Util.h
ilmitestmain.o: /usr/local/include/OB/CosNaming.h
ilmitestmain.o: /home/vmp/src/mgmt/toveswitch_impl.h
ilmitestmain.o: /home/vmp/src/mgmt/toveswitch_skel.h
ilmitestmain.o: /home/vmp/src/mgmt/toveswitch.h /home/vmp/src/mgmt/mgmtsend.h
ilmitestmain.o: /home/vmp/src/mgmt/mgmtcommand.h
ilmitestmain.o: /home/vmp/src/mgmt/mgmtcommand.h
