# Makefile for texinfo/info.	-*- Indented-Text -*-
# Copyright (C) 1993 Free Software Foundation, Inc.

CC = gcc -g
O = .o
A = .a
CFLAGS = -DOS2 -DHAVE_STRING_H -DHAVE_SYS_TIME_H -DHAVE_TERMIO_H \
       -DHAVE_VFPRINTF -DHAVE_VSPRINTF -DHAVE_SETVBUF
LIBS = ../libtxi/libtxi$A

MAKEINFO= ../makeinfo/makeinfo.exe
COMPRESS= compress

DEFAULT_INFOPATH = .;/emacs/info
LDEFS = -DNAMED_FUNCTIONS=1 -DDEFAULT_INFOPATH=\"$(DEFAULT_INFOPATH)\"

PROGS = info.exe makedoc.exe

OBJS =	dir$O display$O doc$O echo_area$O filesys$O info-utils$O info$O \
	infodoc$O infomap$O m-x$O nodes$O search$O session$O signals$O \
	terminal$O tilde$O window$O indices$O xmalloc$O nodemenu$O \
	footnotes$O dribble$O variables$O gc$O 

# The names of files which declare info commands.
CMDFILES = session.c echo_area.c infodoc.c m-x.c indices.c nodemenu.c \
	   footnotes.c variables.c

# The name of the program which builds documentation structure from CMDFILES.
MAKEDOC_SOURCE = makedoc.c xmalloc.c
MAKEDOC_OBJECTS = makedoc$O xmalloc$O

.SUFFIXES: .c $O

.c$O:
	$(CC) $(CFLAGS) $(LDEFS) -c -I. -I../libtxi $<

all: $(PROGS) info.info info-stnd.info

info.exe: $(OBJS) $(LIBS)
	$(CC) $(OBJS) -o $@ $(LIBS)

info.info: info.texi
	$(MAKEINFO) --no-split -I. info.texi

info-stnd.info: info-stnd.texi
	$(MAKEINFO) --no-split -I. info-stnd.texi

makedoc.exe: $(MAKEDOC_OBJECTS) $(LIBS)
	$(CC) $(MAKEDOC_OBJECTS) -o $@ $(LIBS)

clean:
	rm -f funs.h doc.c *.o *.obj *.info makedoc.exe

# The files `doc.c' and `funs.h' are created by ./makedoc run over the source
# files which contain DECLARE_INFO_COMMAND.  `funs.h' is a header file
# listing the functions found.  `doc.c' is a structure containing pointers
# to those functions along with completable names and documentation strings.

funs.h: makedoc.exe $(CMDFILES)
	makedoc $(CMDFILES)

doc.c: 		funs.h
dribble$O:	dribble.c dribble.h
display$O:	display.c
echo_area$O:	echo_area.c
filesys$O:	filesys.c
info-utils$O:	info-utils.c
info$O:		info.c
infodoc$O:	infodoc.c
infomap$O:	infomap.c
m-x$O:		m-x.c
nodes$O:	nodes.c
search$O:	search.c
session$O:	session.c
signals$O:	signals.c
terminal$O:	terminal.c
tilde$O:	tilde.c
window$O:	window.c
xmalloc$O:	xmalloc.c
indices$O:	indices.c
makedoc$O:	makedoc.c

dir$O: 		dir.c
display$O: 	nodes.h info-utils.h search.h
display$O: 	terminal.h window.h display.h
echo_area$O: 	info.h
filesys$O: 	general.h tilde.h filesys.h
footnotes$O: 	footnotes.h
info-utils$O: 	info-utils.h nodes.h search.h
info$O: 	info.h ../libtxi/getopt.h
infodoc$O: 	info.h doc.h
infomap$O: 	infomap.h funs.h
gc$O:		info.h
m-x$O: 		info.h
nodes$O: 	search.h filesys.h
nodes$O: 	nodes.h info-utils.h
search$O: 	general.h search.h nodes.h
session$O: 	info.h
signals$O: 	info.h signals.h
terminal$O: 	terminal.h termdep.h
tilde$O: 	tilde.h
variables.c: 	variables.h
window$O: 	nodes.h window.h display.h
window$O: 	info-utils.h search.h infomap.h
