XCOMM $XConsortium: Imakefile /main/65 1996/02/02 14:27:54 kaleb $
XCOMM $XFree86: xc/programs/xterm/Imakefile,v 3.11.4.2 1997/05/16 13:55:39 dawes Exp $
XCOMM
XCOMM                         Attention xterm porters
XCOMM
XCOMM
XCOMM Xterm 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

/*
 * Fixes to allow compile with X11R5
 */
#ifndef XkbClientDefines
#define XkbClientDefines /**/
#endif

#ifndef XkbClientDepLibs
#define XkbClientDepLibs /**/
#endif

#ifndef XkbClientLibs
#define XkbClientLibs /**/
#endif

/*
 * add -DWTMP and -DLASTLOG if you want them; make sure that bcopy can
 * handle overlapping copies before using it.
 */
#if SetTtyGroup			/* turn on in config/machine.cf */
   TTYGROUPDEF = -DUSE_TTY_GROUP
#endif
#if UsePUCCPtyd			/* turn on in config/site.def */
    PUCCPTYDDEF = -DPUCC_PTYD		/* does not need to be setuid */
         PTYLIB = -lpucc
#endif

#if XtermWithI18N
        I18NDEF = -DI18N
#endif

#ifdef OS2Architecture
      FEATURE_DEFINES = -DDEBUG -DALLOWLOGGING
#endif

#if defined(NetBSDArchitecture) || defined(OpenBSDArchitecture) || (defined(FreeBSDArchitecture) && (OSMajorVersion < 2)) || (defined(SunArchitecture) && !defined(SVR4Architecture)) || defined(i386Sco325Architecture)
 TERMCAPDEFINES = -DNO_TERMCAP_H
#endif

 OSMAJORVERSION = OSMajorVersion
 OSMINORVERSION = OSMinorVersion

/*
 * This is for linking statically against libX11 and libXt for some debugging
 * purposes
 */
#ifdef StaticXterm
XTOOLONLYLIB=StaticLibrary($(TOOLKITSRC),Xt)
XONLYLIB=StaticLibrary($(XLIBSRC),X11)
#endif

#if !defined(AmoebaArchitecture) && !defined(OS2Architecture)
        UTMPDEF = -DUTMP
#endif

#ifdef AmoebaArchitecture
        EXTRASRC = ttysvr.c
        EXTRAOBJ = ttysvr.o
#endif
   MAIN_DEFINES = $(UTMPDEF) $(TTYGROUPDEF) $(PUCCPTYDDEF) $(NOPOSIXTERMIOS) \
		  -DOSMAJORVERSION=$(OSMAJORVERSION) \
		  -DOSMINORVERSION=$(OSMINORVERSION)
   MISC_DEFINES = /* -DALLOWLOGFILEEXEC */ 
    XKB_DEFINES = XkbClientDefines
        DEFINES = $(XKB_DEFINES) $(TERMCAPDEFINES) $(FEATURE_DEFINES)

#ifdef OS2Architecture
          MAINSRC = os2main.c
          MAINOBJ = os2main.o 
#else
          MAINSRC = main.c
          MAINOBJ = main.o
#endif
          SRCS1 = button.c charproc.c cursor.c data.c input.c \
		  $(MAINSRC) menu.c misc.c screen.c scrollbar.c tabs.c \
		  TekPrsTbl.c Tekproc.c util.c VTPrsTbl.c $(EXTRASRC)
          OBJS1 = button.o charproc.o cursor.o data.o input.o \
		  $(MAINOBJ) menu.o misc.o screen.o scrollbar.o tabs.o \
		  TekPrsTbl.o Tekproc.o util.o VTPrsTbl.o $(EXTRAOBJ)
          SRCS2 = resize.c
          OBJS2 = resize.o
           SRCS = $(SRCS1) $(SRCS2)
           OBJS = $(OBJS1) $(OBJS2)
       PROGRAMS = ProgramTargetName(resize) ProgramTargetName(xterm)
       DEPLIBS1 = XkbClientDepLibs XawClientDepLibs
       DEPLIBS2 = 

#ifndef TermcapLibrary
#if SystemV && !defined(MacIIArchitecture)
#if defined(CrayArchitecture) || defined(HPArchitecture) || defined(RsArchitecture)
#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))

SpecialCObjectRule(main,$(_NOOP_),$(MAIN_DEFINES))
SpecialCObjectRule(misc,$(_NOOP_),$(MISC_DEFINES))
SpecialCObjectRule(charproc,$(_NOOP_),$(MISC_DEFINES))

#if InstallXtermSetUID
SetUIDProgramTarget(xterm,$(OBJS1),$(DEPLIBS1),XkbClientLibs XawClientLibs,$(TERMCAPLIB) $(PTYLIB))
#else
NormalProgramTarget(xterm,$(OBJS1),$(DEPLIBS1),XkbClientLibs XawClientLibs,$(TERMCAPLIB) $(PTYLIB))
#endif

#if InstallXtermSetUID && defined(SunArchitecture) && HasSharedLibraries && OSMajorVersion < 5
#if AlternateUsrLibDir
#if 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:: ProgramTargetName(xterm)
	MakeDir($(DESTDIR)$(BINDIR))
	RemoveFile(ProgramTargetName(xterm.inst))
	LinkRule(ProgramTargetName(xterm.inst),$(CDEBUGFLAGS) $(CCOPTIONS) $(EXTRA_LDOPTIONS) $(LOCAL_LDFLAGS),$(OBJS1),$(LDOVERRIDE) XawClientLibs $(LDRESUME) $(LDLIBS) $(TERMCAPLIB) $(PTYLIB))
	$(INSTALL) -c $(INSTPGMFLAGS) $(INSTUIDFLAGS) ProgramTargetName(xterm.inst) $(DESTDIR)$(BINDIR)/ProgramTargetName(xterm)
	RemoveFile(ProgramTargetName(xterm.inst))
#else
#if InstallXtermSetUID
InstallProgramWithFlags(xterm,$(BINDIR),$(INSTUIDFLAGS))
#else
InstallProgramWithFlags(xterm,$(BINDIR),NullParameter)
#endif
#endif

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

InstallAppDefaults(XTerm)
InstallAppDefaultsLong(XTerm-col,XTerm-color)
InstallManPage(xterm,$(MANDIR))
InstallManPage(resize,$(MANDIR))
DependTarget()
