#/***************************************************************************/
#/*                                                                         */
#/*                     Chaine de CAO & VLSI   Alliance                     */
#/*                                                                         */
#/*   Produit :  (R)ectangle (D)ata (S)tructure (2)to (P)ost(S)cript driver */
#/*   Fichier :  Makefile                                                   */
#/*                                                                         */
#/*   (c) copyright 1991 Laboratoire MASI equipe CAO & VLSI                 */
#/*   Tous droits reserves                                                  */
#/*   Support : e-mail cao-vlsi@masi.ibp.fr                                 */
#/*                                                                         */
#/*   Auteur(s) :  Gilles-Eric DESCAMPS                 le : 23/03/1993     */
#/*                                                                         */
#/*   Modifie par :  GED toujours                       le : 05/10/1993     */
#/*                                                                         */
#/***************************************************************************/

RPS_VERSION  = '"1.03"'
RPS_TAIL     = 103

#include /users/outil2/rds2ps/dev/myown.mk
include $(TOP)/etc/$(MACHINE).mk
ECHO             = echo
NROFF            = /usr/bin/nroff -man
CHMOD            = /bin/chmod

INC = -DALLIANCE_VERSION=$(ALLIANCE_VERSION) -DRPS_VERSION=$(RPS_VERSION) \
	-DRPS_H='"$(RPS_INC_DEST)/$(RPS_INC)"' -I$(ALLIANCE_INCLUDE) \
	-DRFM_H='"rfm203.h"' \
	-DRUT_H='"rut203.h"' \
	-DRDS_H='"rds203.h"' \
	-DRPR_H='"rpr203.h"' \
	-DRTL_H='"rtl103.h"' \
	-DMPH_H='"mph402.h"' \
	-DMPU_H='"mpu402.h"' \
	-DMUT_H='"mut315.h"'

LIB = -L$(RPS_LIB_DEST) -lRps$(RPS_TAIL) \
	-L$(ALLIANCE_LIB) \
	-lRtl103 -lRgs105 -lRcf106 -lRut203 -lRfm203 -lRpr203 -lRds203 \
	-lMpu402 -lMcp401 -lMap402 -lMph402 -lMmg401 -lMut315 -lm

RPS_BIN      = l2p
RPS_LIB      = libRps$(RPS_TAIL).a
RPS_INC      = rps$(RPS_TAIL).h
RPS_BIN_DEST = ../bin
RPS_LIB_DEST = ../lib
RPS_INC_DEST = ../include

all : $(RPS_INC_DEST)/$(RPS_INC) \
	$(RPS_LIB_DEST)/$(RPS_LIB) \
	$(RPS_BIN_DEST)/$(RPS_BIN)

distrib : all
	-$(RM) $(RPS_BIN_DEST)/INSTALLED
	-$(RM) $(RPS_LIB_DEST)/INSTALLED
	-$(RM) $(RPS_INC_DEST)/INSTALLED

$(RPS_INC_DEST)/$(RPS_INC) : rps_inc.h
	$(CP) rps_inc.h $(RPS_INC_DEST)/$(RPS_INC)

$(RPS_LIB_DEST)/$(RPS_LIB) : drive_ps.o tmp_dict.o
	$(AR) $(ARFLAGS) $(RPS_LIB) drive_ps.o tmp_dict.o
	$(MV) $(RPS_LIB) $(RPS_LIB_DEST)/$(RPS_LIB)
	$(RANLIB) $(RPS_LIB_DEST)/$(RPS_LIB)

$(RPS_BIN_DEST)/$(RPS_BIN) : $(RPS_LIB_DEST)/$(RPS_LIB) \
	$(RPS_INC_DEST)/$(RPS_INC) rds2ps.o tmp_man.o
	$(CC) -o $(RPS_BIN) rds2ps.o tmp_man.o $(LIB)
	$(STRIP) $(RPS_BIN)
	$(ECHO) $(RPS_BIN) '$$*' > layout2paper
	$(CHMOD) a+x layout2paper
	$(MV) layout2paper $(RPS_BIN_DEST)/layout2paper
	$(MV) $(RPS_BIN) $(RPS_BIN_DEST)/$(RPS_BIN)

drive_ps.o : drive_ps.c $(RPS_INC_DEST)/$(RPS_INC)
	$(CC) $(CFLAGS) -c $(INC) drive_ps.c

tmp_dict.o : dict_bw.ps dict_color.ps
	$(AWK) 'BEGIN{printf ("extern rps_put();\n"); \
			printf ("void rps_print_dict_bw (pg)\n");\
			printf ("void *pg;\n{\n")}\
		{printf ("\trps_put (pg,\"%s\\n\");\n", $$0)}\
		END{printf("}\n")}' dict_bw.ps > tmp_dict.c
	$(AWK) 'BEGIN{printf ("\nvoid rps_print_dict_color (pg)\n");\
			printf ("void *pg;\n{\n")}\
		{printf ("\trps_put (pg,\"%s\\n\");\n", $$0)}\
		END{printf("}\n")}' dict_color.ps >> tmp_dict.c
	$(CC) $(CFLAGS) -c $(INC) tmp_dict.c

rds2ps.o : rds2ps.c $(RPS_INC_DEST)/$(RPS_INC)
	$(CC) $(CFLAGS) -c $(INC) rds2ps.c

tmp_man.o : $(RPS_BIN).1
	$(NROFF) $(RPS_BIN).1 | \
	$(AWK) 'BEGIN{printf ("void puts ();\n"); \
			printf ("void rps_print_man () {\n")}\
		{printf ("\tputs (\"%s\");\n", $$0)}\
		END{printf("}\n")}' | \
	cat > tmp_man.c
	$(CC) $(CFLAGS) -c $(INC) tmp_man.c

#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

clean :
	-$(RM) purel2p*
	-$(RM) *.o
	-$(RM) tmp_*
	-$(RM) $(RPS_BIN_DEST)/$(RPS_BIN) $(RPS_BIN_DEST)/layout2paper
	-$(RM) $(RPS_LIB_DEST)/$(RPS_LIB)
	-$(RM) $(RPS_INC_DEST)/$(RPS_INC)

pure : $(RPS_INC_DEST)/$(RPS_INC) \
	$(RPS_LIB_DEST)/$(RPS_LIB) \
	purel2p

purel2p : $(RPS_LIB_DEST)/$(RPS_LIB) \
	$(RPS_INC_DEST)/$(RPS_INC) rds2ps.o tmp_man.o
	purify $(CC) -o purel2p rds2ps.o tmp_man.o $(LIB)

#- - - END OF MAKEFILE - - - - - - - - - - - - - - - - - - - - - - - - - - -
