
#################################################################
#                                                               #
#  ISODECL - HULA project for connectionless ISODE              #
#                                             			#
#  module:  	Makeadd - Makefile for add service              #
#  author:   	Bill Haggerty                                   #
#  date:     	4/89                                            #
#                                                               #
#  This makes the simple add service which consists of a single #
#  remote operation to add two integers.  It makes the client   #
#  and server programs and a library of the encode and decode   #
#  routines from the add.ry abstract syntax module.   		#
#								#
#################################################################
#								#
#			     NOTICE		   		#
#								#
#    Use of this module is subject to the restrictions of the   #
#    ISODE license agreement.					#
#								#
#################################################################

###############################################################################
#   Instructions to Make
#   for compilation of ROS-based ADD service over Unit Data stack
###############################################################################

.SUFFIXES:	.py .c .o

.c.o:;		$(CC) $(CFLAGS) -DPEPYPATH -c $*.c

.py.c:;		$(TOPDIR)pepy/xpepy -a PY_advise -m $(PYFLAGS) $<

LIBES   =	libadd.a \
		$(TOPDIR)librosy.a \
		$(TOPDIR)librousap.a $(TOPDIR)libacusap.a \
		$(TOPDIR)libpusap2.a \
		/usr/fromkurt/libsusap.a /usr/fromkurt/libtusap.a \
		$(TOPDIR)libpsap.a \
		/usr/lib/libisode.a

CFILES	=	addtestc.c addtestd.c ADD-ops.c ryinitiator.c ryresponder.c
RYFILES	=	add.ry
HFILES	=	$(HDIR)rosy.h $(HDIR)rosap.h \
		$(HDIR)acusap.h $(HDIR)pusap2.h $(HDIR)psap.h \
		$(HDIR)ssap.h $(HDIR)isoaddrs.h \
		$(HDIR)manifest.h $(HDIR)general.h $(HDIR)config.h
ROS	=	ros.


##################################################################
# Here it is...
##################################################################
all:		addc addd libadd


##################################################################
# addc
##################################################################

addtestc:	addc
addc:		xaddtestc

xaddtestc:	addtestc.o ADD-Iops.o ryinitiator.o $(LIBES)
		$(LDCC) $(LDFLAGS) -o $@ addtestc.o ADD-Iops.o ryinitiator.o \
			$(LIBES) $(LSOCKET)

addtestc.o:	ryinitiator.h ADD-ops.h ADD-types.h $(HFILES)

ADD-Iops.o:	ADD-ops.c ADD-ops.h $(HFILES)
		$(CC) $(CFLAGS) -DINVOKER -DPEPYPATH -c ADD-ops.c
		mv ADD-ops.o $@

ryinitiator.o:	ryinitiator.h $(HFILES)



##################################################################
# addd
##################################################################

addtestd:	addd
addd:		xaddtestd

xaddtestd:	addtestd.o ADD-Rops.o ryresponder.o $(LIBES)
		$(LDCC) $(LDFLAGS) -o $@ addtestd.o ADD-Rops.o ryresponder.o \
			$(LIBES) $(LSOCKET)

addtestd.o:	ryresponder.h ADD-ops.h ADD-types.h $(HFILES) \
			$(HDIR)logger.h

ADD-Rops.o:	ADD-ops.c ADD-ops.h $(HFILES)
		$(CC) $(CFLAGS) -DPERFORMER -DPEPYPATH -c ADD-ops.c
		mv ADD-ops.o $@

ryresponder.o:	ryresponder.h $(HFILES)



################################################################
# libadd
################################################################

libadd:		libadd.a
libadd.a:	ADD-O
		-rm -f $@
		@$(UTILDIR)make-lib.sh $(SYSTEM) $(ARFLAGS) $@ $(ADD-O) 
		-@ls -l $@
		-@echo "ADD library built normally"

ADD-O	=	ADD-[0-9]*.o
ADD-C	=	ADD-[0-9]*.c

ADD-O:		ADD-C
		@$(MAKE) `/bin/ls $(ADD-C) | sed 's/\.c$$/.o/'`
		-@touch $@
ADD-C:		ADD-types.py $(TOPDIR)pepy/xpepy
		-@rm -f $(ADD-C) $(ADD-O)
		$(TOPDIR)pepy/xpepy -a PY_advise -A -b ADD -m $(PYFLAGS) \
			ADD-types.py
		-@touch $@

ADD-types.py:	ADD-asn.py $(TOPDIR)pepy/xposy
		$(TOPDIR)pepy/xposy -f -h -m -o $@ $(POFLAGS) ADD-asn.py
ADD-types.h:	ADD-asn.py
ADD-asn.py:	add.ry $(TOPDIR)rosy/xrosy
		$(TOPDIR)rosy/xrosy -m $(RYFLAGS) -o $@ add.ry

ADD-ops.c:	add.ry
ADD-ops.h:	add.ry
ADD-stubs.c:	add.ry

true:;
