#
#	Makefile for MHpopd
#

PREFIX	= /usr/local
CONFDIR	= /etc
MHBIN	= $(PREFIX)/bin
BUILD	=
SHELL	= /bin/sh
MAKE	= make
CC	= cc
HOSTCC	= $(CC)
SED	= sed

GETVER	= HEAD="`tail -1 version.h`"; \
	VER=`expr "$$HEAD" : '.*\([0-9][0-9]*\.[0-9a-z\-]*\).*'`
GETDIST	= HEAD=`tail -2 version.h | head -1`; \
	DIST=`expr "$$HEAD" : '.*"\(.*\)".*'`
DEFCFLAGS = -DVER='"'$$VER'"' \
	-DDIST='"'$$DIST'"' \
	-DPREFIX='"'$(PREFIX)'"' \
	-DCONFDIR='"'$(CONFDIR)'"' \
	-DMHBIN='"'$(MHBIN)'"' \
	-DCCCOMMAND='"'$(CC)'"' \
	-DHOSTCCCOMMAND='"'$(HOSTCC)'"'

all: Makefile.tmp
	$(MAKE) -f Makefile.tmp

debug: Makefile.tmp
	$(MAKE) CC=gcc DEBUG=-DDEBUG ALLOC='-L. -lmalloc' -f Makefile.tmp

shdebug: Makefile.tmp
	$(MAKE) CC=gcc DEBUG=-DDEBUG ALLOC='-L. -lmalloc' -f Makefile.tmp sh

Makefile.tmp: Makefile.in mkmf.sed
	$(SED) -f mkmf.sed Makefile.in > $@ || \
	(rm -f $@; exit 1)

mkmf.sed: mkmfsed
	./mkmfsed > mkmf.sed

mkmfsed: mkmfsed.c mhpopd.h machine.h config.h version.h
	($(GETVER); \
	$(HOSTCC) $(CFLAGS) $(CPPFLAGS) $(DEFCFLAGS) -o $@ mkmfsed.c)

config.h: config.hin
	cp config.hin config.h

install catman catman-b compman compman-b \
jcatman jcatman-b jcompman jcompman-b: Makefile.tmp
	$(MAKE) BUILD=$(BUILD) -f Makefile.tmp $@

depend test clean: Makefile.tmp
	$(MAKE) -f Makefile.tmp $@

config: rmconfig Makefile.tmp
	$(MAKE) SHELL=$(SHELL) -f Makefile.tmp $@

rmconfig:
	cp config.hin config.h

ipk: Makefile.tmp
	$(MAKE) STRIP=$(STRIP) -f Makefile.tmp $@

tar gtar shtar lzh shar: Makefile.tmp
	$(MAKE) -f Makefile.tmp $@

realclean: Makefile.tmp
	$(MAKE) -f Makefile.tmp clean
	-rm -f Makefile.tmp mkmf.sed config.h
	-rm -f mkmfsed
