XCOMM
XCOMM $Id: Imakefile,v 1.9 1991/09/24 08:28:15 proj Exp $
XCOMM
XCOMM $XConsortium: Imakefile,v 1.51 91/08/16 10:40:31 rws Exp $
XCOMM
XCOMM                         Attention exterm porters
XCOMM
XCOMM
XCOMM Exterm assumes that bcopy can handle overlapping arguments.  If your
XCOMM bcopy (or memcpy) cannot, write a routine called bcopy and link it in
XCOMM or add -Dbcopy=mybcopy to the DEFINES list below.
XCOMM

/*
 * add -DWTMP and -DLASTLOG if you want them; make sure that bcopy can
 * handle overlapping copies before using it.
 */
#ifdef SetTtyGroup			/* turn on in config/machine.cf */
   TTYGROUPDEF = -DUSE_TTY_GROUP
#endif
/*
 *	[PUCC = Purdue University Computer Center]
 *	If you use the PUCC ptyd, add "-DPUCC_PTYD" to the DEFINES
 *	and dink the -DUTMP (also do not define WTMP or LASTLOG - since
 *	ptyd does all that logging for you)  You will need to add
 *	the right library load line (we use -lpucc) to the 
 *	ComplexProgramTarget (right next to -ltermcap)
 */
#ifdef UsePUCCPtyd			/* turn on in config/site.def */
    PUCCPTYDDEF = -DPUCC_PTYD		/* does not need to be setuid */
         PTYLIB = -lpucc
#endif

       XWNMOSRC = $(CONTRIBSRC)/im/Xsi/Xwnmo/xwnmo
   MAIN_DEFINES = -DUTMP $(TTYGROUPDEF) $(PUCCPTYDDEF)
   MISC_DEFINES = /* -DALLOWLOGFILEEXEC */
 XIMSET_DEFINES = -DSPOT
        DEFINES = -DXLOCALE -DXI18N
      DEPXAWLIB = $(CONTRIBSRC)/lib/Xaw/libXaw.a
         XAWLIB = $(DEPXAWLIB)
         XWCLIB = $(CONTRIBSRC)/lib/Xwchar/libXwchar.a
    ALLINCLUDES = -I$(TOP) -I$(XLIBSRC)

          SRCS1 = button.c charproc.c cursor.c data.c input.c \
		  main.c menu.c misc.c screen.c scrollbar.c tabs.c \
		  TekPrsTbl.c Tekproc.c util.c VTPrsTbl.c wmisc.c ximset.c
          OBJS1 = main.o input.o charproc.o cursor.o util.o tabs.o \
		  screen.o scrollbar.o button.o Tekproc.o misc.o \
		  VTPrsTbl.o TekPrsTbl.o data.o menu.o wmisc.o ximset.o
          SRCS2 = resize.c
          OBJS2 = resize.o
        IM_HDRS = SpotProto.h
        IM_SRCS = spotlib.c
        IM_OBJS = spotlib.o
     EXTERMSRCS = $(SRCS1) $(IM_SRCS)
     EXTERMOBJS = $(OBJS1) $(IM_OBJS)
           SRCS = $(EXTERMSRCS) $(SRCS2)
           OBJS = $(EXTERMOBJS) $(OBJS2)
       DEPLIBS1 = XawClientDepLibs $(XWCLIB)
       DEPLIBS2 = 
       PROGRAMS = exterm resize

#ifndef TermcapLibrary
#if SystemV && !defined(MacIIArchitecture)
#if defined(CrayArchitecture) || defined(HPArchitecture) || defined(RsArchitecture) || defined(uniosu)
#define TermcapLibrary -lcurses		/* special cases of System V */
#else
#define TermcapLibrary -ltermlib		/* usually in here */
#endif
#else
#define TermcapLibrary -ltermcap	/* bsd puts it here */
#endif
#endif

     TERMCAPLIB = TermcapLibrary

AllTarget($(PROGRAMS))

SpecialObjectRule(main.o,NullParameter,$(MAIN_DEFINES))
SpecialObjectRule(misc.o,NullParameter,$(MISC_DEFINES))
SpecialObjectRule(charproc.o,NullParameter,$(MISC_DEFINES))
SpecialObjectRule(ximset.o,NullParameter,$(XIMSET_DEFINES))
SpecialObjectRule(spotlib.o,NullParameter,$(XIMSET_DEFINES))

includes:: $(IM_SRCS) $(IM_HDRS)

LinkSourceFile(spotlib.c, $(XWNMOSRC))
LinkSourceFile(SpotProto.h, $(XWNMOSRC))

#if InstallXtermSetUID
SetUIDProgramTarget(exterm,$(EXTERMOBJS),$(DEPLIBS1),XawClientLibs $(XWCLIB),$(TERMCAPLIB) $(PTYLIB))
#else
NormalProgramTarget(exterm,$(EXTERMOBJS),$(DEPLIBS1),XawClientLibs $(XWCLIB),$(TERMCAPLIB) $(PTYLIB))
#endif

#if InstallXtermSetUID && defined(SunArchitecture) && HasSharedLibraries
#if AlternateUsrLibDir
#if OSMajorVersion > 4 || (OSMajorVersion == 4 && OSMinorVersion >= 1)
LDOVERRIDE =  -L$(DESTDIR)$(USRLIBDIR)
#else
#if HasGcc
LDOVERRIDE = -static -L$(DESTDIR)$(USRLIBDIR)
#else
LDOVERRIDE = -Bstatic -L$(DESTDIR)$(USRLIBDIR)
LDRESUME = -Bdynamic
#endif
#endif
#endif
install:: exterm
	MakeDir($(DESTDIR)$(BINDIR))
	$(RM) exterm.inst
	$(CC) -o exterm.inst $(EXTERMOBJS) $(LDOPTIONS) $(LDOVERRIDE) -lXaw -lXmu -lXt -lXext -lX11 -lXwchar $(LDRESUME) $(LDLIBS) $(TERMCAPLIB) $(PTYLIB) $(EXTRA_LOAD_FLAGS)
	$(INSTALL) -c $(INSTPGMFLAGS) $(INSTUIDFLAGS) exterm.inst $(DESTDIR)$(BINDIR)/exterm
	$(RM) exterm.inst
#else
#if InstallXtermSetUID
InstallProgramWithFlags(exterm,$(BINDIR),$(INSTUIDFLAGS))
#else
InstallProgramWithFlags(exterm,$(BINDIR),NullParameter)
#endif
#endif

NormalProgramTarget(resize,$(OBJS2),$(DEPLIBS2),NullParameter,$(TERMCAPLIB))
InstallProgramWithFlags(resize,$(BINDIR),NullParameter)

InstallAppDefaults(Exterm)
InstallManPage(exterm,$(MANDIR))
InstallManPage(resize,$(MANDIR))
DependTarget()

clean::
	$(RM) $(IM_SRCS) $(IM_HDRS)
