##############################################################################
#    Instructions to Make, for BBoards support processes
#
#	@(MHWARNING)
# @(#)bboards,v 1.1.1.1 1993/01/30 04:40:18 jtc Exp
##############################################################################

# The following entries were inserted during MH configuration
BINDIR	=	$(DESTDIR)@(MHBINPATH)
ETCDIR	=	$(DESTDIR)@(MHETCPATH)
OPTIONS	=	@(MHOPTIONS) -I..
LDOPTIONS=	@(LDOPTIONS)
LDOPTLIB=	@(LDOPTLIB)
BBDIR	=	$(DESTDIR)@(BBHOME)
BBETC	=	$(BBDIR)/etc
CHOWN	=	@(MHCHOWNPATH)
REMOVE	=	@(MHREMOVE)
BBUID	=	bboards
@BEGIN: BBSERVER
ALL	=	bbaka bbexp bbtar
INST-ALL=	inst-bboards inst-bbaka inst-bbexp inst-bbtar \
		inst-daily inst-weekly inst-cshell inst-profile \
		inst-makebboards
TALL	=	BBoards xbbaka xbbexp xbbtar bboards.daily bboards.weekly \
		MakeBBoards cshrc mh_profile
@END: BBSERVER

CC      =	@(MHCOMPILER)
@BEGIN: STDLIB
LD	=	@(MHCOMPILER)
@END: STDLIB
@BEGIN: SHAREDLIB
LD	=	LD_LIBRARY_PATH=../../sbr @(MHCOMPILER)
@END: SHAREDLIB
@BEGIN: OPTIM
CFLAGS  =	$(OPTIONS)
@END: OPTIM
@BEGIN: DEBUG
CFLAGS  =	    $(OPTIONS)
@END: DEBUG
LDFLAGS	=	$(LDOPTIONS)
LIBES1	=	../../zotnet/libzot.a ../../mts/libmts.a
@BEGIN: STDLIB
LIBES2	=	../../config/config.o ../../config/version.o \
		../../sbr/libmh.a $(LIBES1)
LDLIBS1	=	$(LIBES1) $(LDOPTLIB)
LDLIBS2	=	$(LIBES2) $(LDOPTLIB)
@END: STDLIB
@BEGIN: SUN4SHLIB
SLIBVER	=	.@(SLIBVER)
@END: SUN4SHLIB
@BEGIN: SHAREDLIB
LIBES2	=	../../config/config.o ../../config/version.o \
		../../sbr/libmh.so $(LIBES1)
LDLIBS1	=	$(LIBES1) $(LDOPTLIB)
LDLIBS2	=	$(LIBES2) $(LDOPTLIB)
LDLIBS2	=	../../config/config.o ../../config/version.o \
		-Bdynamic @(SLDFLAG) -lmh$(SLIBVER) $(LIBES1) $(LDOPTLIB)
@END: SHAREDLIB

LINT	=	lint
LFLAGS	=	-bhu $(OPTIONS)
LLIBS1	=	../../zotnet/llib-lzotnet
LLIBS2	=	../../sbr/llib-lmh $(LLIBS1)


######################################################################
#	Here it is...
######################################################################

all:		$(ALL)

lint:		l-bbaka l-bbexp l-bbtar

install:	$(INST-ALL)

tar:		$(ALL)
@BEGIN: BBSERVER
		@touch $(TALL)
		@make -n install > MAKEBB
		@chmod +x MAKEBB
		tar $(TFLAGS) MAKEBB $(TALL)
		@rm -f MAKEBB
@END: BBSERVER

uninstall:;
@BEGIN: BBSERVER
		-cd (BBDIR); \
		    rm -f BBoards .cshrc .mh_profile
		-cd (ETCDIR); \
		    rm -f bbaka bbexp bbtar bboards.daily \
			  bboards.weekly Makefile context
@END: BBSERVER


######################################################################
#	Generate BBoards Support files and processes
######################################################################

inst-bboards:	$(BBDIR)/BBoards

$(BBDIR)/BBoards: BBoards
		-@if [ ! -f $@ ]; then \
		    $(REMOVE) $@ zBBoards; \
		    cp BBoards $@; \
		else \
		    echo "Will not overwrite existing $@"; \
		fi
		-$(CHOWN) $(BBUID) $@



######################################################################
# bbaka
######################################################################

inst-bbaka:	$(BBETC)/bbaka

$(BBETC)/bbaka: xbbaka
		-$(REMOVE) $@ zbbaka
		cp xbbaka $@
		-$(CHOWN) $(BBUID) $@


bbaka:		xbbaka

xbbaka:		bbaka.o $(LIBES1)
		$(LD) $(LDFLAGS) -o $@ bbaka.o $(LDLIBS1)

l-bbaka:;	$(LINT) $(LFLAGS) bbaka.c $(LLIBS1)


######################################################################
# bbexp
######################################################################

inst-bbexp:	$(BBETC)/bbexp

$(BBETC)/bbexp: xbbexp
		-$(REMOVE) $@ zbbexp
		cp xbbexp $@
		-$(CHOWN) $(BBUID) $@


bbexp:		xbbexp

xbbexp:		bbexp.o ../../uip/dropsbr.o $(LIBES2)
		$(LD) $(LDFLAGS) -o $@ bbexp.o ../../uip/dropsbr.o $(LDLIBS2)

l-bbexp:;	$(LINT) $(LFLAGS) bbexp.c ../../uip/dropsbr.c $(LLIBS2)


######################################################################
# bbtar
######################################################################

inst-bbtar:	$(BBETC)/bbtar

$(BBETC)/bbtar: xbbtar
		-$(REMOVE) $@ zbbtar
		cp xbbtar $@
		-$(CHOWN) $(BBUID) $@


bbtar:		xbbtar

xbbtar:		bbtar.o $(LIBES1)
		$(LD) $(LDFLAGS) -o $@ bbtar.o $(LDLIBS1)

l-bbtar:;	$(LINT) $(LFLAGS) bbtar.c $(LLIBS1)


######################################################################
# bboards.daily
######################################################################

inst-daily:	$(BBETC)/bboards.daily

$(BBETC)/bboards.daily: bboards.daily
		-$(REMOVE) $@ zbboards.daily
		cp bboards.daily $@
		-$(CHOWN) $(BBUID) $@
		-@chmod +x $@



######################################################################
# bboards.weekly
######################################################################

inst-weekly:	$(BBETC)/bboards.weekly

$(BBETC)/bboards.weekly: bboards.weekly
		-$(REMOVE) $@ zbboards.weekly
		cp bboards.weekly $@
		-$(CHOWN) $(BBUID) $@
		-@chmod +x $@



######################################################################
# MakeBBoards
######################################################################

inst-makebboards:	$(BBETC)/Makefile

$(BBETC)/Makefile: MakeBBoards
		-$(REMOVE) $@ zMakeBBoards
		cp MakeBBoards $@
		-$(CHOWN) $(BBUID) $@



######################################################################
# .cshrc
######################################################################

inst-cshell:	$(BBDIR)/.cshrc

$(BBDIR)/.cshrc: cshrc
		-$(REMOVE) $@ z.cshrc
		cp cshrc $@
		-$(CHOWN) $(BBUID) $@



######################################################################
# .mh_profile
######################################################################

inst-profile:	$(BBDIR)/.mh_profile

$(BBDIR)/.mh_profile: mh_profile
		-$(REMOVE) $@ z.mh_profile
		cp mh_profile $@
		-$(CHOWN) $(BBUID) $@
		-@touch $(BBETC)/context
		-$(CHOWN) $(BBUID) $(BBETC)/context



##############################################################################
#	Miscellaneous tasks
##############################################################################

unconfig:	distribution
		-rm -f mmdfII/bboards/lock.c
		-rm -f Makefile

distribution:	clean
		-rm -f bboards.daily bboards.weekly crontab MakeBBoards

clean:		unclean
		-rm -f x* *.o

unclean:;	-rm -f z* _* :* core eddep makedep MAKEBB


##############################################################################
#	Dependencies
##############################################################################

MODULES       =       bbaka.c bbexp.c bbtar.c

depend:;      makedepend $(CFLAGS) $(MODULES)
