# -----------------------------------------------------------------------------
.SUFFIXES:
# {stamp: created by mmo Tue Mar 23 16:25:01 MET 1993}
# {options: -a -A -L -P}
# -----------------------------------------------------------------------------
# {macros}
src :=		ShowRef.od ShowRef.om
libs :=
liboptions :=	$(patsubst %,-l%,$(libs))
defs :=		$(filter %.od,$(src))
mods :=		$(filter %.om,$(src))
syms :=		$(patsubst %.od,%.sy,$(defs))
refs :=		$(patsubst %.om,%.r,$(mods))
objects :=	$(patsubst %.om,%.o,$(mods))
defsyms :=
modobjs :=
cyclesyms :=
# {targets}
C_oberon_ref :=	ShowRef
T_oberon_ref :=	oberon_ref
T :=		$(T_oberon_ref)
.PHONY:		all
all:		$T $(defsyms)
# {rules}
%.o:		%.r
OC :=		oc
OCFLAGS :=
NEWER :=	newer
RM :=		rm -f
TOUCH :=	touch
%.o:		%.om %.sy
		@$(TOUCH) $*.ts
		$(OC) $(OCFLAGS) $(liboptions) -c -u $<
		@[ -z "$(D_$*)" ] || $(NEWER) $*.ts $*.sy || $(MAKE) $(D_$*)
		@$(RM) $*.ts
%.sy %.o:	%.od
		$(OC) $(OCFLAGS) $(liboptions) -c -u $< $*.om
# {linkage}
OCLINKFLAGS :=
CL_oberon_ref := ShowRef.sy ShowRef.o
OBJS_oberon_ref := ShowRef.o
$(T_oberon_ref): $(CL_oberon_ref)
		$(OC) $(OCFLAGS) $(liboptions) $(OCLINKFLAGS) -o $@ \
		$(OBJS_oberon_ref)
# -----------------------------------------------------------------------------
# {dependencies}
ShowRef.sy:
ShowRef.o:	ShowRef.sy
# {reversed-dependencies}
D_ShowRef :=
# -----------------------------------------------------------------------------
.PHONY:		clean realclean
clean:
		$(RM) $(syms) $(refs) $(objects) core
realclean:	clean
		$(RM) $(T)
# -----------------------------------------------------------------------------
PR :=		pr
SPOOL :=	lpr
.PHONY:		prdefs prmods pr
pr:		prdefs prmods
prdefs:		prdefs.stamp
prmods:		prmods.stamp
prdefs.stamp:	$(defs)
		$(PR) $? | $(SPOOL)
		@-touch $@
prmods.stamp:	$(mods)
		$(PR) $? | $(SPOOL)
		@-touch $@
# -----------------------------------------------------------------------------
OBTAGS :=	obtags
tags:		$(mods)
		$(OBTAGS) $^
# -----------------------------------------------------------------------------
