# SccsId = "@(#)Makefile 1.7 Delft University of Technology 02/25/93"
##############################################################################
## >>>>>>>>>    DO NOT REDEFINE THESE IN THE MAKEFILE        <<<<<<<<<<<<<<<<
##
## environment variables
## CACDSRCHOME	path to cacdsrc home
## NELSISHOME	path to nelsis home
## ARCHITECTURE current machine's architecture type
## HOSTNAME	current machine's name
## make global defines
## SHELL	make's shell
## TESTLINK	macro needed for DomainOS compatibility
## these variables defined automagically
## IF etdisrc entered correctly e.g set home=~cacdsrc;newgrp etdisrc

SHELL     = /bin/sh

CONFIGDIR = $(CACDSRCHOME)/CONFIG

# in contrast to other nelsis/cacd tools, this one requires ANSI-C:
ANSICC    = $CC

include $(CONFIGDIR)/M.$(ARCHITECTURE)

SOURCEDIR = SRC

OSTYPE    = SYSV

ICDPATH   = $(CACDSRCHOME)/DEVWSPC/$(ARCHITECTURE)

BIN       = $(ICDPATH)/bin
MAN       = $(ICDPATH)/man
LIB       = $(ICDPATH)/lib
LIBINCL   = $(LIB)/include
LIBPROC   = $(LIB)/process
LDFLAGS   = -L$(LIB)
OLIBS     = -ll -lm
CFLAGS    = $(OCFLAGS) -D$(OSTYPE) -I$(LIBINCL)

DMLIB     = -lddm
FMTLIBS   = -llayfmt

TARGET    = layflat
MANSRC1   = $(TARGET)

SRC1      = layflat.h prototypes.h
SRC2      = bbx_stuff.c err.c main.c mtx.c term_stuff.c \
            dmUserError.c flattenmc.c memman.c put_stuff.c
SRC3      = thedate.c
SRCS      = $(SRC1) $(SRC2) $(SRC3)

THEDATE   = $(SRC3:.c=.o)
OBJS      = $(SRC2:.c=.o)

$(TARGET): TheDate $(OBJS) 
	$(CC) $(LDFLAGS) $(CFLAGS) $(OBJS) $(THEDATE) \
	      $(FMTLIBS) $(DMLIB) $(OLIBS) -o $(TARGET)

# three rules to make sure that thedate.c is always recompiled:
TheDate: rmdate $(THEDATE)
rmdate:; rm -f $(THEDATE)
$(THEDATE):
	$(CC) $(CFLAGS) \
	      "-DTHEDATE=\"`date | awk '{print $$1,$$2,$$3,$$6}'`\"" \
	      "-DTHEHOST=\"`hostname`\"" \
	      "-DTHEMAN=\"`whoami`\"" \
	      -c $(@F:.o=.c) -o $@

install: $(TARGET)
	@echo cp $(TARGET) $(BIN)/$(TARGET) ; \
	 rm -f $(BIN)/$(TARGET) ; cp $(TARGET) $(BIN)/$(TARGET)
	@if [ -d $(MAN)/man1 ] ; then \
	   echo cp $(MANSRC1).1 $(MAN)/man1/$(MANSRC1).1 $ ; \
	   rm -f $(MAN)/man1/$(MANSRC1).1 ; cp $(MANSRC1).1 $(MAN)/man1 ; \
	 fi

clean:
	rm -f $(OBJS) $(THEDATE) $(TARGET) core LINT

LINT: $(SRCS)
	lint $(CFLAGS) $(SRC2) > LINT

$(OBJS): $(SRC1)
	$(ANSICC) -c $(CFLAGS) $<

$(SRCS):
	-@$(TESTLINK) $@ || ln -s $(SOURCEDIR)/$@ .; \
	cd $(SOURCEDIR) ; \
	test -f $@ || get -s SCCS/s.$@;

#EOF
