/*
XCOMM $XConsortium: Imakefile,v 1.55 91/09/22 11:40:47 rws Exp $
XCOMM
XCOMM                         Attention hanterm porters
XCOMM
XCOMM
XCOMM Hanterm 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
#ifdef UsePUCCPtyd			/* turn on in config/site.def */
    PUCCPTYDDEF = -DPUCC_PTYD		/* does not need to be setuid */
         PTYLIB = -lpucc
#endif

 OSMAJORVERSION = OSMajorVersion
 OSMINORVERSION = OSMinorVersion

   MAIN_DEFINES = -DUTMP $(TTYGROUPDEF) $(PUCCPTYDDEF) \
                  -DOSMAJORVERSION=$(OSMAJORVERSION) \
                  -DOSMINORVERSION=$(OSMINORVERSION)
/* 99/03/04 yjseo */
   MISC_DEFINES = $(MAIN_DEFINES) -DENV_HANGUL_KEYBOARD_TYPE

#if SunOSPlatform
#if OSMajorVersion <= 4		/* gaemon */
  SYS_LIBRARIES = -lm
  EXTRA_INCLUDES = -I.
#else
    STD_DEFINES = -DSYSV -DSVR4
#endif
      LDOPTIONS = -L/usr/openwin/lib
#endif

/* dkim@surecom.com */
#if SVR4ix86Architecture && i386SVR4Architecture
    EXTRA_DEFINES = -Dunixware -DALLOWLOGFILEONOFF
    SYS_LIBRARIES = -lgen -lsocket
    INSTALL = /usr/ucb/install
#else
    EXTRA_DEFINES = -DALLOWLOGFILEONOFF
#endif

          SRCS1 = button.c charproc.c cursor.c data.c input.c \
		  main.c menu.c misc.c screen.c scrollbar.c tabs.c \
		  util.c VTPrsTbl.c hangul.c automata.c chat.c hanja.c \
		  ksc.c history.c
          OBJS1 = main.o input.o charproc.o cursor.o util.o tabs.o \
		  screen.o scrollbar.o button.o misc.o \
		  VTPrsTbl.o data.o menu.o hangul.o automata.o chat.o hanja.o \
		  ksc.o history.o

#if ProjectX > 4
           SRCS = $(SRCS1)
           OBJS = $(OBJS1)
#else	/* X11R4 */
           SRCS = $(SRCS1) StrToGrav.c Quarks.c
           OBJS = $(OBJS1) StrToGrav.o Quarks.o

#ifndef NullParameter
#define NullParameter
#endif

#endif /* ProjectX */

       PROGRAMS = hanterm
        DEPLIBS = XawClientDepLibs

#ifdef HPArchitecture
 CDEBUGFLAGS	= +O4
 EXTRA_INCLUDES = -I. -I/usr/contrib/X11R6/include
 LDOPTIONS	= -L/usr/contrib/X11R6/lib
#else

#if ProjectX < 5 /* X11R4 */
# EXTRA_INCLUDES = -I.
# LDOPTIONS	= 
#endif

#endif /* HPArchitecture */

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

/* dkim@surecom.com */
#ifdef SVR4
     TERMCAPLIB =
     TERMINFOLIB = -lcurses
#else
     TERMCAPLIB = TermcapLibrary
     TERMINFOLIB =
#endif

AllTarget($(PROGRAMS))
AllTarget($(HAN_PCF_FONTS))

/* for support of ENV_HANGUL_KEYBOARD_TYPE  -- yjseo */
/* XCOMM SpecialObjectRule(main.o,NullParameter,$(MAIN_DEFINES)) */
SpecialObjectRule(main.o,NullParameter,$(MISC_DEFINES))
SpecialObjectRule(misc.o,NullParameter,$(MISC_DEFINES))
SpecialObjectRule(charproc.o,NullParameter,$(MISC_DEFINES))
SpecialObjectRule(data.o,NullParameter,$(MISC_DEFINES))

#if InstallXtermSetUID
#define	InstallHantermSetUID	YES
#endif

#if InstallHantermSetUID
#define ProgramTarget SetUIDProgramTarget
#else
#define ProgramTarget NormalProgramTarget
#endif

ProgramTarget(hanterm,$(OBJS),$(DEPLIBS),XawClientLibs,$(TERMCAPLIB) $(TERMINFOLIB) $(PTYLIB))

#if InstallHantermSetUID
InstallProgramWithFlags(hanterm,$(BINDIR),$(INSTUIDFLAGS))
#else
InstallProgramWithFlags(hanterm,$(BINDIR),NullParameter)
#endif

InstallAppDefaults(Hanterm)
InstallManPage(hanterm,$(MANDIR))
DependTarget()
