ALL=all.internal
host = coherent
target = coherent
subdir =
VPATH = .
# The name of the installed executable.
inst_name = m4

# The name of the installed info file.
info_name = m4

# This directory must exist before installation.
prefix	= /usr/local

# Residence of GNU m4 executable.
bindir	= $(prefix)/bin

# Residence of the GNU m4 documentation.
infodir	= $(prefix)/lib/emacs/info

# These defines can be change in config/hmake-OS
OS	= -DBSD
INCL	= -I$(LIB)
CFLAGS	= -O 
LDFLAGS	= 
CC	= cc

SHELL	= /bin/sh

DEPEND	= $(CC) -MM $(INCL)
INSTALL	= install -c -s -m 755
INSTALLDATA = install -m 444

#### OS customisation inserted here by configure.
## End of customisation.

# GNU m4 specific source files.
M4	= m4
HDRS	= m4.h
SRCS	= m4.c input.c output.c symtab.c builtin.c macro.c debug.c eval.c path.c format.c
OBJS	= m4.o input.o output.o symtab.o builtin.o macro.o debug.o eval.o path.o format.o vprintf.o
MISC	= README Makefile.in configure.in

# Library of generel GNU functions.
LIB	= lib
GNULIB	= $(LIB)/gnu.a

# Source files for library
LIBDIST = $(LIB)/obstack.h $(LIB)/obstack.c $(LIB)/regex.h $(LIB)/regex.c \
	  $(LIB)/getopt.h $(LIB)/getopt.c $(LIB)/getopt1.c
LIBMISC = $(LIB)/configure $(LIB)/Makefile.in $(LIB)/configure.in

ETCDIST	= etc/*.sh etc/vfprintf.c etc/texinfo.tex 
ETCMISC	= etc/configure etc/Makefile.in etc/configure.in

OMISC 	= configure COPYING version.h config .vers

DIST	= $(MISC) $(OMISC) $(LIBMISC) $(ETCMISC) \
	  $(SRCS) $(HDRS) $(LIBDIST) $(ETCDIST) \
	  m4.texinfo m4.dvi examples test

.c.o:
	$(CC) $(CFLAGS) $(INCL) $(OS) -c $< -o $@ 

# Compile GNU m4.  The files version.h and .vers is generated from the
# RCS file.  The latter is used by newdist.sh.
all:	$(M4)

$(M4): $(GNULIB) $(OBJS)
	$(CC) -o $@ $(LDFLAGS) $(OBJS) $(GNULIB) $(LOADLIBES)

version.h: always
	@./etc/newvers.sh m4.c

# Compile the library.
$(GNULIB): always
	 cd $(LIB); $(MAKE) $(MFLAGS) CFLAGS="$(CFLAGS)" OS="$(OS)"


# Install both m4 and the info file.
install: $(bindir)/$(inst_name) $(infodir)/$(info_name)
	@echo Installation done

$(bindir)/$(inst_name):  $(M4)
	$(INSTALL) $(M4) $(bindir)/$(inst_name)

$(infodir)/$(info_name): m4.info
	$(INSTALLDATA) m4.info $(infodir)/$(info_name)
	-$(INSTALLDATA) m4.info-1 $(infodir)
	-$(INSTALLDATA) m4.info-2 $(infodir)

# Build distribution.
dist:	version.h examples
	./etc/newdist.sh $(DIST)


m4.info: m4.texinfo
	makeinfo m4.texinfo

index: m4.fn m4.cp
	texindex m4.fn m4.cp



clean:
	rm -f $(M4) *.o *~ *.bak '#*' core a.out
	rm -f m4*.tar.Z m4.tar m4.?? m4.??? m4.info*
	rm -fr dist
	cd test; rm -f *~ '#*'
	cd $(LIB); $(MAKE) $(MFLAGS) clean
	cd etc; $(MAKE) $(MFLAGS) clean

realclean:	clean
	rm -f examples/[0-9][0-9].*

distclean: realclean



tags:	$(SRCS) $(HDRS)
	etags $(SRCS) $(HDRS)

TAGS:	tags



check:	always
	./etc/check_examples.sh examples/[0-9][0-9].*

examples: always
	rm -f examples/[0-9][0-9].*
	./etc/get_examples.sh m4.texinfo
	


REV	= "`./etc/nextvers.sh m4.c`"
ci:
	ci $(CIOPTS) -f -l$(REV) -t/dev/null -m'$(MSG)' \
		 $(MISC) $(SRCS) $(HDRS)
	cd etc; $(MAKE) $(MFLAGS) MSG='$(MSG)' ci

diff:
	-rcsdiff -c $(MISC) $(SRCS) $(HDRS) 2>&1
	-cd etc; $(MAKE) $(MFLAGS) diff

namecheck:
	find . -print | awk -F/ 'length($$NF) > 14'

always:
	@echo

depend:	$(SRCS)
	for i in $(SRCS) ; do $(DEPEND) $$i >> makedep; done
	echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
	echo '$$r makedep' >>eddep
	echo 'w' >>eddep
	cp Makefile Makefile.bak
	ed - Makefile < eddep
	rm eddep makedep
	echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
	echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
	echo '# see make depend above' >> Makefile

# DO NOT DELETE THIS LINE

m4.o : m4.c m4.h config.h lib/obstack.h version.h 
input.o : input.c m4.h config.h lib/obstack.h 
output.o : output.c m4.h config.h lib/obstack.h 
symtab.o : symtab.c m4.h config.h lib/obstack.h 
builtin.o : builtin.c m4.h config.h lib/obstack.h lib/regex.h 
macro.o : macro.c m4.h config.h lib/obstack.h 
debug.o : debug.c m4.h config.h lib/obstack.h 
eval.o : eval.c m4.h config.h lib/obstack.h 
path.o : path.c m4.h config.h lib/obstack.h 
format.o : format.c m4.h config.h lib/obstack.h 

# DEPENDENCIES MUST END AT END OF FILE
# IF YOU PUT STUFF HERE IT WILL GO AWAY
# see make depend above
