#  -*- makefile -*-
# makefile for easy build-tree manipulation
#

### paths

TEXDIR = /mit/tex
SRC = $(TEXDIR)/src
BLD = $(TEXDIR)/.build.
SYSBLD = $(TEXDIR)/build
ROOT = /var/tmp/build

WEB = web2c-5.851d
WEB_TARGET =

DVIPS = dvips
DVIPS_TARGET =

### random programs

RM = rm -f
RM_RF = rm -rf
MKDIR = mkdir
SYNCTREE = /usr/athena/etc/synctree
MAKE = make
CP = cp
CONFIGURE = ./configure --prefix=$(TEXDIR)
SYS = fs sys | sed -e "s/^[^']*'//;s/'//g"

### system-dependent details

SUN=sun4m_51
SUN2=sun4m_53
DEC=pmax_ul4
IBM=rs_aix32

SUN_CC = /mit/sunsoft/sun4bin/cc
SUN_CFLAGS = "-Xc -g -O -Bdynamic"
DEC_CC = cc
DEC_CFLAGS = "-g3 -O1"
IBM_CC = gcc
IBM_CFLAGS = "-Wall -g -O2"

SUN_DOPTS= CC=/mit/sunsoft/sun4bin/cc OPT="-Xc -g -O -Bdynamic" \
  SYS="-DSYSV -DHAVE_GETCWD"
IBM_DOPTS= SYS=-DIBM6000
DEC_DOPTS= OPT=-O2

### default

DONTUSE:
	echo Please specify a real target name.

### build tree management

$(SUN).prune:
	$(RM_RF) $(BLD)$(SUN)
	$(MKDIR) $(BLD)$(SUN)
$(SUN2).prune:
	$(RM_RF) $(BLD)$(SUN2)
	$(MKDIR) $(BLD)$(SUN2)
$(DEC).prune:
	$(RM_RF) $(BLD)$(DEC)
	$(MKDIR) $(BLD)$(DEC)
$(IBM).prune:
	$(RM_RF) $(BLD)$(IBM)
	$(MKDIR) $(BLD)$(IBM)
prune: DONTUSE

$(SUN).sync:
	$(SYNCTREE) -s $(SRC) -d $(BLD)$(SUN)
$(SUN2).sync:
	$(SYNCTREE) -s $(SRC) -d $(BLD)$(SUN2)
$(DEC).sync:
	$(SYNCTREE) -s $(SRC) -d $(BLD)$(DEC)
$(IBM).sync:
	$(SYNCTREE) -s $(SRC) -d $(BLD)$(IBM)
sync:
	make `$(SYS)`.sync

rel-tree:
	rm -rf $(ROOT)
	-mkdir $(ROOT) $(ROOT)/usr $(ROOT)/usr/athena $(ROOT)/usr/athena/lib \
		$(ROOT)/usr/athena/bin $(ROOT)/usr/athena/man

$(SUN).new-tree:  $(SUN).prune $(SUN).sync rel-tree
$(SUN2).new-tree:  $(SUN2).prune $(SUN2).sync rel-tree
$(DEC).new-tree:  $(DEC).prune $(DEC).sync rel-tree
$(IBM).new-tree:  $(IBM).prune $(IBM).sync rel-tree
new-tree: DONTUSE
