#
#	K M R  Makefile
#
#	Written: Clive A Stubbings
#			 Image Recognition Systems
#			 720 Birchwood Boulevard
#			 Birchwood Science Park
#			 Warrington
#			 Cheshire
#
#	Date:	 21st Feb 1989
#
#	Based on extracts fromn old kyy makefile
#
#	Copyright (c) and intellectual property rights Image Recognition Systems
#
#	Modifications
#
#	 3 Jun 1991 ih  DEBUG indefined by default
#   28 May 1991 ih	Add -g options to compile/link
#	12 Nov 1990	Bill Hill @ MRC HGU	Remove existing flexible screen
#						references and add own
#	12 Dec 1989	dcb			Add version.h
#	 1 Jun 1989	CAS			New DDGS lib in /dd/lib
#
# "Environment" defines
#
-b
MAKE      = make
SOURCE    = ~
HOSTLINE  = /t1
SDEBUG    =
SUBMAKE   = $(MAKE) "MAKE=$(MAKE)" "SOURCE=$(SOURCE)" HOSTLINE=$(HOSTLINE) "SDEBUG=$(SDEBUG)"
HOST      = ~
RAM       = /r0
#
# Mizar defines
#
KYY     = /dd/app/src/kyy
HOME    = $(KYY)/kmr#			# Home directory
SAVETO  = $(HOST)$(HOME)

DDEV    = /dd#					# Defs device for quicker building
ODIR    = $(KYY)/objs
RDIR    = rels
SDIR    = .
CDIR    = /dd/cmds
SYSDEF  = $(DDEV)/defs
APPDEF  = $(DDEV)/app/defs
CMDDEF  = $(DDEV)/defs
KYYDEF  = ../defs
LOCDEF  = $(HOME)
QFLAG     = -q
DEBUG     =
CFLAGS   = -k=2F -x $(SDEBUG) -i $(QFLAG) -t=$(RAM) -m=10 $(DEBUG) -v=$(APPDEF) -v=$(LOCDEF) -v=$(KYYDEF) -v=$(SYSDEF)
LFLAGS   = -x $(SDEBUG) -i $(QFLAG) -m=10 -t=$(RAM)
L68FLAGS = $(SDEBUG) -a -M=21 /dd/lib/cstart.r
#-l=/dd/lib/cio.l
L68LIBS  = -l=/dd/lib/clib.l -l=/dd/lib/sys.l
#
# General defines
#
LOCLIB  = $(HOME)/lib
APPLIB  = /dd/app/lib
SYSLIB  = /dd/lib
COMMON  = ../common/common.l
WLIB    = $(APPLIB)/libw.l
KRLIB   = $(APPLIB)/karylib.l
CHLIB   = $(APPLIB)/chromlib.l
MPLIB   = $(APPLIB)/mplib.l
CMDLIB  = $(SYSLIB)/cmdsys.l
SPLLIB  = $(APPLIB)/split.l
DDGSLIB = $(SYSLIB)/ddgs.l
SFLIB   = $(SYSLIB)/sf.l
GPLIB   = $(SYSLIB)/gp.l
MTLIB   = $(SYSLIB)/mt.l
FLEXSYS	= /dd/APP/SRC/KYY/FLEX/LIB/flexsys.l
#
# Header definitions
#
SPLH = $(SYSDEF)/spool.h
DIRH = $(SYSDEF)/dir300.h
FBIH = $(SYSDEF)/fbio.h
DFOH = $(APPDEF)/dispform.h
CHRH = $(APPDEF)/chromanal.h
DDGH = $(SYSDEF)/ddgs.h
HCPH = $(KYYDEF)/hardcopy.h
INTH = $(APPDEF)/interact.h $(SYSDEF)/mouse.h
KCOH = $(APPDEF)/kcontrol.h $(DDGH)
MLPH = $(APPDEF)/multip.h
WSTH = $(APPDEF)/wstruct.h $(SYSDEF)/machdef.h
SCTH = $(APPDEF)/seg_control.h
CSPH = $(CMDDEF)/cmdspace.h
CDFH = $(CMDDEF)/cmddefs.h
CSYH = $(CMDDEF)/cmdsys.h $(CSPH) $(CDFH) $(SYSDEF)/mouse.h $(SYSDEF)/machdef.h
FILH = $(APPDEF)/fileheaders.h
DISH = $(APPDEF)/display.h
CLSH = $(APPDEF)/class.h
PRPH = $(KYYDEF)/preps.h $(FILH)
SLDH = $(KYYDEF)/slides.h $(PRPH)
CFPH = $(KYYDEF)/cfipp.h
ALLH = $(KYYDEF)/allcontr.h $(FILH) $(PRPH) $(DDGH)
KYYH = $(KYYDEF)/kyy.h $(WSTH) $(ALLH) $(DISH)
COLH = $(KYYDEF)/colour.h
MSCH = $(KYYDEF)/metscan.h
TRNH = $(KYYDEF)/transfer.h
IDEH = $(APPDEF)/ideogram.h
VERH = $(KYYDEF)/version.h

KMRSYS1 = \
	$(RDIR)/km.r \
	$(RDIR)/chromlyse.r \
	$(RDIR)/splitup.r \
	$(RDIR)/segfix.r \
	$(RDIR)/karyfix.r \
	$(RDIR)/varenhancement.r \
	$(RDIR)/misc.r \
	$(RDIR)/kenlarge.r \
	$(RDIR)/kycurs.r \
	$(RDIR)/segfixbis.r \
	$(RDIR)/autosplit.r \
	$(RDIR)/seg_control_init.r \
	$(RDIR)/chrombis.r \
	$(RDIR)/kary.r \
	$(RDIR)/karysubs1.r \
	$(RDIR)/karysubs2.r \
	$(RDIR)/manualstraight.r \
	$(RDIR)/convscrformat.r

KMRSYS2 = \
	$(RDIR)/utilities.r \
	$(RDIR)/tapeutil.r \
	$(RDIR)/od_archive.r \
	$(RDIR)/hardcopy.r \
	$(RDIR)/transfer.r \
	$(RDIR)/report.r \
	$(RDIR)/zoombox.r \
	$(RDIR)/kreseg.r \
	$(RDIR)/rotchrom.r \
	$(RDIR)/dispform.r

KMRSAVE = \
	autosplit.c \
	chromlyse.c \
	chrombis.c \
	convscrformat.c \
	dispform.c \
	hardcopy.c \
	karyfix.c \
	kary.c \
	karysubs1.c \
	karysubs2.c \
	kenlarge.c \
	km.c \
	kreseg.c \
	kycurs.c \
	manualstraight.c \
	misc.c \
	report.c \
	rotchrom.c \
	seg_control_init.c \
	segfix.c \
	splitup.c \
	segfixbis.c \
	tapeutil.c \
	od_archive.c \
	transfer.c \
	utilities.c \
	varenhancement.c \
	zoombox.c
  
all.:	make.date
	@ echo >/nil

make.date:	$(ODIR)/kmr
	touch Make.date

install.: install.date
	@touch Install.date
	
install.date: $(ODIR)/kmr
	copy -r $? -w=$(CDIR)

kkmr: $(ODIR)/kkmr
	@ echo>/nil

save.: save.1st save.kmr save.last
	@ echo>/nil

current.: nonexistant_file
	@ copy -r makefile makemizar
	ft -l $(HOSTLINE) -d $(SOURCE)$(HOME) makemizar
	make -f=makemizar current.date "MAKE=$(MAKE)" SOURCE=$(SOURCE) HOSTLINE=$(HOSTLINE)
	@ copy -r makemizar makefile
	@ del makemizar
	touch current.date

save.kmr: $(KMRSAVE) $(RAM)/Makemizar ./Mod_hist
	kermstart -l $(HOSTLINE) $(SAVETO)
	kermit sl $(HOSTLINE) $?
	kermit ql $(HOSTLINE)
	touch save.kmr

save.1st: nonexistant_file
	@ copy -r Makefile $(RAM)/Makemizar

save.last: nonexistant_file
	@ del $(RAM)/Makemizar

current.date: nonexistant_file
	ft -l $(HOSTLINE) -d $(SOURCE)$(HOME) $(KMRSAVE)

$(ODIR)/kmr:	$(LOCLIB)/kmrsys1.r $(LOCLIB)/kmrsys2.r $(COMMON) $(KRLIB) $(MPLIB) \
		$(SPLLIB) $(GPLIB) $(CHLIB) $(CMDLIB) $(WLIB) $(SFLIB) \
		$(MTLIB)  $(DDGSLIB) $(FLEXSYS)
	l68#20 $(L68FLAGS) $(LOCLIB)/kmrsys1.r $(LOCLIB)/kmrsys2.r \
	-l=$(FLEXSYS) -l=$(COMMON) -l=$(SPLLIB) \
	-l=$(KRLIB) -l=$(CMDLIB) -l=$(MPLIB) -l=$(CHLIB) -l=$(WLIB) \
	-l=$(DDGSLIB) -l=$(GPLIB) -l=$(SFLIB) -l=$(MTLIB) $(L68LIBS) \
	-O=$(ODIR)/kmr>-$(ODIR)/kmr.map
	attr -e -pe $(ODIR)/kmr $(ODIR)/kmr.stb
	
$(ODIR)/kkmr:	$(LOCLIB)/kmrsys1.r $(LOCLIB)/kmrsys2.r $(COMMON) $(KRLIB) $(MPLIB) \
		$(SPLLIB) $(GPLIB) $(CHLIB) $(CMDLIB) $(WLIB) $(SFLIB) \
		$(MTLIB)  $(DDGSLIB) $(FLEXSYS)
	l68#20 $(L68FLAGS) $(LOCLIB)/kmrsys1.r $(LOCLIB)/kmrsys2.r \
	-l=$(FLEXSYS) -l=$(COMMON) -l=$(SPLLIB) \
	-l=$(KRLIB) -l=$(CMDLIB) -l=$(MPLIB) -l=$(CHLIB) -l=$(WLIB) \
	-l=$(DDGSLIB) -l=$(GPLIB) -l=$(SFLIB) -l=$(MTLIB) $(L68LIBS) \
	-O=$(ODIR)/kkmr>-$(ODIR)/kkmr.map
	
*
*	Merges
*
*
$(LOCLIB)/kmrsys1.r: $(KMRSYS1)
	merge $(KMRSYS1) >-$(LOCLIB)/kmrsys1.r

$(LOCLIB)/kmrsys2.r: $(KMRSYS2)
	merge $(KMRSYS2) >-$(LOCLIB)/kmrsys2.r

*
*	K M R  -  rels
*
*
$(RDIR)/autosplit.r: $(SDIR)/autosplit.c $(CHRH) $(SCTH) $(KCOH) $(WSTH) $(DISH)
	cc $(CFLAGS) -r=$(RDIR) autosplit.c

$(RDIR)/chromlyse.r: 	$(SDIR)/chromlyse.c $(ALLH) $(CHRH) $(KCOH) $(COLH) \
										$(MLPH) $(WSTH) $(CSYH) $(CLSH)
	cc $(CFLAGS) -r=$(RDIR) chromlyse.c

$(RDIR)/chrombis.r: $(SDIR)/chrombis.c $(ALLH) $(CHRH) $(KCOH) $(MLPH) $(WSTH) $(DISH) 
	cc $(CFLAGS) -r=$(RDIR) chrombis.c

$(RDIR)/convscrformat.r: $(SDIR)/convscrformat.c $(CHRH) $(DFOH)
	cc $(CFLAGS) -r=$(RDIR) convscrformat.c

$(RDIR)/dispform.r:		$(SDIR)/dispform.c $(DFOH) $(DDGH) $(ALLH) $(CHRH)
	cc $(CFLAGS) -r=$(RDIR) dispform.c

$(RDIR)/hardcopy.r:	$(SDIR)/hardcopy.c $(SPLH) $(ALLH) $(DIRH) $(HCPH) $(CSYH) $(DISH) $(WSTH) $(KCOH) $(CHRH) $(FBIH) $(DFOH)
	cc $(CFLAGS) -r=$(RDIR) hardcopy.c

$(RDIR)/ident.r: $(SDIR)/ident.c $(KCOH) $(CHRH) $(INTH) $(KYYH) $(CSYH)
	cc $(CFLAGS) -r=$(RDIR) ident.c

$(RDIR)/kary.r: $(SDIR)/kary.c $(CHRH) $(KCOH) $(WSTH) 
	cc $(CFLAGS) -r=$(RDIR) kary.c

$(RDIR)/karyfix.r: $(SDIR)/karyfix.c $(ALLH) $(COLH) $(CHRH) $(KCOH) $(COLH) \
							$(MLPH) $(WSTH) $(CSYH) $(INTH) $(DFOH) $(IDEH)
	cc $(CFLAGS) -r=$(RDIR) karyfix.c

$(RDIR)/karysubs1.r: $(SDIR)/karysubs1.c $(ALLH) $(CHRH) $(INTH) $(KCOH) \
														$(WSTH) $(DISH) $(DFOH)
	cc $(CFLAGS) -r=$(RDIR) karysubs1.c

$(RDIR)/karysubs2.r: $(SDIR)/karysubs2.c $(ALLH) $(CHRH) $(INTH) $(KCOH) \
														$(WSTH) $(DISH) $(DFOH)
	cc $(CFLAGS) -r=$(RDIR) karysubs2.c

$(RDIR)/kenlarge.r: $(SDIR)/kenlarge.c $(CHRH) $(KCOH) $(MLPH) $(WSTH)
	cc $(CFLAGS) -r=$(RDIR) kenlarge.c

$(RDIR)/km.r: $(SDIR)/km.c $(KYYH) $(CHRH) $(KCOH) $(CSYH) $(SLDH) $(HCPH) $(CFPH) $(VERH)
	cc $(CFLAGS) -r=$(RDIR) km.c

$(RDIR)/kreseg.r: $(SDIR)/kreseg.c $(CHRH) $(INTH) $(KCOH) $(WSTH) $(ALLH) \
												$(DISH) $(MLPH) $(CLSH) $(DFOH)
	cc $(CFLAGS) -r=$(RDIR) kreseg.c

$(RDIR)/kycurs.r: $(SDIR)/kycurs.c $(ALLH) $(CHRH) $(KCOH) $(WSTH) \
														$(CSYH) $(DISH) $(DFOH)
	cc $(CFLAGS) -r=$(RDIR) kycurs.c

$(RDIR)/manualstraight.r: $(SDIR)/manualstraight.c $(ALLH) $(CHRH) \
				$(INTH) $(KCOH) $(WSTH) $(SCTH) $(CSYH) $(DISH)
	cc $(CFLAGS) -r=$(RDIR) manualstraight.c

$(RDIR)/misc.r: $(SDIR)/misc.c
    cc $(CFLAGS) -r=$(RDIR) misc.c

$(RDIR)/report.r: $(SDIR)/report.c $(FILH) $(KYYH)
	cc $(CFLAGS) -r=$(RDIR) report.c

$(RDIR)/rotchrom.r: $(SDIR)/rotchrom.c $(CHRH) $(INTH) $(KCOH) $(WSTH) \
											$(CSYH) $(ALLH) $(DISH)
	cc $(CFLAGS) -r=$(RDIR) rotchrom.c

$(RDIR)/seg_control_init.r: $(SDIR)/seg_control_init.c $(CHRH) $(WSTH) $(SCTH)
	cc $(CFLAGS) -r=$(RDIR) seg_control_init.c

$(RDIR)/segfix.r: $(SDIR)/segfix.c $(ALLH) $(COLH) $(CHRH) $(INTH) \
									$(KCOH) $(WSTH) $(CSYH) $(SCTH) $(DISH)
	cc $(CFLAGS) -r=$(RDIR) segfix.c

$(RDIR)/splitup.r: $(SDIR)/splitup.c $(ALLH) $(COLH) $(CHRH) $(INTH) \
 									$(KCOH) $(WSTH) $(CSYH) $(SCTH) $(DISH)
 	cc $(CFLAGS) -r=$(RDIR) splitup.c

$(RDIR)/segfixbis.r: $(SDIR)/segfixbis.c $(CHRH) $(INTH) $(KCOH) \
									$(KYYH) $(COLH) $(DISH) $(SCTH)
	cc $(CFLAGS) -r=$(RDIR) segfixbis.c

$(RDIR)/tapeutil.r:	$(SDIR)/tapeutil.c $(CSYH) $(KYYH)
	cc $(CFLAGS) -r=$(RDIR) tapeutil.c

$(RDIR)/od_archive.r: $(SDIR)/od_archive.c $(CSYH) $(KYYH)
	cc $(CFLAGS) -v=/dd/app/src/cmdsys -r=$(RDIR) $*.c

$(RDIR)/transfer.r:	$(SDIR)/transfer.c $(ALLH) $(TRNH)
	cc $(CFLAGS) -r=$(RDIR) transfer.c

$(RDIR)/utilities.r:	$(SDIR)/utilities.c $(CSYH) $(KYYH) $(TRNH)
	cc $(CFLAGS) -r=$(RDIR) utilities.c

$(RDIR)/varenhancement.r: $(SDIR)/varenhancement.c $(ALLH) $(KCOH) $(MLPH) \
							$(WSTH) $(CSYH)
	cc $(CFLAGS) -r=$(RDIR) varenhancement.c

$(RDIR)/zoombox.r: $(SDIR)/zoombox.c $(CHRH) $(WSTH) $(ALLH) $(DISH)
	cc $(CFLAGS) -r=$(RDIR) zoombox.c



