#
# Makefile for the rbmake package
#
# This file is copyrighted as detailed in the LICENSE file.


srcdir = .
topdir = .
INSTALL = ${prefix}/bin/install -c
INSTALL_PROGRAM = ${INSTALL}
INSTALL_DATA    = ${INSTALL} -m 644

SHELL = /bin/sh
MAKE = make
EXEEXT = .exe
o = o

prefix		= /usr/local
exec_prefix	= ${prefix}
bindir		= ${exec_prefix}/bin
libdir		= ${exec_prefix}/lib
infodir		= ${prefix}/info
mandir		= ${prefix}/man
datadir		= ${prefix}/share

CC		= gcc
CPP		= gcc -E
CPPFLAGS	= 
DEFS		= 
XML_CFLAGS	= -I${prefix}/include
LIBWWW_CFLAGS	= 
PCRE_CFLAGS	= 
CFLAGS		= -Wall -O2
LDFLAGS		= -Llib -L${prefix}/lib

ALL_CFLAGS = -I. -I$(srcdir)/lib $(DEFS) $(XML_CFLAGS) \
	$(LIBWWW_CFLAGS) $(PCRE_CFLAGS) $(CFLAGS)

RBMAKE_OBJS = rbmake.$(o)
RBBURST_OBJS = rbburst.$(o)
RBINFO_OBJS = rbinfo.$(o)
RBDUMP_OBJS = rbdump.$(o)
ALL_OBJS = $(RBMAKE_OBJS) $(RBBURST_OBJS) $(RBINFO_OBJS) $(RBDUMP_OBJS)

PROGRAMS = rbmake$(EXEEXT) rbburst$(EXEEXT) rbinfo$(EXEEXT)
TEST_PROGRAMS = rbdump$(EXEEXT)

all: libCHECK $(PROGRAMS) $(TEST_PROGRAMS) docCHECK

.c.$(o):
	$(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $<

lib/librbmake.dll: libCHECK

libCHECK: lib/Makefile config.h
	$(MAKE) -C lib

docCHECK: doc/Makefile config.h
	$(MAKE) -C doc

rbmake$(EXEEXT): $(RBMAKE_OBJS) lib/librbmake.dll
	$(CC) $(LDFLAGS) $(RBMAKE_OBJS) -o $@ -lrbfile_dll -lrbmake_dll -lrbsubst_dll

rbburst$(EXEEXT): $(RBBURST_OBJS) lib/librbmake.dll
	$(CC) $(LDFLAGS) $(RBBURST_OBJS) -o $@ -lrbfile_dll -lrbsubst_dll

rbinfo$(EXEEXT): $(RBINFO_OBJS) lib/librbmake.dll
	$(CC) $(LDFLAGS) $(RBINFO_OBJS) -o $@ -lrbfile_dll

rbdump$(EXEEXT): $(RBDUMP_OBJS) lib/librbmake.dll
	$(CC) $(LDFLAGS) $(RBDUMP_OBJS) -o $@ -lrbfile_dll

rbburst.subst: rbburst.subst.in
	@echo Extracting rbburst.subst from rbburst.subst.in
	@(echo '/* THIS FILE IS GENERATED FROM rbburst.subst.in! DO NOT EDIT! */'; \
	 sed -e '/^ *#/d' -e '/^$$/d' -e 's/\([\\"]\)/\\\1/g' -e 's/$$/\\n\\/' -e 's/^-- \(.*\) --\\n\\$$/char \1[] = "\\/' -e 's/^--==--\\n\\$$/";/' <rbburst.subst.in \
	 ) >rbburst.subst

install: all install_norm install_test install_lib install_doc

install_norm:
	./mkinstalldirs $(DESTDIR)$(prefix)/bin
	for ff in $(PROGRAMS) ; do \
	  $(INSTALL_PROGRAM) $$ff $(DESTDIR)$(prefix)/bin; \
	done

install_test:
	./mkinstalldirs $(DESTDIR)$(prefix)/bin
	for ff in $(TEST_PROGRAMS) ; do \
	  $(INSTALL_PROGRAM) $$ff $(DESTDIR)$(prefix)/bin; \
	done

install_lib:
	$(MAKE) -C lib install DESTDIR="$(DESTDIR)"

install_doc:
	$(MAKE) -C doc install DESTDIR="$(DESTDIR)"

uninstall: uninstall_lib
	for ff in $(PROGRAMS) $(TEST_PROGRAMS) ; do \
	  rm -f $(DESTDIR)$(prefix)/bin/$$ff ; \
	done

uninstall_lib:
	$(MAKE) -C lib uninstall

clean: myclean
	$(MAKE) -C lib clean
	$(MAKE) -C doc clean

myclean:
	rm -f $(ALL_OBJS) $(PROGRAMS) $(TEST_PROGRAMS)

distclean: mydistclean
	$(MAKE) -C lib distclean
	$(MAKE) -C doc distclean

mydistclean: myclean
	rm -f Makefile config.cache config.h config.log config.status \
		config.h.in config-h.in config-h
	rm -rf autom*.cache

cvsclean: mycvsclean
	$(MAKE) -C lib cvsclean
	$(MAKE) -C doc cvsclean

mycvsclean: mydistclean
	rm -f configure config.h.in config-h.in rbburst.subst

depend: libdepend
	./mkdep

libdepend:
	$(MAKE) -C lib depend

# AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
rbburst.$(o): config.h
rbburst.$(o): lib/rbmake/rbfile.h
rbburst.$(o): rbburst.c
rbburst.$(o): rbburst.subst
rbdump.$(o): config.h
rbdump.$(o): lib/rbmake/rbfile.h
rbdump.$(o): rbdump.c
rbinfo.$(o): config.h
rbinfo.$(o): lib/rbmake/rbfile.h
rbinfo.$(o): rbinfo.c
rbmake.$(o): config.h
rbmake.$(o): lib/rbmake/rbfile.h
rbmake.$(o): lib/rbmake/rbmake.h
rbmake.$(o): rbmake.c
# WARNING: Put nothing here or make depend will gobble it up!
