# Description file for rle get programs.

#set DEST GET_DEST	Where to install tools
DEST = ../bin

# Executables.  The .out will be stripped off in the install action.
#ifadd	BOBCAT		PGMS		getbob.out
#ifadd	BOBCAT		PGMS		read98721.out
#ifadd	FB		PGMS		getfb.out
#ifadd	IRIS		PGMS		getiris.out getmex.out
#ifadd	IRIS4D		PGMS		get4d.out
#ifadd	ORION		PGMS		get_orion.out
#ifadd	SUNTOOLS	PGMS		getsun.out
#ifadd	TAAC1		PGMS		gettaac.out
#ifadd	X10		PGMS		getx10.out
#ifadd  APOLLO		PGMS		getap.out
#ifadd  BOBCAT		PGMS		getren.out
#ifadd	AMIGA		DIRS		getami
#ifadd	CX3D		DIRS		cx3d
#ifadd	GRINNELL	DIRS		gmr27
#ifadd	HPQCR		DIRS		qcr
#ifadd	NEXT		DIRS		next
#ifadd	X11		DIRS		getx11
# geticr requires pbmplus tools.
#ifdef PBMPLUS
#ifadd	GETICR		SCRIPTS		geticr.sh
#endif

#emit PGMS
PGMS =  getsun.out

#emit DIRS
DIRS =  getx11

#emit SCRIPTS
SCRIPTS =

# ALLDIRS is all subdirectories, regardless of whether they are active
ALLDIRS = gmr27 cx3d getx11 qcr

# Default is what is to be made if nothing is specified.
default: $(PGMS) subdirs

# To install
install: default install-pgm install-subdirs install-script
	touch install

# Everything depends on the rle headers and libraries.
# 'keep_make_happy' is there to keep make happy if PGMS is empty.
$(PGMS) keep_make_happy: $(RI)/rle.h $(RI)/rle_config.h

# Programs that need specific make rules (presumably all of them)

#ifdef FB
# getfb - get to a BRL libfb display
#@getfb.out: getfb.c
#@	$(CC) $(CFLAGS) $(INCFB) $*.c $(LIBS) $(LIBFB) $(LIBX11) -lm -o $*.new
#@	mv $*.new $@
#endif

#ifdef XWINDOWS
# getx10 - get to an X display
#@getx10.out: getx10.c
#@	$(CC) $(CFLAGS) $(INCX10) $*.c $(LIBS) $(LIBX10) -lm -o $*.new
#@	mv $*.new $@
#endif

#ifdef APOLLO
# getap - get to an Apollo display
# will build with the default rule
#endif APOLLO

#ifdef IRIS
# getmex - get to a mex window on an Iris 2000 or 3000
#@getmex.out: getmex.c
#@	$(CC) $(CFLAGS) $*.c $(LIBS) $(LIBIRIS) -lm -o $*.new
#@	mv $*.new $@
# getiris - get to an Iris ( no mex )
#@getiris.out: getiris.c
#@	$(CC) $(CFLAGS) $*.c $(LIBS) $(LIBIRIS) -lm -o $*.new
#@	mv $*.new $@
#endif

#ifdef IRIS4D
# get4d - get to a max window on an Iris/4D.
#@get4d.out: get4d.c
#@	$(CC) $(CFLAGS) $*.c $(LIBS) $(LIBIRIS4D) -lm -o $*.new
#@	mv $*.new $@
#endif

#ifdef BOBCAT
# getbob - get to an HP Bobcat (series hp9000/300)
#@getbob.out: getbob.c
#@	$(CC) $(CFLAGS) $*.c $(LIBS) $(LIBBOBCAT) -lm -o $*.new
#@	mv $*.new $@
#@getren.out: getren.c
#@	$(CC) $(CFLAGS) $*.c $(LIBS) $(LIBBOBCAT) -lm -o $*.new
#@	mv $*.new $@
#@read98721.out: read98721.c
#@	$(CC) $(CFLAGS) $*.c $(LIBS) $(LIBBOBCAT) -lm -o $*.new
#@	mv $*.new $@
#endif

#ifdef SUNTOOLS
# getsun - display on Suns running SunTools
getsun.out: getsun.c
	$(CC) $(CFLAGS) $*.c $(LIBS) $(LIBSUNTOOLS) -lm -o $*.new
	mv $*.new $@
#endif

#ifdef TAAC1
# gettaac - display on Sun TAAC 1
gettaac.out: gettaac.c
	$(CC) $(CFLAGS) $*.c $(LIBS) $(LIBTAAC1) -lm -o $*.new
	mv $*.new $@
#endif

# Default rule for making a program from its .c file.
# The mv will not be done if there is an error, so a broken program
# will not be left around.
.SUFFIXES:
.SUFFIXES: .out .c
.c.out:
	$(CC) $(CFLAGS) $< $(LIBS) -lm -o $*.new
	mv $*.new $@

# Clean up directory and installed binaries
pristine: pristine-pgm

# Just clean  up directory
clean: clean-pgm

# Dependency lines.  Make sure to #ifdef them.
# Not generally needed, as all programs depend on rle.h above.
# Except perhaps for special make rules, .o dependencies are not needed,
# as most rules go directly from .c to .out

