/**************************************************************************/ /* */ /* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* */ /* NX-X11, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ /* software is allowed according to terms specified in the file LICENSE */ /* which comes in the source distribution. */ /* */ /* Check http://www.nomachine.com/licensing.html for applicability. */ /* */ /* NX and NoMachine are trademarks of Medialogic S.p.A. */ /* */ /* All rights reserved. */ /* */ /**************************************************************************/ XCOMM $XTermId: Imakefile,v 1.87 2005/11/13 23:10:35 tom Exp $ XCOMM XCOMM $Xorg: Imakefile,v 1.3 2000/08/17 19:55:07 cpqbld 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 XCOMM $XFree86: xc/programs/xterm/Imakefile,v 3.61 2005/11/13 23:10:35 dickey Exp $ XCOMM #if NXLibraries /* * This will make applications that use the Xt * toolkit deal with the NX modified select(). */ NX_DEFINES = -DNX_TRANS_SOCKET \ -DNX_TRANS_EXIT # -DNX_TRANS_TEST \ # -DNX_TRANS_DEBUG #endif /* Uncomment SCROLLBAR_RIGHT if you want the scroll bar to be on the right */ SCROLLBAR_RIGHT = -DSCROLLBAR_RIGHT /* Define UTF8support to compile-in support for UTF-8 */ #define UTF8support #if defined(UseUtempter) #undef InstallXtermSetUID /* imake sets this */ #define InstallXtermSetUID NO #define InstallXtermSetGID NO UTMPLIB = -lutempter #endif /* * setgid mode works for systems that do not require setuid to open pty. */ #if defined(OpenBSDArchitecture) || \ (defined(LinuxArchitecture) && \ (LinuxCLibMajorVersion == 6)) || \ defined(FreeBSDArchitecture) #undef InstallXtermSetGID #define InstallXtermSetGID YES #endif /* * Fixes to allow compile with X11R5 */ #ifndef XkbClientDefines #define XkbClientDefines /**/ #endif #ifndef InstallXtermSetUID #define InstallXtermSetUID NO #endif #ifndef InstallXtermSetGID #define InstallXtermSetGID NO #endif #ifndef XkbClientDepLibs #define XkbClientDepLibs /**/ #endif #ifndef XkbClientLibs #define XkbClientLibs /**/ #endif /* * Compensate for broken imake configuration. */ #ifdef LinuxGnuSourceDefines # ifdef UseInstalled IMAKEDEFINES = -D_GNU_SOURCE # endif #endif #ifndef SpecialCObjectRule #define SpecialCObjectRule(module,ignore,defines) \ module.o: ; $(CC) -c defines $(CFLAGS) module.c #endif #ifndef ProgramTargetName #define ProgramTargetName(program) program #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 #ifdef UsePUCCPtyd /* turn on in config/site.def */ PUCCPTYDDEF = -DPUCC_PTYD /* does not need to be setuid */ PTYLIB = -lpucc #endif #if defined(NetBSDArchitecture) || \ defined(OpenBSDArchitecture) || \ defined(FreeBSDArchitecture) || \ (defined(LinuxArchitecture) && \ (LinuxCLibMajorVersion == 6) && (LinuxCLibMinorVersion < 1)) PTYLIB = -lutil #endif #ifdef DarwinArchitecture /* dyld can deadlock if a signal comes in when it is looking up a symbol */ LOCAL_LDFLAGS = -Wl,-bind_at_load #endif #ifdef OS2Architecture /* * Only used in os2main.c, see ptyx.h for OPT_I18N_SUPPORT * <werner@suse.de> */ #if XtermWithI18N I18NDEF = -DI18N FEATURE_DEFINES = -DDEBUG -DALLOWLOGGING $(I18NDEF) #else FEATURE_DEFINES = -DDEBUG -DALLOWLOGGING #endif #endif OSMAJORVERSION = OSMajorVersion OSMINORVERSION = OSMinorVersion #if !defined(OS2Architecture) && !defined(__GNU__) #if defined(UseUtempter) UTMPDEF = -DUSE_UTEMPTER #else UTMPDEF = -DUTMP #endif #endif #ifdef UTF8support UTF8_OPTION = -DOPT_WIDE_CHARS -DOPT_LUIT_PROG UTF8SRC = charclass.c precompose.c wcwidth.c xutf8.c UTF8OBJ = charclass.o precompose.o wcwidth.o xutf8.o #endif #if BuildXftLibrary #define XRenderSupport #endif #ifdef XRenderSupport XRFDEF = -DXRENDERFONT -DXFREE86_FT2 XRFLIBS = XftClientLibs XRFDEPLIBS = XftClientDepLibs XRFINCLUDES = $(XFTINCLUDES) #endif #if !HasPutenv PUTENVDEF = -DNOPUTENV #endif #ifdef TraceXTerm TRACEDEF = -DOPT_TRACE=1 #endif MAIN_DEFINES = $(UTMPDEF) $(TTYGROUPDEF) $(PUCCPTYDDEF) \ -DOSMAJORVERSION=$(OSMAJORVERSION) \ -DOSMINORVERSION=$(OSMINORVERSION) MISC_DEFINES = /* -DALLOWLOGGING -DALLOWLOGFILEEXEC */ XKB_DEFINES = XkbClientDefines PATH_DEFINES = -DPROJECTROOT=$(PROJECTROOT) #if NXLibraries DEFINES = $(XKB_DEFINES) $(TERMCAPDEFINES) $(FEATURE_DEFINES) $(SCROLLBAR_RIGHT) $(UTF8_OPTION) $(XRFDEF) $(PATH_DEFINES) $(PUTENVDEF) $(IMAKEDEFINES) $(TRACEDEF) $(NX_DEFINES) #else DEFINES = $(XKB_DEFINES) $(TERMCAPDEFINES) $(FEATURE_DEFINES) $(SCROLLBAR_RIGHT) $(UTF8_OPTION) $(XRFDEF) $(PATH_DEFINES) $(PUTENVDEF) $(IMAKEDEFINES) $(TRACEDEF) #endif INCLUDES = -I. $(XRFINCLUDES) #ifdef OS2Architecture MAINSRC = os2main.c MAINOBJ = os2main.o #else MAINSRC = main.c MAINOBJ = main.o #endif #ifdef TraceXTerm TRACESRC = trace.c TRACEOBJ = trace.o #endif SRCS1 = button.c charproc.c charsets.c cursor.c \ data.c doublechr.c fontutils.c input.c \ menu.c misc.c print.c ptydata.c \ screen.c scrollbar.c tabs.c util.c xstrings.c \ TekPrsTbl.c Tekproc.c VTPrsTbl.c \ $(MAINSRC) $(EXTRASRC) $(UTF8SRC) $(TRACESRC) OBJS1 = button.o charproc.o charsets.o cursor.o \ data.o doublechr.o fontutils.o input.o \ menu.o misc.o print.o ptydata.o \ screen.o scrollbar.o tabs.o util.o xstrings.o \ TekPrsTbl.o Tekproc.o VTPrsTbl.o \ $(MAINOBJ) $(EXTRAOBJ) $(UTF8OBJ) $(TRACEOBJ) SRCS2 = resize.c xstrings.c OBJS2 = resize.o xstrings.o SRCS = $(SRCS1) $(SRCS2) OBJS = $(OBJS1) $(OBJS2) PROGRAMS = ProgramTargetName(resize) ProgramTargetName(xterm) DEPLIBS1 = XkbClientDepLibs XawClientDepLibs $(XRFDEPLIBS) DEPLIBS2 = #ifndef TermcapLibrary #if SystemV && !defined(MacIIArchitecture) #if defined(CrayArchitecture) || \ (defined(HPArchitecture) && (OSMajorVersion < 10)) || \ defined(RsArchitecture) || \ defined(SCOArchitecture) || \ defined(USLArchitecture) #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(menu,$(_NOOP_),$(MISC_DEFINES)) SpecialCObjectRule(misc,$(_NOOP_),$(MISC_DEFINES)) SpecialCObjectRule(charproc,$(_NOOP_),$(MISC_DEFINES)) SpecialCObjectRule(data,$(_NOOP_),$(MISC_DEFINES)) #if InstallXtermSetUID INSTUIDFLAGS = -m 4711 SetUIDProgramTarget(xterm,$(OBJS1),$(DEPLIBS1),$(XRFLIBS) XkbClientLibs XawClientLibs,$(TERMCAPLIB) $(PTYLIB)) #else NormalProgramTarget(xterm,$(OBJS1),$(DEPLIBS1),$(XRFLIBS) XkbClientLibs XawClientLibs,$(TERMCAPLIB) $(UTMPLIB) $(PTYLIB)) #endif #if InstallXtermSetGID CSGIDFLAGS = -DUSE_UTMP_SETGID INSTUIDFLAGS = -m 2755 -g utmp #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:: MakeDir($(DESTDIR)$(BINDIR)) RemoveFile(ProgramTargetName(xterm.inst)) LinkRule(ProgramTargetName(xterm.inst),$(CDEBUGFLAGS) $(CCOPTIONS) $(EXTRA_LDOPTIONS) $(LOCAL_LDFLAGS),$(OBJS1),$(LDOVERRIDE) $(XRFLIBS) 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 InstallNamedProg(uxterm,uxterm,$(BINDIR)) /* * Link with the termcap library if USE_TERMCAP is defined in resize.c */ #if defined(NTOArchitecture) || \ defined(LinuxArchitecture) || \ defined(OpenBSDArchitecture) || \ defined(SGIArchitecture) || \ defined(SunArchitecture) NormalProgramTarget(resize,$(OBJS2),$(DEPLIBS2),NullParameter,NullParameter) #else NormalProgramTarget(resize,$(OBJS2),$(DEPLIBS2),NullParameter,$(TERMCAPLIB)) #endif InstallProgramWithFlags(resize,$(BINDIR),NullParameter) /* * termcap is a special name that does not install correctly with * InstallNamedNonExec() */ install:: MakeDir($(DESTDIR)$(LIBDIR)/etc) $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) termcap \ $(DESTDIR)$(LIBDIR)/etc/xterm.termcap InstallNamedNonExec(terminfo,xterm.terminfo,$(LIBDIR)/etc) InstallAppDefaults(XTerm) InstallAppDefaults(UXTerm) InstallAppDefaultsLong(XTerm-col,XTerm-color) InstallManPage(xterm,$(MANDIR)) InstallManPage(resize,$(MANDIR)) DependTarget()