Преглед на файлове

Changed installation mechanism

ceriel преди 31 години
родител
ревизия
6b8fbeb016
променени са 27 файла, в които са добавени 303 реда и са изтрити 136 реда
  1. 1 0
      doc/.distr
  2. 1 1
      doc/LLgen/.distr
  3. 12 0
      doc/LLgen/proto.make
  4. 41 63
      doc/Makefile
  5. 1 1
      doc/ceg/.distr
  6. 12 0
      doc/ceg/proto.make
  7. 1 1
      doc/ego/.distr
  8. 64 0
      doc/ego/proto.make
  9. 1 1
      doc/em/int/.distr
  10. 33 0
      doc/em/int/proto.make
  11. 48 0
      doc/em/proto.make
  12. 31 57
      doc/install.doc
  13. 1 1
      doc/lint/.distr
  14. 1 1
      doc/sparc/.distr
  15. 1 1
      doc/sparc/1
  16. 1 1
      doc/sparc/2
  17. 1 1
      doc/sparc/3
  18. 1 1
      doc/sparc/4
  19. 1 1
      doc/sparc/5
  20. 1 1
      doc/sparc/A
  21. 1 1
      doc/sparc/B
  22. 2 0
      doc/sparc/init
  23. 1 1
      doc/sparc/intro
  24. 32 0
      doc/sparc/proto.make
  25. 1 1
      doc/sparc/title
  26. 1 1
      doc/top/.distr
  27. 11 0
      doc/top/proto.make

+ 1 - 0
doc/.distr

@@ -1,5 +1,6 @@
 READ_ME
 Makefile
+proto.make
 ack.doc
 basic.doc
 cg.doc

+ 1 - 1
doc/LLgen/.distr

@@ -1,3 +1,3 @@
 LLgen.n
 LLgen.refs
-Makefile
+proto.make

+ 12 - 0
doc/LLgen/proto.make

@@ -0,0 +1,12 @@
+# $Header$
+
+#PARAMS         do not remove this line!
+
+SRC_DIR = $(SRC_HOME)/doc/LLgen
+
+EQN=eqn
+REFER=refer
+TBL=tbl
+
+$(TARGET_HOME)/doc/LLgen.doc:	$(SRC_DIR)/LLgen.n $(SRC_DIR)/LLgen.refs
+	$(REFER) -sA+T -p $(SRC_DIR)/LLgen.refs $(SRC_DIR)/LLgen.n | $(EQN) | $(TBL) > $@

+ 41 - 63
doc/Makefile

@@ -1,14 +1,13 @@
 # $Header$
 
-SUF=pr
-PRINT=cat
-NROFF=nroff
-TBL=tbl
-EQN=eqn
-PIC=pic
-REFER=refer
+# This Makefile is not supposed to be used in the doc source directory.
+# Instead, it is supposed to be copied to the target doc directory.
+
+SUF=dit
+PRINT=dis
+NROFF=troff
 MS=-ms
-TARGET=-Tlp
+OPR=dip
 
 RESFILES= \
 	toolkit.$(SUF) install.$(SUF) em.$(SUF) ack.$(SUF) v7bugs.$(SUF) \
@@ -18,73 +17,52 @@ RESFILES= \
 	m68020.$(SUF) occam.$(SUF) m2ref.$(SUF) ceg.$(SUF) nopt.$(SUF) \
 	sparc.$(SUF) int.$(SUF) lint.$(SUF)
 
-.SUFFIXES: .doc .$(SUF)
+.SUFFIXES: .doc .$(SUF) .lpr
 
 .doc.$(SUF):
-		$(NROFF) $(MS) $(TARGET) $< > $@
+		$(NROFF) $(MS) $< > $@
+
+# directly to the printer:
+.doc.lpr:
+		$(NROFF) $(MS) $< | $(OPR)
+
+# Exceptions, to be run without -ms
 
-crefman.$(SUF):	crefman.doc
-		$(EQN) $(TARGET) crefman.doc | $(NROFF) $(MS) $(TARGET) >$@
-ansi_C.$(SUF):	ansi_C.doc
-		$(TBL) ansi_C.doc | $(NROFF) $(MS) $(TARGET) >$@
 v7bugs.$(SUF):	v7bugs.doc
-		$(NROFF) $(TARGET) v7bugs.doc >$@
-install.$(SUF):	install.doc
-		$(TBL) install.doc | $(NROFF) $(MS) $(TARGET) >$@
+		$(NROFF) v7bugs.doc >$@
+
+v7bugs.lpr:	v7bugs.doc
+		$(NROFF) v7bugs.doc | $(OPR)
+
 pcref.$(SUF):	pcref.doc
-		$(TBL) pcref.doc | $(NROFF) $(TARGET) >$@
+		$(NROFF) pcref.doc >$@
+
+pcref.lpr:	pcref.doc
+		$(NROFF) pcref.doc | $(OPR)
+
 val.$(SUF):	val.doc
-		$(NROFF) $(TARGET) val.doc >$@
-6500.$(SUF):	6500.doc
-		$(TBL) 6500.doc | $(NROFF) $(MS) $(TARGET) >$@
-m68020.$(SUF):	m68020.doc
-		$(EQN) $(TARGET) m68020.doc | $(TBL) | $(NROFF) $(MS) $(TARGET) >$@
-ncg.$(SUF):	ncg.doc
-		$(TBL) ncg.doc | $(NROFF) $(MS) $(TARGET) >$@
-LLgen.doc:	LLgen.X
-LLgen.X:
-		cd LLgen; make "EQN="$(EQN) "TBL="$(TBL) "REFER="$(REFER) "TARGET="$(TARGET)
-lint.doc:	lint.X
-lint.X:
-		cd lint; make
-top.doc:	top.X
-top.X:
-		cd top; make "EQN="$(EQN) "TBL="$(TBL) "REFER="$(REFER) "TARGET="$(TARGET)
-occam.doc:	occam.X
-occam.X:
-		cd occam; make "PIC="$(PIC) "TBL="$(TBL) "EQN="$(EQN) "TARGET="$(TARGET)
-sparc.doc:	sparc.X
-sparc.X:
-		cd sparc; make "PIC="$(PIC) "TBL="$(TBL) "TARGET="$(TARGET)
-ego.doc:	ego.X
-ego.X:
-		cd ego; make "REFER="$(REFER) "TARGET="$(TARGET) "TBL="$(TBL)
-em.$(SUF):	em.X
-em.X:
-		cd em; make "TBL="$(TBL) "NROFF="$(NROFF) "SUF="$(SUF) "TARGET="$(TARGET)
-
-int.doc:	int.X
-int.X:
-		cd int; make "TBL="$(TBL)
-
-ceg.doc:	ceg.X
-ceg.X:
-		cd ceg; make "PIC="$(PIC) "TBL="$(TBL) "REFER="$(REFER) "TARGET="$(TARGET)
-
-install cmp:
+		$(NROFF) val.doc >$@
 
-distr:		install.doc
-		tbl install.doc | nroff -Tlpr $(MS) >install.pr
+val.lpr:	val.doc
+		$(NROFF) val.doc | $(OPR)
 
 pr:
-		@make "SUF="$(SUF) "NROFF="$(NROFF) "EQN="$(EQN) "TBL="$(TBL) \
-			"PIC="$(PIC) "MS="$(MS) "TARGET="$(TARGET) \
+		@make "SUF="$(SUF) "NROFF="$(NROFF) "MS="$(MS) \
 			$(RESFILES) >make.pr.out 2>&1
 		@$(PRINT) $(RESFILES)
 
+# The 'opr' entry creates a lot of paper ... but the user must be able
+# to write the doc directory. I hope that this limits the users of
+# this entry to persons that know what they are doing.
 opr:
-		make pr | opr
+		@make "SUF="$(SUF) "NROFF="$(NROFF) "MS="$(MS) $(RESFILES) 
+		$(OPR) $(RESFILES)
 
 clean:
-		-rm -f *.old $(RESFILES) *.t *.out LLgen.doc top.doc \
-			occam.doc ego.doc int.doc ceg.doc lint.doc sparc.doc
+		-rm -f $(RESFILES)
+
+# The distr entry is only used when making a distribution tree.
+# It makes a version of the installation manual, suitable for a simple
+# line printer.
+distr:		install.doc
+		tbl install.doc | nroff -Tlpr $(MS) >install.pr

+ 1 - 1
doc/ceg/.distr

@@ -1,3 +1,3 @@
-Makefile
+proto.make
 ceg.ref
 ceg.tr

+ 12 - 0
doc/ceg/proto.make

@@ -0,0 +1,12 @@
+# $Header$
+
+#PARAMS         do not remove this line!
+
+SRC_DIR = $(SRC_HOME)/doc/ceg
+
+PIC=pic
+TBL=tbl
+REFER=refer
+
+$(TARGET_HOME)/doc/ceg.doc:	$(SRC_DIR)/ceg.tr $(SRC_DIR)/ceg.ref
+	$(PIC) $(SRC_DIR)/ceg.tr | $(REFER) -e -p $(SRC_DIR)/ceg.ref | $(TBL) > $@

+ 1 - 1
doc/ego/.distr

@@ -1,4 +1,4 @@
-Makefile
+proto.make
 bo
 ca
 cf

+ 64 - 0
doc/ego/proto.make

@@ -0,0 +1,64 @@
+# $Header$
+
+#PARAMS         do not remove this line!
+
+SRC_DIR = $(SRC_HOME)/doc/ego
+
+REFS=-p $(SRC_DIR)/refs.opt -p $(SRC_DIR)/refs.stat -p $(SRC_DIR)/refs.gen
+REFFILES = $(SRC_DIR)/refs.opt $(SRC_DIR)/refs.stat $(SRC_DIR)/refs.gen
+INTRO=$(SRC_DIR)/intro/intro?
+OV=$(SRC_DIR)/ov/ov?
+IC=$(SRC_DIR)/ic/ic?
+CF=$(SRC_DIR)/cf/cf?
+IL=$(SRC_DIR)/il/il?
+SR=$(SRC_DIR)/sr/sr?
+CS=$(SRC_DIR)/cs/cs?
+SP=$(SRC_DIR)/sp/sp?
+UD=$(SRC_DIR)/ud/ud?
+LV=$(SRC_DIR)/lv/lv?
+CJ=$(SRC_DIR)/cj/cj?
+BO=$(SRC_DIR)/bo/bo?
+RA=$(SRC_DIR)/ra/ra?
+CA=$(SRC_DIR)/ca/ca?
+EGO=$(INTRO) $(OV) $(IC) $(CF) $(IL) $(SR) $(CS) $(SP) $(CJ) $(BO) \
+    $(UD) $(LV) $(RA) $(CA)
+REFER=refer
+TROFF=troff
+TBL=tbl
+TARGET=-Tlp
+HEAD = $(SRC_DIR)/intro/head
+TAIL = $(SRC_DIR)/intro/tail
+
+$(TARGET_HOME)/doc/ego.doc:	$(REFFILES) $(HEAD) $(TAIL) $(EGO)
+	 $(REFER) -sA+T -l4,2 $(REFS) $(HEAD) $(EGO) $(TAIL) | $(TBL) > $(TARGET_HOME)/doc/ego.doc
+
+ego.f:	$(REFFILES) $(HEAD) $(TAIL) $(EGO)
+	 $(REFER)  -sA+T -l4,2 $(REFS) $(HEAD) $(EGO) $(TAIL) | $(TBL) | $(TROFF) $(TARGET) -ms > ego.f
+intro.f:	$(REFFILES) $(HEAD) $(TAIL) $(INTRO)
+	 $(REFER)  -sA+T -l4,2 $(REFS) $(HEAD) $(INTRO) $(TAIL) | $(TBL) | $(TROFF) $(TARGET) -ms > intro.f
+ov.f:	$(REFFILES) $(HEAD) $(TAIL) $(OV)
+	 $(REFER)  -sA+T -l4,2 $(REFS) $(HEAD) $(OV) $(TAIL) | $(TBL) | $(TROFF) $(TARGET) -ms > ov.f
+ic.f:	$(REFFILES) $(HEAD) $(TAIL) $(IC)
+	 $(REFER)  -sA+T -l4,2 $(REFS) $(HEAD) $(IC) $(TAIL) | $(TBL) | $(TROFF) $(TARGET) -ms > ic.f
+cf.f:	$(REFFILES) $(HEAD) $(TAIL) $(CF)
+	 $(REFER)  -sA+T -l4,2 $(REFS) $(HEAD) $(CF) $(TAIL) | $(TBL) | $(TROFF) $(TARGET) -ms > cf.f
+il.f:	$(REFFILES) $(HEAD) $(TAIL) $(IL)
+	 $(REFER)  -sA+T -l4,2 $(REFS) $(HEAD) $(IL) $(TAIL) | $(TBL) | $(TROFF) $(TARGET) -ms > il.f
+sr.f:	$(REFFILES) $(HEAD) $(TAIL) $(SR)
+	 $(REFER)  -sA+T -l4,2 $(REFS) $(HEAD) $(SR) $(TAIL) | $(TBL) | $(TROFF) $(TARGET) -ms > sr.f
+cs.f:	$(REFFILES) $(HEAD) $(TAIL) $(CS)
+	 $(REFER)	-sA+T -l4,2 $(REFS) $(HEAD) $(CS) $(TAIL) | $(TBL) | $(TROFF) $(TARGET) -ms > cs.f
+sp.f:	$(REFFILES) $(HEAD) $(TAIL) $(SP)
+	 $(REFER)  -sA+T -l4,2 $(REFS) $(HEAD) $(SP) $(TAIL) | $(TBL) | $(TROFF) $(TARGET) -ms > sp.f
+cj.f:	$(REFFILES) $(HEAD) $(TAIL) $(CJ)
+	 $(REFER)  -sA+T -l4,2 $(REFS) $(HEAD) $(CJ) $(TAIL) | $(TBL) | $(TROFF) $(TARGET) -ms > cj.f
+bo.f:	$(REFFILES) $(HEAD) $(TAIL) $(BO)
+	 $(REFER)  -sA+T -l4,2 $(REFS) $(HEAD) $(BO) $(TAIL) | $(TBL) | $(TROFF) $(TARGET) -ms > bo.f
+ud.f:	$(REFFILES) $(HEAD) $(TAIL) $(UD)
+	 $(REFER)  -sA+T -l4,2 $(REFS) $(HEAD) $(UD) $(TAIL) | $(TBL) | $(TROFF) $(TARGET) -ms > ud.f
+lv.f:	$(REFFILES) $(HEAD) $(TAIL) $(LV)
+	 $(REFER)  -sA+T -l4,2 $(REFS) $(HEAD) $(LV) $(TAIL) | $(TBL) | $(TROFF) $(TARGET) -ms > lv.f
+ra.f:	$(REFFILES) $(HEAD) $(TAIL) $(RA)
+	 $(REFER)  -sA+T -l4,2 $(REFS) $(HEAD) $(RA) $(TAIL) | $(TBL) | $(TROFF) $(TARGET) -ms > ra.f
+ca.f:	$(REFFILES) $(HEAD) $(TAIL) $(CA)
+	 $(REFER)  -sA+T -l4,2 $(REFS) $(HEAD) $(CA) $(TAIL) | $(TBL) | $(TROFF) $(TARGET) -ms > ca.f

+ 1 - 1
doc/em/int/.distr

@@ -1,4 +1,4 @@
-Makefile
+proto.make
 READ_ME
 em.p
 emdmp.c

+ 33 - 0
doc/em/int/proto.make

@@ -0,0 +1,33 @@
+# $Header$
+
+#PARAMS         do not remove this line!
+
+SRC_DIR = $(SRC_HOME)/doc/em/int
+
+install \
+all:            em emdmp tables
+
+tables:         mktables $(SRC_HOME)/etc/ip_spec.t
+		mktables $(SRC_HOME)/etc/ip_spec.t tables
+
+mktables:       mktables.c $(TARGET_HOME)/h/em_spec.h \
+		$(TARGET_HOME)/h/em_flag.h \
+		$(TARGET_HOME)/lib.bin/em_data.$(LIBSUF) $(TARGET_HOME)/h/ip_spec.h
+		$(CC) -I$(TARGET_HOME)/h -O -o mktables mktables.c $(TARGET_HOME)/lib.bin/em_data.$(LIBSUF)
+
+em:             $(SRC_DIR)/em.p
+		apc -O $(SRC_DIR)/em.p >emerrs ; mv a.out em
+
+nem.p:          $(SRC_DIR)/em.p
+		sed -e '/maxadr  = t16/s//maxadr  =t15/' -e '/maxdata = 8191; /s//maxdata = 14335;/' -e '/ adr=.*long/s// adr=    0..maxadr/' <$(SRC_DIR)/em.p >nem.p
+
+nem:            nem.p
+		apc -O nem.p >emerrs ; mv a.out nem
+
+emdmp:          $(SRC_DIR)/emdmp.c
+		$(CC) -I$(TARGET_HOME)/h -I$(TARGET_HOME)/config -o emdmp -O $(SRC_DIR)/emdmp.c
+
+cmp:
+
+pr:		
+		@pr $(SRC_DIR)/em.p $(SRC_DIR)/mktables.c $(SRC_DIR)/emdmp.c

+ 48 - 0
doc/em/proto.make

@@ -0,0 +1,48 @@
+# $Header$
+
+#PARAMS         do not remove this line!
+
+TBL=tbl
+
+TARGET_DIR = $(TARGET_HOME)/doc
+
+head:   $(TARGET_DIR)/em.doc
+
+FILES = $(SRC_DIR)/macr.nr \
+	$(SRC_DIR)/title.nr \
+	$(SRC_DIR)/intro.nr \
+	$(SRC_DIR)/mem.nr \
+	$(SRC_DIR)/ispace.nr \
+	$(SRC_DIR)/dspace.nr \
+	$(SRC_DIR)/mapping.nr \
+	$(SRC_DIR)/types.nr \
+	$(SRC_DIR)/descr.nr \
+	$(SRC_DIR)/env.nr \
+	$(SRC_DIR)/traps.nr \
+	$(SRC_DIR)/mach.nr \
+	$(SRC_DIR)/assem.nr \
+	$(SRC_DIR)/em.i \
+	$(SRC_DIR)/app.codes.nr \
+	$(SRC_DIR)/app.exam.nr \
+	$(SRC_DIR)/cont.nr
+
+IOP=$(SRC_HOME)/etc/ip_spec.t#			# to construct itables from
+
+$(TARGET_DIR)/em.doc:	$(FILES) itables dispatdummy
+	$(TBL) $(FILES) > $(TARGET_DIR)/em.doc
+
+itables: $(IOP) $(SRC_DIR)/ip.awk
+	awk -f $(SRC_DIR)/ip.awk $(IOP) | sed 's/-/\\-/g' | $(TBL) >itables
+
+dispatdummy:	$(IOP) mkdispatch
+	mkdispatch < $(IOP) > dispatdummy
+	sed -f $(SRC_DIR)/dispat1.sed < dispatdummy | $(TBL) > dispat1
+	sed -f $(SRC_DIR)/dispat2.sed < dispatdummy | $(TBL) > dispat2
+	sed -f $(SRC_DIR)/dispat3.sed < dispatdummy | $(TBL) > dispat3
+
+mkdispatch:	$(SRC_DIR)/mkdispatch.c
+	$(UCC) -c -I$(UTIL_HOME)/h $(SRC_DIR)/mkdispatch.c
+	$(UCC) $(ULDOPTIONS) -o mkdispatch mkdispatch.$(USUF) $(UTIL_HOME)/lib.bin/em_data.$(ULIBSUF)
+
+clean:
+	rm -f itables dispatdummy dispat? *.o mkdispatch Out

+ 31 - 57
doc/install.doc

@@ -154,10 +154,7 @@ include files for some of the modules.
 .IP "doc"
 this directory contains the unformatted documents for the Kit.
 A list of the available documents can be found in the last section.
-.IP "doc/em"
-the EM-manual IR-81.
-.IP "doc/em/int"
-the EM interpreter written in Pascal.
+These documents must be processed by [nt]roff.
 .IP "man"
 man files for various utilities.
 .if n .nr PD 1v
@@ -196,13 +193,6 @@ the main description of EM sits here.
 Files (e.g. em_table) describing
 the opcodes and pseudos in use,
 the operands allowed, effect in stack etc. etc.
-.IP "mkun"
-the PUBMAC macro package for nroff/troff from the Katholieke Universiteit at
-Nijmegen.
-It is used for the EM reference manual.
-The Makefile installs the macro package in
-/usr/lib/tmac.
-This package is in the public domain.
 .IP "mach"
 just there to group the directories with all sources for each machine.
 The section about "Machines" of this manual indicates which subdirectories
@@ -580,20 +570,6 @@ Asking for things that don't have to be installed.
 .IP \-
 Producing a shell script called "INSTALL" that will take care of the
 ACK installation process.
-.if n .sp 1
-.if n .nr PD 1v
-.LP
-Some actions still have to be done by hand:
-.if n .sp 1
-.if n .nr PD 0
-.IP \-
-The installation of the PUBMAC macro package is not done
-automatically because super-user privileges are needed to do
-that on most systems.
-This macro package is used with several of the documents
-provided in the Kit.
-.if n .sp 1
-.if n .nr PD 0
 .NH
 Compiling the Kit
 .PP
@@ -1209,42 +1185,40 @@ An example of the output of a make is present in the file Out.std.
 Documentation
 .PP
 After installationm manual pages for Amsterdam Compiler Kit can be found
-in the $TARGET_HOME/man directory.
-.LP
-Several documents are provided:
+in the $TARGET_HOME/man directory. Also, the following documents are provided
+in the $TARGET_HOME/doc directory:
 .TS
 l l.
-doc/toolkit.doc	general overview (CACM article)
-doc/em	description of the EM machine architecture
-doc/ack.doc	format of machine description files (lib/*/descr)
-doc/ansi_C.doc	ANSI C implementation description
-doc/basic.doc	Basic reference manual
-doc/pcref.doc	Pascal-frontend reference manual
-doc/val.doc	results of running the Pascal Validation Suite
-doc/crefman.doc	C-frontend description
-doc/LLgen	description of the LL(1) parser generator
-doc/peep.doc	internal documentation for the peephole optimizer
-doc/cg.doc	documentation for backend writers and maintainers
-doc/regadd.doc	addendum to previous document describing register variables
-doc/ncg.doc	documentation for the newest backends
-doc/v7bugs.doc	bugs in the V7 system and how to fix them
-doc/6500.doc	MSC 6500 backend description
-doc/i80.doc	Intel 8080 backend description
-doc/z80.doc	Zilog Z80 backend description
-doc/m68020.doc	Motorola M68000/M68020 backend description
-doc/sparc	SPARC code expander description
-doc/occam	occam-frontend description
-doc/ego	Global Optimizer description
-doc/top	Target Optimizer description
-doc/int	description of the EM interpreter written in C
-doc/ceg	documentation for code-expander writers and maintainers
-doc/lint	documentation of LINT
-doc/m2ref.doc	Modula-2 frontend description
-doc/install.doc	this document
-doc/install.pr	this document (formatted)
+toolkit.doc	general overview (CACM article)
+em.doc	description of the EM machine architecture
+ack.doc	format of machine description files (lib/*/descr)
+ansi_C.doc	ANSI C implementation description
+basic.doc	Basic reference manual
+pcref.doc	Pascal-frontend reference manual
+val.doc	results of running the Pascal Validation Suite
+crefman.doc	C-frontend description
+LLgen	description of the LL(1) parser generator
+peep.doc	internal documentation for the peephole optimizer
+cg.doc	documentation for backend writers and maintainers
+regadd.doc	addendum to previous document describing register variables
+ncg.doc	documentation for the newest backends
+v7bugs.doc	bugs in the V7 system and how to fix them
+6500.doc	MSC 6500 backend description
+i80.doc	Intel 8080 backend description
+z80.doc	Zilog Z80 backend description
+m68020.doc	Motorola M68000/M68020 backend description
+sparc.doc	SPARC code expander description
+occam.doc	occam-frontend description
+ego.doc	Global Optimizer description
+top.doc	Target Optimizer description
+int.doc	description of the EM interpreter written in C
+ceg.doc	documentation for code-expander writers and maintainers
+lint.doc	documentation of LINT
+m2ref.doc	Modula-2 frontend description
+install.doc	this document
+install.pr	this document (formatted for a simple line printer)
 .TE
 .LP
-The names in this list without a suffix are in fact a subdirectory.
 Use the Makefile to get readable copies.
 .LP
 Good luck.

+ 1 - 1
doc/lint/.distr

@@ -1,4 +1,4 @@
-Makefile
+proto.make
 abstract
 appendix_A
 appendix_B

+ 1 - 1
doc/sparc/.distr

@@ -11,5 +11,5 @@ note_on_reg_wins
 refs
 timing
 title
-Makefile
+proto.make
 pics

+ 1 - 1
doc/sparc/1

@@ -1,4 +1,4 @@
-.so init
+.In
 .NH
 INTRODUCTION
 .NH 2

+ 1 - 1
doc/sparc/2

@@ -1,4 +1,4 @@
-.so init
+.In
 .nr H1 1
 .NH
 CLOSE-UP LOOK

+ 1 - 1
doc/sparc/3

@@ -1,4 +1,4 @@
-.so init
+.In
 .nr H1 2
 .NH
 PROBLEMS

+ 1 - 1
doc/sparc/4

@@ -1,4 +1,4 @@
-.so init
+.In
 .hw data-structures
 .nr H1 3
 .NH

+ 1 - 1
doc/sparc/5

@@ -1,4 +1,4 @@
-.so init
+.In
 .nr H1 4
 .NH
 FUTURE WORK

+ 1 - 1
doc/sparc/A

@@ -1,4 +1,4 @@
-.so init
+.In
 .SH
 A. MEASUREMENTS
 .SH

+ 1 - 1
doc/sparc/B

@@ -1,4 +1,4 @@
-.so init
+.In
 .SH
 B. IMPLEMENTATION
 .SH

+ 2 - 0
doc/sparc/init

@@ -1,3 +1,4 @@
+.de In
 .nr PS 12
 .nr VS 14
 .\" .fp 6 AM
@@ -6,6 +7,7 @@
 .ds So \f1\s+1
 .ds OQ `\h'-1p'`
 .ds CQ '\h'-1p''
+..
 .de UX
 .ie \\n(UX \s-1UNIX\s0\\$1
 .el \{\

+ 1 - 1
doc/sparc/intro

@@ -1,4 +1,4 @@
-.so init
+.In
 .hw de-vised
 .TL
 A fast backend for SPARC processors

+ 32 - 0
doc/sparc/proto.make

@@ -0,0 +1,32 @@
+# $Header$
+
+#PARAMS         do not remove this line!
+
+SRC_DIR = $(SRC_HOME)/doc/sparc
+TARGET = $(TARGET_HOME)/doc/sparc.doc
+
+REFER=refer
+TBL=tbl
+PIC=pic
+GRAP=grap
+
+SRC =	$(SRC_DIR)/init \
+	$(SRC_DIR)/refs \
+	$(SRC_DIR)/title \
+	$(SRC_DIR)/intro \
+	$(SRC_DIR)/1 \
+	$(SRC_DIR)/2 \
+	$(SRC_DIR)/3 \
+	4 \
+	$(SRC_DIR)/5 \
+	A \
+	$(SRC_DIR)/B
+
+$(TARGET)/sparc.doc:	$(SRC)
+		$(REFER) -sA+T '-l\", ' -p $(SRC) | $(GRAP) | $(PIC) | $(TBL) > $@
+
+4:	$(SRC_DIR)/4
+	sed 's^pics/^$(SRC_DIR)/pics/^' < $(SRC_DIR)/4 > 4
+
+A:	$(SRC_DIR)/A
+	sed 's^pics/^$(SRC_DIR)/pics/^' < $(SRC_DIR)/A > A

+ 1 - 1
doc/sparc/title

@@ -1,4 +1,4 @@
-.so init
+.In
 .TL
 .sp 1.2c
 A fast backend for SPARC processors

+ 1 - 1
doc/top/.distr

@@ -1,3 +1,3 @@
-Makefile
+proto.make
 refs.top
 top.n

+ 11 - 0
doc/top/proto.make

@@ -0,0 +1,11 @@
+# $Header$
+
+#PARAMS         do not remove this line!
+
+REFER=refer
+TBL=tbl
+
+SRC_DIR = $(SRC_HOME)/doc/top
+
+$(TARGET_HOME)/doc/top.doc:	$(SRC_DIR)/top.n $(SRC_DIR)/refs.top
+	$(REFER) -sA+T -l4,2 -p $(SRC_DIR)/refs.top $(SRC_DIR)/top.n | $(TBL) > $@