;
;
; $Header: EGS:pdb2povf/RCS/Makefile,v 1.3 1993/11/26 10:24:17 eric Exp eric $
;
; Makefile for thee CPK rendering package
;
; See the docs for instructions on building this package.
;
; Copyright 1992 Eric G. Suchanek, Ph.D.
;
;
;
; $Log: Makefile,v $
; Revision 1.3  1993/11/26  10:24:17  eric
; added some new depends
;
; Revision 1.2  1993/11/26  00:26:03  eric
; additional depends for multiple cpu types
;
; Revision 1.1  1993/11/13  11:02:08  eric
; Initial revision
;
;

.precious: pdb2pov.c

DEBUG = DEBUG=SF
#OPT = DEBUG=SF
OPT = OPTIMIZE 
ARCH = CPU=any
ARCH_030 = CPU=68030
ARCH_040 = CPU=68040
FLOAT = MATH=68881
FLOAT_IEEE = MATH=IEEE

#
# The cflags for compiling
#
# remove the DEF=AMIGA for UNIX hosts

CFL1 = NOLINK NOANSI IGNORE=304 DATA AUTO COMNEST DEF=AMIGA NOSTACKCHECK STACKEXTEND PARM=REGISTER NOMINC gst=include:all.gst
CFLAGS = $(OPT) $(CFL1)
CFLAGS_proto = GENPROTO $(CFL1)
CFLAGS_dbg = $(FLOAT) $(ARCH) $(DEBUG) NOLINK $(CFL1)

#
# The flags for linking
#

LDFLAGS	 = SMALLCODE SMALLDATA NOICONS BATCH 

DBGFLAGS = NODEBUG

#LLIBS	= LIB lib:scm881.lib  lib:scnb.lib lib:amiga.lib 
LLIBS	= LIB lib:math040.lib lib:scm881.lib  lib:sc.lib lib:amiga.lib 
LLIBS_IEEE	= LIB lib:scmieee.lib lib:scnb.lib lib:amiga.lib 

STARTUP	= LIB:sc.o

VERS=119

#
# The default make rule set
#

.SUFFIXES:
.SUFFIXES: .c .o .o30 .q .d .i .h .pr .o40 .guide .cp .cps .fn .fns .vr .vrs .dvi .texinfo

.c.o: 
	sc $(CFLAGS) $(FLOAT_IEEE) $(ARCH) OBJNAME $*.o $*

.c.o30: 
	sc $(CFLAGS) $(ARCH_030) $(FLOAT_IEEE) OBJNAME $*.o30 $*

.c.o40: 
	sc $(CFLAGS) $(ARCH_040) $(FLOAT) OBJNAME $*.o40  $*

.c.d: 
	sc $(CFLAGS_dbg) OBJNAME $*.d Define=PRECOMP $*

.c.pr: 
	sc $(CFLAGS_proto) GST=$(PRECOMP) GPFILE=$*.pr $*

.c.q:
	sc  MGST=$*.q $*

.texinfo.dvi:
	virtex20 &plain $*.texinfo

.texinfo.guide:
	makeinfo --amiga $*

.cp.cps:
	texindex $*.cp

.vr.vrs:
	texindex $*.vr

.fn.fns:
	texindex $*.fn


SRC = pdb2pov.c m68040.c asyncio.c util.c pdb2light.h pdb2pov_errors.h pdb2pov_usage.h
HEADERS = pdb2light.h pdb2pov_protos.h util_protos.h pdb2pov_errors.h pdb2pov_usage.h
SAMPLES = crambin.pdb crambin.pov

OBJ_040 = pdb2pov.o40 asyncio.o40 util.o40
OBJ_030 = pdb2pov.o30 asyncio.o30 util.o30
OBJ_000 = pdb2pov.o asyncio.o util.o

PROGS = pdb2pov.040 pdb2pov.030 pdb2pov.000
DOC = pdb2pov.dvi Pdb2POV.dvi.info pdb2pov.guide pdb2pov.guide.info About.Sids About.Sids.info 

BABEL = babel babel.doc element.lis types.lis

P = pov:include/

INCLUDE = $(P)atoms2.inc $(P)atoms_cpk.inc $(P)atoms_vdw.inc $(P)atoms_covalent.inc $(P)atoms_glass2.inc
INCLUDE_T = atoms2.inc atoms_cpk.inc atoms_vdw.inc atoms_covalent.inc atoms_glass2.inc

PROG_DOC = pdb2pov.dvi pdb2pov.dvi.info pdb2pov.guide pdb2pov.guide.info 

SRC_ARCHIVE = pdb2pov_src.lha
ARCHIVE = pdb2pov_$(VERS).lha

pdb2pov.040: $(OBJ_040)
  SLINK FROM LIB:c.o $(OBJ_040) to pdb2pov.040 $(LLIBS) $(LDFLAGS) $(DBGFLAGS)

pdb2pov.030: $(OBJ_030)
  SLINK FROM LIB:c.o $(OBJ_030) to pdb2pov.030 $(LLIBS_IEEE) $(LDFLAGS) $(DBGFLAGS)

pdb2pov.000: $(OBJ_000)
  SLINK FROM LIB:c.o $(OBJ_000) to pdb2pov.000 $(LLIBS_IEEE) $(LDFLAGS) $(DBGFLAGS)

pdb2pov.o40: $(HEADERS)
pdb2pov.o30: $(HEADERS)
pdb2pov.o:   $(HEADERS)

all: $(PROGS) $(PROG_DOC)

pdb2pov_protos.h: pdb2pov.c
  sc $(CFLAGS_proto) pdb2pov.c

util_protos.h: util.c
  sc $(CFLAGS_proto) util.c

install: pdb2pov.040
  copy pdb2pov.040 sys:bin/pdb2pov

src: $(SRC_ARCHIVE)
  copy $(SRC_ARCHIVE) arc:

$(SRC_ARCHIVE): $(SRC) makefile $(INCLUDE_T) $(PROG_DOC)
  lha -2 -m -x u $(SRC_ARCHIVE) $?

src_arc: $(SRC_ARCHIVE)

cpk: $(PROGS) $(PROG_DOC)
  copy from $(PROGS) to egs:cpk/util
  copy from $(PROG_DOC) to egs:cpk/docs
  @touch >nil: cpk

universe: arc install cpk all

clean:
  @delete $(OBJ_040)
  @delete $(OBJ_030)
  @delete $(OBJ_000)

realclean:
  @delete $(PROGS)

inc: $(INCLUDE)
  copy from $? to ""
  @touch >nil: inc

#$(ARCHIVE): $(PROGS) $(DOC) $(SAMPLES) $(BABEL) inc
$(ARCHIVE): $(PROGS) $(SAMPLES) $(BABEL) $(INCLUDE_T) $(PROG_DOC)
  lha -2 -m -x u $(ARCHIVE) $?

arc: $(ARCHIVE)
  copy $(ARCHIVE) arc:

IND2 = pdb2pov.cps pdb2pov.vrs pdb2pov.fns
IND = 

pdb2pov.dvi:  pdb2pov.texinfo $(IND2)
pdb2pov.guide:  pdb2pov.texinfo $(IND2)

doc: $(DOC)

everything: cpk arc src

