#
# RPC und CDU/CLD Abhaegigkeiten
#
RPCGEN=rpcgen
RGFLAGS=
CDU=CDU
CDFLAGS=
UIL=/usr/bin/X11/uil
UILFLAGS=
UILINCLUDE=-I/usr/include/Uil

.SUFFIXES: .o .c .c~ .cld .cld~ .INC .INC~ .h .h~ .x .x~ .uid .uil .uil~

.uil~.uid:
	@echo "       " $(GET) $(GFLAGS) $<
	@if [ `dirname $*` = '.' ]; then \
	  $(GET) $(GFLAGS) $< > /dev/null; \
        else \
	  $(GET) -p $(GFLAGS) $< > $*.uil 2> /dev/null; \
	  chmod 444 $*.uil; \
	fi
	$(UIL) $(UILINCLUDE) $(UILFLAGS) $*.uil -o $*.uid
	-rm -f $*.uil

.uil.uid:
	$(UIL) $(UILINCLUDE) $(UILFLAGS) $< -o $*.uid

.uil~.uil:
	@echo "       " $(GET) $(GFLAGS) $<
	@if [ `dirname $*` = '.' ]; then \
	  $(GET) $(GFLAGS) $< > /dev/null; \
        else \
	  $(GET) -p $(GFLAGS) $< > $*.uil 2> /dev/null; \
	  chmod 444 $*.uil; \
	fi

.cld~.o:
	@echo "       " $(GET) $(GFLAGS) $<
	@if [ `dirname $*` = '.' ]; then \
	  $(GET) $(GFLAGS) $< > /dev/null; \
        else \
	  $(GET) -p $(GFLAGS) $< > $*.cld 2> /dev/null; \
	  chmod 444 $*.cld; \
	fi
	$(CDU) $(CDFLAGS) $*.cld
	-rm -f $*.cld

.cld.o:
	$(CDU) $(CDFLAGS) $<

.cld~.cld:
	@echo "       " $(GET) $(GFLAGS) $<
	@if [ `dirname $*` = '.' ]; then \
	  $(GET) $(GFLAGS) $< > /dev/null; \
        else \
	  $(GET) -p $(GFLAGS) $< > $*.cld 2> /dev/null; \
	  chmod 444 $*.cld; \
	fi

.INC~.INC:
	@echo "       " $(GET) $(GFLAGS) $<
	@if [ `dirname $*` = '.' ]; then \
	  $(GET) $(GFLAGS) $< > /dev/null; \
        else \
	  $(GET) -p $(GFLAGS) $< > $*.INC 2> /dev/null; \
	  chmod 444 $*.INC; \
	fi

.x~.h:
	@echo "       " $(GET) $(GFLAGS) $<
	@if [ `dirname $*` = '.' ]; then \
	  $(GET) $(GFLAGS) $< > /dev/null; \
        else \
	  $(GET) -p $(GFLAGS) $< > $*.x 2> /dev/null; \
	  chmod 444 $*.x; \
	fi
	$(RPCGEN) $(RGFLAGS) $*.x
	-rm -f $*.x

.x.h:
	$(RPCGEN) $(RGFLAGS) $<

.x~.x:
	@echo "       " $(GET) $(GFLAGS) $<
	@if [ `dirname $*` = '.' ]; then \
	  $(GET) $(GFLAGS) $< > /dev/null; \
        else \
	  $(GET) -p $(GFLAGS) $< > $*.x 2> /dev/null; \
	  chmod 444 $*.x; \
	fi

.h~.h:
	@echo "       " $(GET) $(GFLAGS) $<
	@if [ `dirname $*` = '.' ]; then \
	  $(GET) $(GFLAGS) $< > /dev/null; \
        else \
	  $(GET) -p $(GFLAGS) $< > $*.h 2> /dev/null; \
	  chmod 444 $*.h; \
	fi

#
# Directories
#
GENDIR=../generic
EXECDIR=../exec
PARDIR=../parallel

#
# Hauptaktion
#
make: $(PROGRAMS)

#
#
# Utilities
#
clean:
	@for file in * ; do \
	  if [ -f s.$$file ]; then \
	   if [ ! -f p.$$file ]; then \
	     echo "	rm -f $$file"; \
	     rm -f $$file; \
	   fi \
	  fi \
	done
	rm -f *.o *~ *.log core $(PROGRAMS) $(CLEAN)
back:	
	@for file in s.* ; do\
	   sfile=`echo $$file | cut -c3-`;\
	   if [ -f $$sfile ]; then\
	      echo "	cp $$sfile $(HOME)/backup/$(PROJECT)_$$sfile";\
	      cp $$sfile $(HOME)/backup/$(PROJECT)_$$sfile;\
	      chmod 644 $(HOME)/backup/$(PROJECT)_$$sfile;\
	   else\
	      echo "	cp $$sfile $(HOME)/backup/$(PROJECT)_$$sfile";\
	      get -p -k $$file 2>/dev/null >$(HOME)/backup/$(PROJECT)_$$sfile;\
	   fi\
	 done
