mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-02-13 03:32:24 +00:00
Begin removal of some Imakefiles, and other no longer useful cruft
This commit will not completely remove all Imake files, specifically those for sections that have not been completed yet. Also, the databases dir has been moved to databases-delete-later until we have everything building and installed properly.
This commit is contained in:
parent
727baab329
commit
369b3e89d9
214 changed files with 0 additions and 33986 deletions
135
cde/Imakefile
135
cde/Imakefile
|
@ -1,135 +0,0 @@
|
|||
XCOMM $TOG: Imakefile /main/22 1999/01/18 10:38:29 samborn $
|
||||
#define IHaveSubdirs
|
||||
#define PassCDebugFlags CDEBUGFLAGS="$(CDEBUGFLAGS)"
|
||||
|
||||
CDE_RELEASE = 2.2.0
|
||||
|
||||
SUBDIRS = config util include lib programs databases admin
|
||||
DOCSUBDIRS = config doc
|
||||
|
||||
MakeSubdirs($(SUBDIRS))
|
||||
|
||||
DependSubdirs($(SUBDIRS))
|
||||
|
||||
#define IHaveSpecialMakefileTarget
|
||||
Makefile:: xmakefile
|
||||
ImakeDependency(xmakefile)
|
||||
xmakefile:: Imakefile
|
||||
RMoveToBakFile(xmakefile)
|
||||
$(IMAKE_CMD) -s xmakefile -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
|
||||
|
||||
|
||||
VerifyOS::
|
||||
@echo ""
|
||||
@echo Building on OSName.
|
||||
@echo ""
|
||||
|
||||
includes::
|
||||
MakeDir($(BUILDINCDIR))
|
||||
|
||||
XCOMM
|
||||
XCOMM Watch out!!! Make sure you do make includes after removing X11....
|
||||
XCOMM
|
||||
clean::
|
||||
$(RM) -r $(BUILDINCDIR)
|
||||
$(RM) -r $(BUILDLIBDIR)
|
||||
|
||||
WORLDOPTS =
|
||||
MAKE_OPTS = -f xmakefile
|
||||
|
||||
XCOMM
|
||||
XCOMM install; create the directories that we're going to need
|
||||
XCOMM
|
||||
|
||||
DIRS_TO_CREATE = $(USRLIBDIR) $(BINDIR) $(INCDIR) $(USRINCDIR) $(LIBDIR) $(XAPPLOADDIR)
|
||||
|
||||
MakeDirectories(install, $(DIRS_TO_CREATE))
|
||||
|
||||
XCOMM
|
||||
XCOMM Everything builds everything in the SUBDIRS directories
|
||||
XCOMM
|
||||
|
||||
Everything::
|
||||
@echo ""
|
||||
@echo "Rebuilding Release $(CDE_RELEASE) of CDE"
|
||||
@echo ""
|
||||
@date
|
||||
@echo ""
|
||||
MakeImakeDir()
|
||||
-$(RM) xmakefile.bak; $(MV) xmakefile xmakefile.bak
|
||||
$(MAKE) $(MFLAGS) -f xmakefile.bak xmakefile
|
||||
$(MAKE) $(MFLAGS) $(MAKE_OPTS) Makefiles
|
||||
$(MAKE) $(MFLAGS) $(MAKE_OPTS) Makefiles.doc
|
||||
$(MAKE) $(MFLAGS) $(MAKE_OPTS) includes
|
||||
$(MAKE) $(MFLAGS) $(MAKE_OPTS) includes.doc
|
||||
$(MAKE) $(MFLAGS) $(MAKE_OPTS) depend
|
||||
$(MAKE) $(MFLAGS) $(MAKE_OPTS) depend.doc
|
||||
$(MAKE) $(MFLAGS) $(MAKE_OPTS) $(WORLDOPTS)
|
||||
$(MAKE) $(MFLAGS) $(MAKE_OPTS) $(WORLDOPTS) all.doc
|
||||
@echo ""
|
||||
@date
|
||||
@echo ""
|
||||
@echo "Rebuild of Release $(CDE_RELEASE) of CDE complete."
|
||||
@echo ""
|
||||
|
||||
Everything.dev::
|
||||
@echo ""
|
||||
@echo "Rebuilding Release $(CDE_RELEASE) of CDE excluding DOC"
|
||||
@echo ""
|
||||
@date
|
||||
@echo ""
|
||||
MakeImakeDir()
|
||||
-$(RM) xmakefile.bak; $(MV) xmakefile xmakefile.bak
|
||||
$(MAKE) $(MFLAGS) -f xmakefile.bak xmakefile
|
||||
$(MAKE) $(MFLAGS) $(MAKE_OPTS) Makefiles
|
||||
$(MAKE) $(MFLAGS) $(MAKE_OPTS) includes
|
||||
$(MAKE) $(MFLAGS) $(MAKE_OPTS) depend
|
||||
$(MAKE) $(MFLAGS) $(MAKE_OPTS) $(WORLDOPTS)
|
||||
@echo ""
|
||||
@date
|
||||
@echo ""
|
||||
@echo "Rebuild of Release $(CDE_RELEASE) of CDE excluding DOC complete."
|
||||
@echo ""
|
||||
|
||||
XCOMM clean out link tree looking for stuff that should get checked in
|
||||
dangerous_strip_clean::
|
||||
make -k clean clean.doc
|
||||
find . -type l -exec rm {} \;
|
||||
find . \( \! \( -type d -o -name Makefile \) \) -print
|
||||
|
||||
XCOMM special target to determine if the xmakefile exists.
|
||||
XCOMM Works on both Unix and NMAKE.EXE
|
||||
xmakefile-exists::
|
||||
|
||||
|
||||
XCOMM
|
||||
XCOMM Everything.doc builds everything in the DOCSUBDIRS directories
|
||||
XCOMM
|
||||
|
||||
Everything.doc::
|
||||
@echo ""
|
||||
@echo "Rebuilding Release $(CDE_RELEASE) of DOC"
|
||||
@echo ""
|
||||
@date
|
||||
@echo ""
|
||||
MakeImakeDir()
|
||||
-$(RM) xmakefile.bak; $(MV) xmakefile xmakefile.bak
|
||||
$(MAKE) $(MFLAGS) -f xmakefile.bak xmakefile
|
||||
$(MAKE) $(MFLAGS) $(MAKE_OPTS) Makefiles.doc
|
||||
$(MAKE) $(MFLAGS) $(MAKE_OPTS) includes.doc
|
||||
$(MAKE) $(MFLAGS) $(MAKE_OPTS) depend.doc
|
||||
$(MAKE) $(MFLAGS) $(MAKE_OPTS) $(WORLDOPTS) all.doc
|
||||
@echo ""
|
||||
@date
|
||||
@echo ""
|
||||
@echo "Rebuild of Release $(CDE_RELEASE) of DOC complete."
|
||||
@echo ""
|
||||
|
||||
NamedTargetSubdirs(install.doc,$(DOCSUBDIRS),"installing",DESTDIR=$(DESTDIR),install)
|
||||
NamedTargetSubdirs(install.man.doc,$(DOCSUBDIRS),"installing man pages",DESTDIR=$(DESTDIR),install.man)
|
||||
NamedCleanSubdirs(clean.doc,$(DOCSUBDIRS))
|
||||
NamedTagSubdirs(tags.doc,$(DOCSUBDIRS))
|
||||
MakeMakeSubdirs($(DOCSUBDIRS),Makefiles.doc)
|
||||
NamedTargetSubdirs(includes.doc,$(DOCSUBDIRS),including,NullParameter,includes)
|
||||
NamedTargetSubdirs(depend.doc,$(DOCSUBDIRS),depending,NullParameter,depend)
|
||||
NamedMakeSubdirs(all.doc, $(DOCSUBDIRS))
|
|
@ -1,219 +0,0 @@
|
|||
# $TOG: Makefile /main/15 1999/10/12 09:33:30 mgreess $
|
||||
RELEASE = Release 2.4.0
|
||||
PRODUCT = CDE
|
||||
SHELL = /bin/sh
|
||||
RM = rm -f
|
||||
MV = mv
|
||||
MAKE = make
|
||||
NMAKE = nmake
|
||||
WORLDOPTS =
|
||||
TOP = .
|
||||
CURRENT_DIR = .
|
||||
CONFIGSRC = $(TOP)/config
|
||||
IMAKESRC = $(CONFIGSRC)/imake
|
||||
DEPENDSRC = $(CONFIGSRC)/makedepend
|
||||
DEPENDTOP = ../..
|
||||
IMAKETOP = ../..
|
||||
IRULESRC = $(CONFIGSRC)/cf
|
||||
IMAKE = $(IMAKESRC)/imake
|
||||
IMAKE_CMD = $(IMAKE) -I$(IRULESRC) $(IMAKE_DEFINES)
|
||||
MAKE_OPTS = -f xmakefile
|
||||
MAKE_CMD = $(MAKE) $(MAKE_OPTS)
|
||||
NMAKE_CMD = $(NMAKE) $(MAKE_OPTS)
|
||||
FLAGS = $(MFLAGS) -f Makefile.ini BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)"
|
||||
CDE_CONFIGURATION_TOP = /etc/dt
|
||||
CDE_INSTALLATION_TOP = /usr/dt
|
||||
|
||||
all:
|
||||
@$(MAKE_CMD) xmakefile-exists || $(MAKE) all-initial
|
||||
@$(MAKE_CMD) $@
|
||||
|
||||
all-initial:
|
||||
@echo "Please begin by using make World or make Makefile. You may"
|
||||
@echo "find it necessary to set the make variable BOOTSTRAPCFLAGS in"
|
||||
@echo "order to compile imake. One common example is"
|
||||
@echo "\"BOOTSTRAPCFLAGS=-I<dir>\", where <dir> is the top of your"
|
||||
@echo "X11R6 source tree. Remember to check the configuration"
|
||||
@echo "parameters in the config directory."
|
||||
@echo
|
||||
@echo "We recommend that you read the release notes carefully before"
|
||||
@echo "proceeding; they can be found under the doc directory. If"
|
||||
@echo "the top-level Makefile gets corrupted, copy Makefile.ini to"
|
||||
@echo "Makefile and try again. Do not name your log file make.log or"
|
||||
@echo "it will be deleted."
|
||||
|
||||
World:
|
||||
@echo ""
|
||||
@echo "Building $(RELEASE) of $(PRODUCT)"
|
||||
@echo ""
|
||||
@case "x$(BOOTSTRAPCFLAGS)" in x) \
|
||||
echo I hope you checked the configuration parameters in $(IRULESRC) ; \
|
||||
echo to see if you need to pass BOOTSTRAPCFLAGS. ; \
|
||||
echo "" ; \
|
||||
;; esac;
|
||||
@date
|
||||
@echo ""
|
||||
cd $(IMAKESRC) && $(MAKE) $(FLAGS) clean
|
||||
$(MAKE) $(MFLAGS) Makefile.boot
|
||||
$(MAKE_CMD) $(MFLAGS) VerifyOS
|
||||
$(MAKE_CMD) $(MFLAGS) Makefiles
|
||||
$(MAKE_CMD) $(MFLAGS) Makefiles.doc
|
||||
$(MAKE_CMD) $(MFLAGS) clean
|
||||
$(MAKE_CMD) $(MFLAGS) clean.doc
|
||||
$(MAKE_CMD) $(MFLAGS) includes
|
||||
$(MAKE_CMD) $(MFLAGS) includes.doc
|
||||
$(MAKE_CMD) $(MFLAGS) depend
|
||||
$(MAKE_CMD) $(MFLAGS) depend.doc
|
||||
$(MAKE_CMD) $(MFLAGS) $(WORLDOPTS)
|
||||
$(MAKE_CMD) $(MFLAGS) $(WORLDOPTS) all.doc
|
||||
@echo ""
|
||||
@date
|
||||
@echo ""
|
||||
@echo "Full build of $(RELEASE) of $(PRODUCT) complete."
|
||||
@echo ""
|
||||
|
||||
|
||||
World.dev:
|
||||
@echo ""
|
||||
@echo "Building $(RELEASE) of $(PRODUCT) excluding DOC"
|
||||
@echo ""
|
||||
@case "x$(BOOTSTRAPCFLAGS)" in x) \
|
||||
echo I hope you checked the configuration parameters in $(IRULESRC) ; \
|
||||
echo to see if you need to pass BOOTSTRAPCFLAGS. ; \
|
||||
echo "" ; \
|
||||
;; esac;
|
||||
@date
|
||||
@echo ""
|
||||
cd $(IMAKESRC) && $(MAKE) $(FLAGS) clean
|
||||
$(MAKE) $(MFLAGS) Makefile.boot
|
||||
$(MAKE_CMD) $(MFLAGS) VerifyOS
|
||||
$(MAKE_CMD) $(MFLAGS) Makefiles
|
||||
$(MAKE_CMD) $(MFLAGS) clean
|
||||
$(MAKE_CMD) $(MFLAGS) includes
|
||||
$(MAKE_CMD) $(MFLAGS) depend
|
||||
$(MAKE_CMD) $(MFLAGS) $(WORLDOPTS)
|
||||
@echo ""
|
||||
@date
|
||||
@echo ""
|
||||
@echo "Full build of $(RELEASE) of $(PRODUCT) excluding DOC complete."
|
||||
@echo ""
|
||||
|
||||
World.doc:
|
||||
@echo ""
|
||||
@echo "Building $(RELEASE) of $(PRODUCT) DOC"
|
||||
@echo ""
|
||||
@case "x$(BOOTSTRAPCFLAGS)" in x) \
|
||||
echo I hope you checked the configuration parameters in $(IRULESRC) ; \
|
||||
echo to see if you need to pass BOOTSTRAPCFLAGS. ; \
|
||||
echo "" ; \
|
||||
;; esac;
|
||||
@date
|
||||
@echo ""
|
||||
cd $(IMAKESRC) && $(MAKE) $(FLAGS) clean
|
||||
$(MAKE) $(MFLAGS) Makefile.boot
|
||||
$(MAKE_CMD) $(MFLAGS) VerifyOS
|
||||
$(MAKE_CMD) $(MFLAGS) Makefiles.doc
|
||||
$(MAKE_CMD) $(MFLAGS) clean.doc
|
||||
$(MAKE_CMD) $(MFLAGS) includes.doc
|
||||
$(MAKE_CMD) $(MFLAGS) depend.doc
|
||||
$(MAKE_CMD) $(MFLAGS) $(WORLDOPTS) all.doc
|
||||
@echo ""
|
||||
@date
|
||||
@echo ""
|
||||
@echo "Full build of $(RELEASE) of $(PRODUCT) DOC complete."
|
||||
@echo ""
|
||||
|
||||
.PRECIOUS: Makefile
|
||||
|
||||
# This is just a sequence of bootstrapping steps we have to do.
|
||||
# The steps are listed as separate targets so clearmake can wink in
|
||||
# the Makefile.proto files.
|
||||
Makefile.boot: imake.proto $(DEPENDSRC)/Makefile.proto depend.bootstrap $(IMAKESRC)/Makefile.proto imake.bootstrap $(DEPENDSRC)/proto.clean
|
||||
|
||||
imake.proto:
|
||||
cd $(IMAKESRC) && $(MAKE) $(FLAGS)
|
||||
$(RM) $(DEPENDSRC)/Makefile.proto $(DEPENDSRC)/.depend
|
||||
|
||||
$(DEPENDSRC)/Makefile.proto:
|
||||
$(IMAKE_CMD) -s $(DEPENDSRC)/Makefile.proto -f $(DEPENDSRC)/Imakefile -DTOPDIR=$(DEPENDTOP) -DCURDIR=$(DEPENDSRC)
|
||||
|
||||
depend.bootstrap:
|
||||
cd $(DEPENDSRC) && $(RM) -r Makefile Makefile.dep makedepend *.o bootstrap
|
||||
cd $(DEPENDSRC) && $(MAKE) -f Makefile.proto bootstrap
|
||||
|
||||
$(IMAKESRC)/Makefile.proto:
|
||||
$(IMAKE_CMD) -s $(IMAKESRC)/Makefile.proto -f $(IMAKESRC)/Imakefile -DTOPDIR=$(IMAKETOP) -DCURDIR=$(IMAKESRC)
|
||||
|
||||
imake.bootstrap:
|
||||
cd $(IMAKESRC) && $(MAKE) -f Makefile.proto bootstrapdepend
|
||||
cd $(IMAKESRC) && $(MAKE) $(FLAGS) bootstrap
|
||||
cd $(IMAKESRC) && $(MAKE) -f Makefile.proto all
|
||||
-@if [ -f xmakefile ]; then set -x; \
|
||||
$(RM) xmakefile.bak; $(MV) xmakefile xmakefile.bak; \
|
||||
else exit 0; fi
|
||||
$(MAKE) $(MFLAGS) xmakefile
|
||||
|
||||
$(DEPENDSRC)/proto.clean:
|
||||
cd $(DEPENDSRC) && $(RM) -r Makefile.proto
|
||||
|
||||
Makefile::
|
||||
$(MAKE) $(MFLAGS) xmakefile
|
||||
|
||||
xmakefile: Imakefile
|
||||
$(IMAKE_CMD) -s xmakefile -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
|
||||
|
||||
# don't allow any default rules in this Makefile
|
||||
.SUFFIXES:
|
||||
|
||||
# a copy of every rule that might be invoked at top level
|
||||
|
||||
clean:
|
||||
$(MAKE_CMD) $@
|
||||
dangerous_strip_clean:
|
||||
$(MAKE_CMD) $@
|
||||
depend:
|
||||
$(MAKE_CMD) $@
|
||||
Everything:
|
||||
$(MAKE_CMD) $@
|
||||
external.ln:
|
||||
$(MAKE_CMD) $@
|
||||
includes:
|
||||
$(MAKE_CMD) $@
|
||||
install.ln:
|
||||
$(MAKE_CMD) $@
|
||||
install.man:
|
||||
$(MAKE_CMD) $@
|
||||
install:
|
||||
$(MAKE_CMD) $@
|
||||
Makefiles:
|
||||
$(MAKE_CMD) $@
|
||||
man_keywords:
|
||||
$(MAKE_CMD) $@
|
||||
tags:
|
||||
$(MAKE_CMD) $@
|
||||
VerifyOS:
|
||||
$(MAKE_CMD) $@
|
||||
|
||||
# dev versions
|
||||
|
||||
Everything.dev:
|
||||
$(MAKE_CMD) $@
|
||||
|
||||
# doc versions
|
||||
|
||||
clean.doc:
|
||||
$(MAKE_CMD) $@
|
||||
depend.doc:
|
||||
$(MAKE_CMD) $@
|
||||
Everything.doc:
|
||||
$(MAKE_CMD) $@
|
||||
includes.doc:
|
||||
$(MAKE_CMD) $@
|
||||
install.man.doc:
|
||||
$(MAKE_CMD) $@
|
||||
install.doc:
|
||||
$(MAKE_CMD) $@
|
||||
Makefiles.doc:
|
||||
$(MAKE_CMD) $@
|
||||
tags.doc:
|
||||
$(MAKE_CMD) $@
|
|
@ -1,17 +0,0 @@
|
|||
XCOMM $XConsortium: Imakefile /main/6 1996/09/28 16:04:42 rws $
|
||||
#define IHaveSubdirs
|
||||
#define PassCDebugFlags CDEBUGFLAGS="$(CDEBUGFLAGS)"
|
||||
|
||||
#undef BootstrapCleanSubdirs
|
||||
#define BootstrapCleanSubdirs BOOTSTRAPSUBDIRS="$(BOOTSTRAPSUBDIRS)"
|
||||
|
||||
#if defined(LinuxArchitecture)
|
||||
BOOTSTRAPSUBDIRS = imake
|
||||
#else
|
||||
BOOTSTRAPSUBDIRS = imake makedepend
|
||||
#endif
|
||||
|
||||
SUBDIRS = cf $(BOOTSTRAPSUBDIRS) util
|
||||
|
||||
MakeSubdirs($(SUBDIRS))
|
||||
DependSubdirs($(SUBDIRS))
|
|
@ -1,22 +0,0 @@
|
|||
XCOMM platform: $XConsortium: DGUX.cf /main/5 1996/09/28 16:04:56 rws $
|
||||
|
||||
#ifndef OSName
|
||||
#define OSName DG/UX 4.32
|
||||
#endif
|
||||
XCOMM operating system: OSName
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion 4
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion 32
|
||||
#endif
|
||||
|
||||
#define BootstrapCFlags -DDGUX
|
||||
#define StandardDefines -DDGUX -DSYSV
|
||||
#define SystemV YES
|
||||
#define HasPutenv YES
|
||||
#define HasGcc YES
|
||||
#define BuildServer NO
|
||||
#define UNCOMPRESSPATH /usr/bin/X11/uncompress
|
||||
|
||||
#define ExtraFilesToClean *.lg
|
|
@ -1,342 +0,0 @@
|
|||
XCOMM $XdotOrg: xc/config/cf/DragonFly.cf,v 1.1 2005/02/19 02:02:31 marvis Exp $
|
||||
|
||||
#define UseElfFormat YES
|
||||
|
||||
#define OSBinaryFormat [ELF]
|
||||
|
||||
#ifndef OSName
|
||||
#define OSName DefaultOSName OSBinaryFormat
|
||||
#endif
|
||||
#ifndef OSVendor
|
||||
#define OSVendor /**/
|
||||
#endif
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion DefaultOSMajorVersion
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion DefaultOSMinorVersion
|
||||
#endif
|
||||
|
||||
#ifndef OSRelVersion
|
||||
/* Include this to get finer-grained information about the OS version */
|
||||
#include "/usr/include/osreldate.h"
|
||||
#define OSRelVersion __DragonFly_version
|
||||
#endif
|
||||
|
||||
XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion) (OSRelVersion)
|
||||
|
||||
/*
|
||||
* Base OS setup
|
||||
*/
|
||||
#define HasCplusplus YES
|
||||
#define GccUsesGas YES
|
||||
#define UseGas YES
|
||||
#define GnuCpp YES
|
||||
#define HasBasename YES
|
||||
#define HasBSD44Sockets YES
|
||||
#define HasDlopen YES
|
||||
#define HasGetIfAddrs YES
|
||||
#define HasIssetugid YES
|
||||
#define HasLibCrypt YES
|
||||
#define HasMktemp YES
|
||||
#define HasNCurses YES
|
||||
#define HasNdbm YES
|
||||
#define HasPlugin YES
|
||||
#define HasPoll YES
|
||||
#define HasPutenv YES
|
||||
#define HasUsableFileMmap YES
|
||||
#define HasSetProcTitle YES
|
||||
#define HasShm YES
|
||||
#define HasSnprintf YES
|
||||
#define HasStrlcat YES
|
||||
#define HasVarDb YES
|
||||
#define HasVarRun YES
|
||||
#define HasWChar32 YES
|
||||
#define HasWeakSymbols UseElfFormat
|
||||
#define BuildXaw6 NO /*depreciated*/
|
||||
#define BuildXaw7 NO /*depreciated*/
|
||||
#define BuildXaw YES /*needed*/
|
||||
#ifndef BuildPDFdocs
|
||||
#define BuildPDFdocs NO
|
||||
#endif
|
||||
#define IPv6SocketsAlsoIPv4 NO
|
||||
#define InstallXloadSetGID NO
|
||||
|
||||
/*
|
||||
* Multi-thread safe libs
|
||||
*/
|
||||
#ifndef HasLibPthread
|
||||
# define HasLibPthread NO
|
||||
#endif
|
||||
#define HasPosixThreads YES
|
||||
#define ThreadedX YES
|
||||
#define SystemMTDefines -D_REENTRANT -D_THREAD_SAFE
|
||||
#define HasThreadSafeAPI YES
|
||||
#define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXNO_MTSAFE_PWDAPI
|
||||
#if HasLibPthread
|
||||
# define ThreadsLibraries -lpthread
|
||||
#else
|
||||
# define ThreadsLibraries -pthread
|
||||
#endif
|
||||
|
||||
|
||||
#define AvoidNullMakeCommand YES
|
||||
#define StripInstalledPrograms YES
|
||||
#define CompressAllFonts YES
|
||||
#define Malloc0ReturnsNull YES
|
||||
#define NeedConstPrototypes YES
|
||||
#define NeedFunctionPrototypes YES
|
||||
#define NeedNestedPrototypes YES
|
||||
#define NeedVarargsPrototypes YES
|
||||
#define NeedWidePrototypes NO
|
||||
|
||||
#define MkdirHierCmd mkdir -p
|
||||
|
||||
#define LexCmd flex -l
|
||||
#define HasFlex YES
|
||||
|
||||
#ifndef CcCmd
|
||||
# define CcCmd cc
|
||||
#endif
|
||||
#ifndef CplusplusCmd
|
||||
# define CplusplusCmd c++
|
||||
#endif
|
||||
#define CppCmd /usr/bin/cpp
|
||||
#define PreProcessCmd CppCmd
|
||||
#define StandardCppOptions -traditional
|
||||
#define StandardCppDefines /**/
|
||||
#ifndef DefaultCCOptions
|
||||
# if defined(UseInstalled)
|
||||
# define DefaultCCOptions /**/
|
||||
# else
|
||||
# if defined(HasGcc3) && HasGcc3
|
||||
# define NoSystemWarn -Wno-system-headers
|
||||
# else
|
||||
# define NoSystemWarn
|
||||
# endif
|
||||
# define DefaultCCOptions -ansi NoSystemWarn -Dasm=__asm GccWarningOptions
|
||||
#endif
|
||||
#ifndef ExtraLibraries
|
||||
/* support for multi-byte locales is in libxpg4 rather than libc */
|
||||
#define ExtraLibraries -lxpg4
|
||||
#endif
|
||||
#define HasSetUserContext YES
|
||||
#define HasGetpeereid YES
|
||||
#define HasMTRRSupport YES
|
||||
|
||||
#ifndef BuildXF86DRI
|
||||
# define BuildXF86DRI YES
|
||||
#endif
|
||||
|
||||
#if defined(i386Architecture)
|
||||
#define HasAgpGart YES
|
||||
#endif
|
||||
|
||||
/*
|
||||
* SSE and 3DNow will be autodetected, so binutils is the only
|
||||
* requirement for enabling this.
|
||||
*/
|
||||
#if defined(i386Architecture)
|
||||
# define HasX86Support YES
|
||||
# define HasMMXSupport YES
|
||||
# define Has3DNowSupport YES
|
||||
# define HasSSESupport YES
|
||||
#else
|
||||
# define HasX86Support NO
|
||||
# define HasMMXSupport NO
|
||||
# define Has3DNowSupport NO
|
||||
# define HasSSESupport NO
|
||||
#endif
|
||||
|
||||
#ifndef BuildDmx
|
||||
#define BuildDmx YES
|
||||
#endif
|
||||
|
||||
#ifndef UseRpath
|
||||
# define UseRpath YES
|
||||
#endif
|
||||
|
||||
#ifndef RpathLoadFlags
|
||||
# if UseRpath
|
||||
# define RpathLoadFlags -Wl,-rpath,$(USRLIBDIRPATH)
|
||||
# else
|
||||
# define RpathLoadFlags /**/
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef ExtraLoadFlags
|
||||
# if !defined(UseInstalled)
|
||||
# define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link,$(BUILDLIBDIR)
|
||||
# else
|
||||
# define ExtraLoadFlags RpathLoadFlags
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef LibraryRpathLoadFlags
|
||||
# if UseRpath
|
||||
# define LibraryRpathLoadFlags -rpath $(USRLIBDIRPATH)
|
||||
# else
|
||||
# define LibraryRpathLoadFlags /**/
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibraryLoadFlags
|
||||
# define SharedLibraryLoadFlags -shared LibraryRpathLoadFlags
|
||||
#endif
|
||||
|
||||
#ifndef HasZlib
|
||||
# define HasZlib YES
|
||||
#endif
|
||||
|
||||
#ifndef HasPamLibrary
|
||||
XCOMM See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=253073
|
||||
XCOMM to enable pam support
|
||||
# define HasPamLibrary NO
|
||||
#endif
|
||||
|
||||
/* Take from FreeBSD */
|
||||
/* There are two options for building. One is to assume that the system has
|
||||
* many of the dependencies provided by the ports tree. The other is to just
|
||||
* build everything from this tree.
|
||||
*/
|
||||
|
||||
#ifndef HasStandardPorts
|
||||
# define HasStandardPorts YES
|
||||
#endif
|
||||
|
||||
#ifndef LocalBase
|
||||
# define LocalBase /usr/local
|
||||
#endif
|
||||
#ifndef X11Base
|
||||
# define X11Base /usr/X11R6
|
||||
#endif
|
||||
|
||||
#if HasStandardPorts
|
||||
|
||||
#ifndef HasExpat
|
||||
# define HasExpat YES
|
||||
# define ExpatDir LocalBase
|
||||
#endif
|
||||
|
||||
#ifndef HasLibpng
|
||||
# define HasLibpng YES
|
||||
# define LibpngDir LocalBase
|
||||
#endif
|
||||
|
||||
#endif /* HasStandardPorts */
|
||||
|
||||
#undef InstallCmd
|
||||
#define InstallCmd /usr/bin/install
|
||||
|
||||
#define AsmElfDefines -D__ELF__
|
||||
|
||||
#if GccUsesGas
|
||||
# define GccGasOption -DGCCUSESGAS
|
||||
# define AsmDefines -DUSE_GAS AsmElfDefines
|
||||
#else
|
||||
# define GccGasOption /**/
|
||||
# define AsmDefines AsmElfDefines
|
||||
#endif
|
||||
|
||||
#ifdef i386Architecture
|
||||
#define ServerExtraDefines GccGasOption XFree86ServerDefines
|
||||
#endif
|
||||
#if defined(Sparc64Architecture) || defined(ia64Architecture) || \
|
||||
defined(AMD64Architecture)
|
||||
#define ServerExtraDefines GccGasOption XFree86ServerDefines -D_XSERVER64
|
||||
#endif
|
||||
|
||||
#define StandardDefines -DCSRG_BASED
|
||||
|
||||
#define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
|
||||
#define XawI18nDefines -DUSE_XWCHAR_STRING
|
||||
#define HasMakefileSafeInclude YES
|
||||
#define IncludeMakefile(file) @@# dependencies are in .depend
|
||||
#define DependFileName .depend
|
||||
#ifndef DoLoadableServer
|
||||
# define DoLoadableServer YES
|
||||
#endif
|
||||
#ifndef ForceNormalLib
|
||||
# define ForceNormalLib YES
|
||||
#endif
|
||||
#define HasMkstemp YES
|
||||
|
||||
#define OptimizedCDebugFlags -O
|
||||
|
||||
#ifndef PreIncDir
|
||||
# define PreIncDir /usr/include
|
||||
#endif
|
||||
|
||||
#define HasGroff YES
|
||||
#define NroffCmd env GROFF_NO_SGR=y groff -Tascii
|
||||
#define SetTtyGroup YES
|
||||
|
||||
#ifndef ExtraFilesToClean
|
||||
# define ExtraFilesToClean *.core
|
||||
#endif
|
||||
|
||||
#define DefaultUserPath /bin:/usr/bin:/sbin:/usr/sbin:$(BINDIR):/usr/local/bin
|
||||
#define DefaultSystemPath /bin:/usr/bin:/sbin:/usr/sbin:$(BINDIR)
|
||||
#ifndef SystemManDirectory
|
||||
# define SystemManDirectory /usr/share/man
|
||||
#endif
|
||||
|
||||
#define InstKmemFlags -g kmem -m 2755
|
||||
|
||||
/*
|
||||
* Compress manual pages
|
||||
*/
|
||||
#ifndef CompressManPages
|
||||
# define CompressManPages NO
|
||||
#endif
|
||||
|
||||
#define HasBsdMake YES
|
||||
|
||||
#ifndef StaticLibrary
|
||||
# define StaticLibrary(libpath,libname) -Wl,-Bstatic Concat(-L,libpath) Concat(-l,libname) -Wl,-Bdynamic
|
||||
#endif
|
||||
|
||||
#define DlLibrary -Wl,--export-dynamic
|
||||
|
||||
#ifndef PamLibraries
|
||||
# define PamLibraries -lpam DlLibrary
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibXdmGreet
|
||||
# define SharedLibXdmGreet NO
|
||||
#endif
|
||||
|
||||
/*
|
||||
* On FreeBSD, the run-time loader will use the built-in "rpath" before
|
||||
* LD_LIBRARY_PATH. This means that utilities like mkfontdir will load
|
||||
* installed libraries (if they exist) in preference to the ones in the
|
||||
* build tree, even though LD_LIBRARY_PATH points to the build tree.
|
||||
* This can result in the build failing. One way to avoid this is to
|
||||
* pre-load the libraries from the build tree.
|
||||
*
|
||||
* There should be a better way than this hack...
|
||||
*/
|
||||
#if UseElfFormat
|
||||
#ifndef PreloadFontSetup
|
||||
#define PreloadFontSetup LD_PRELOAD="`(cd $(XENVLIBDIR); echo $(XFONTPRELOADPATTERN))`"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef HasCookieMaker
|
||||
# define HasCookieMaker YES
|
||||
# define MkCookieCmd \
|
||||
'dd if=/dev/urandom bs=16 count=1 2>/dev/null | hexdump -e \\"%08x\\"'
|
||||
#endif
|
||||
|
||||
/*
|
||||
* A hack to work around an optimization problem with gcc 2.95.2 - 2.95.4
|
||||
*/
|
||||
#if (GccMajorVersion == 2 && GccMinorVersion == 95)
|
||||
# define GccOptBug295
|
||||
#endif
|
||||
|
||||
#include <bsdLib.rules>
|
||||
|
||||
#include <xorg.cf>
|
|
@ -1,415 +0,0 @@
|
|||
XCOMM $TOG: DtInfo.rules /main/21 1997/09/05 11:31:01 samborn $
|
||||
|
||||
/* Note whether we are the top level project. */
|
||||
#ifndef SeenTopLevelProject
|
||||
# define SeenTopLevelProject YES
|
||||
# define DtInfoIsTopLevelProject YES
|
||||
#else
|
||||
# define DtInfoIsTopLevelProject NO
|
||||
#endif
|
||||
|
||||
/* Chain project rules files. */
|
||||
#include <cde.rules>
|
||||
|
||||
/* Include our favorites in PROJECT_DEFINES. */
|
||||
#ifndef DtInfoProjectDefines
|
||||
# define DtInfoProjectDefines $(DTINFO_DEFINES) $(WIDEC_DEFINES) $(I18N_DEFINES) $(SEARCH_DEFINES) $(DLOPEN_DEFINES) $(LM_DEFINES) $(BYTE_ORDER_DEFINES)
|
||||
#endif
|
||||
#ifdef ProjectDefines
|
||||
# undef ProjectDefines
|
||||
#endif
|
||||
#define ProjectDefines \
|
||||
X11ProjectDefines MotifProjectDefines CdeProjectDefines DtInfoProjectDefines
|
||||
|
||||
/* Ditto for CXXPROJECT_DEFINES. */
|
||||
#ifndef DtInfoCplusplusProjectDefines
|
||||
# define DtInfoCplusplusProjectDefines DtInfoProjectDefines
|
||||
#endif
|
||||
#ifdef CplusplusProjectDefines
|
||||
# undef CplusplusProjectDefines
|
||||
#endif
|
||||
#define CplusplusProjectDefines \
|
||||
X11CplusplusProjectDefines MotifCplusplusProjectDefines CdeCplusplusProjectDefines DtInfoCplusplusProjectDefines
|
||||
|
||||
|
||||
/*
|
||||
* library building stuff
|
||||
*/
|
||||
|
||||
#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 5
|
||||
# define makelibT(libname) @@\
|
||||
makelib(libname) @@\
|
||||
@@\
|
||||
Concat3(libname/lib,libname,T.a): FRC @@\
|
||||
@(cd libname ; \ @@\
|
||||
echo STR(*** Making lib libname Templates ***) ; \ @@\
|
||||
$(MAKE) Concat3(lib,libname,T.a) ; \ @@\
|
||||
)
|
||||
|
||||
# define makelibsubsubdir(subdir,libname) @@\
|
||||
@@\
|
||||
Concat(subdir/libname/lib,libname.a): FRC @@\
|
||||
@(cd subdir ; \ @@\
|
||||
echo STR(*** Making lib libname ***) ; \ @@\
|
||||
$(MAKE) Concat(libname/lib,libname.a) ; \ @@\
|
||||
)
|
||||
|
||||
# define makelibTsubsubdir(subdir,libname) @@\
|
||||
@@\
|
||||
Concat3(subdir/libname/lib,libname,T.a): FRC @@\
|
||||
@(cd subdir ; \ @@\
|
||||
echo STR(*** Making lib libname Templates ***) ; \ @@\
|
||||
$(MAKE) Concat3(libname/lib,libname,T.a) ; \ @@\
|
||||
)
|
||||
#else /* not defined(SunArchitecture) && CplusplusCompilerMajorVersion > 5 */
|
||||
# define makelibT(libname) @@\
|
||||
makelib(libname)
|
||||
#endif
|
||||
|
||||
#define makelib(libname) @@\
|
||||
makelibd(libname,)
|
||||
|
||||
#define makelibd(libname, deps) @@\
|
||||
Concat(libname/lib,libname.a): deps FRC @@\
|
||||
@(cd libname; \ @@\
|
||||
echo STR(*** Making lib libname ***) ; \ @@\
|
||||
$(MAKE) Concat(lib,libname.a) ; \ @@\
|
||||
if [ -d "$(TEMPLATE_DB)" ]; then \ @@\
|
||||
$(MAKE) Concat3(lib,libname,T.a) ; \ @@\
|
||||
fi \ @@\
|
||||
) @@\
|
||||
libname/libname.d: libname/Classlist.mk @@\
|
||||
@(cd libname; \ @@\
|
||||
echo STR(*** Making dfiles in libname ***) ; \ @@\
|
||||
$(MAKE) libname.d ;\ @@\
|
||||
) @@\
|
||||
libname/libname.h: libname/Classlist.mk @@\
|
||||
@(cd libname; \ @@\
|
||||
echo STR(*** Making dfiles in libname ***) ; \ @@\
|
||||
$(MAKE) libname.h ;\ @@\
|
||||
) @@\
|
||||
libname/libname.msg: libname/Classlist.mk @@\
|
||||
@(cd libname; \ @@\
|
||||
echo STR(*** Making msgs in libname ***) ; \ @@\
|
||||
$(MAKE) libname.msg ;\ @@\
|
||||
) @@\
|
||||
@@\
|
||||
FRC: @@\
|
||||
|
||||
|
||||
XCOMM
|
||||
XCOMM makes toplevel Prelude.h
|
||||
XCOMM
|
||||
#define make_prelude(libraries, deps) @@\
|
||||
Prelude.h: deps @@\
|
||||
@$(RM) $@ @@\
|
||||
$(OLIAS)/tools/misc/pmaker libraries
|
||||
|
||||
|
||||
XCOMM
|
||||
XCOMM build .d and .h files within a library
|
||||
XCOMM
|
||||
#define make_libfiles(library,classes) @@\
|
||||
dfiles:: Concat(library,.d) Concat(library,.h) @@\
|
||||
Concat(library,.d) : Classlist.mk @@\
|
||||
$(RM) $@ @@\
|
||||
$(OLIAS)/tools/misc/dfiles d library classes @@\
|
||||
Concat(library,.h) : Classlist.mk @@\
|
||||
$(RM) $@ @@\
|
||||
$(OLIAS)/tools/misc/dfiles h library classes @@\
|
||||
clean:: @@\
|
||||
$(RM) Concat(library,.d) Concat(library,.h)
|
||||
|
||||
#define make_msgs(library, msgs) @@\
|
||||
messages:: Concat(library,.msg) @@\
|
||||
Concat(library,.msg) : Classlist.mk msgs @@\
|
||||
$(RM) $@ @@\
|
||||
cat msgs > Concat(library,.msg) @@\
|
||||
clean:: @@\
|
||||
$(RM) Concat(library,.msg)
|
||||
|
||||
XCOMM Build a library
|
||||
XCOMM *NOTE* SimpleLibrary does *not* build a real ar-style
|
||||
XCOMM library; it merely uses ld -r -o to concatenate a set
|
||||
XCOMM of .o's together. Use RealLibrary to build an honest-
|
||||
XCOMM -to-gosh ranlib'd library. Unless you really need true
|
||||
XCOMM library behavior (partial selection of contents, etc.),
|
||||
XCOMM SimpleLibrary is the better choice.
|
||||
|
||||
#define SimpleLibraryWithAddedObjs(libname,objlist,libdir,objlist1) @@\
|
||||
AllTarget(Concat(lib,libname.a)) @@\
|
||||
@@\
|
||||
Concat(lib,libname.a): objlist @@\
|
||||
$(RM) $@ @@\
|
||||
@echo "### Making SimpleLibraryWithAddedObjs libname.a" @@\
|
||||
$(LD) -r -o $@ objlist objlist1
|
||||
|
||||
#define SimpleLibrary(libname,objlist,libdir) @@\
|
||||
AllTarget(Concat(lib,libname.a)) @@\
|
||||
@@\
|
||||
Concat(lib,libname.a): objlist @@\
|
||||
$(RM) $@ @@\
|
||||
@echo STR(*** Making SimpleLibrary libname.a) @@\
|
||||
$(LD) -r -o $@ objlist
|
||||
|
||||
|
||||
#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 5
|
||||
#define SimpleLibraryT(libname,objlist,libdir) @@\
|
||||
SimpleLibrary(libname,objlist,libdir) @@\
|
||||
@@\
|
||||
AllTarget(Concat3(lib,libname,T.a)) @@\
|
||||
@@\
|
||||
Concat3(lib,libname,T.a): @@\
|
||||
$(RM) $@ @@\
|
||||
@echo STR(*** Making SimpleLibraryT libname Templates) @@\
|
||||
find ./Templates.DB -name '*.o' -type f -print | xargs -n4 ar cq $@ @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
ptclean
|
||||
#else
|
||||
#define SimpleLibraryT(libname,objlist,libdir) @@\
|
||||
SimpleLibrary(libname,objlist,libdir) @@\
|
||||
@@\
|
||||
AllTarget(Concat3(lib,libname,T.a)) @@\
|
||||
@@\
|
||||
Concat3(lib,libname,T.a): TemplateObjs @@\
|
||||
$(RM) $@ @@\
|
||||
@echo STR(*** Making SimpleLibraryT libname Templates) @@\
|
||||
$(AR) $@ TemplateObjs @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) -r $(TEMPLATE_DB)
|
||||
#endif
|
||||
|
||||
#define RealLibrary(libname,objlist,libdir) @@\
|
||||
AllTarget(Concat(lib,libname.a)) @@\
|
||||
@@\
|
||||
Concat(lib,libname.a): objlist @@\
|
||||
$(RM) $@ @@\
|
||||
@echo STR(*** Making RealLibrary libname.a) @@\
|
||||
ar cq $@ objlist @@\
|
||||
RanLibrary($@)
|
||||
|
||||
#define NotSoSimpleLibrary(libname,objlist,libdir,otherdeps) @@\
|
||||
AllTarget(Concat(lib,libname.a)) @@\
|
||||
@@\
|
||||
Concat(lib,libname.a): objlist otherdeps @@\
|
||||
$(RM) $@ @@\
|
||||
@echo STR(*** Making NotSoSimpleLibrary libname.a) @@\
|
||||
$(LD) -r -o $@ objlist
|
||||
|
||||
#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 5
|
||||
#define NotSoSimpleLibraryT(libname,objlist,libdir,otherdeps) @@\
|
||||
NotSoSimpleLibrary(libname,objlist,libdir,otherdeps) @@\
|
||||
@@\
|
||||
AllTarget(Concat3(lib,libname,T.a)) @@\
|
||||
@@\
|
||||
Concat3(lib,libname,T.a): @@\
|
||||
$(RM) $@ @@\
|
||||
@echo STR(*** Making NotSoSimpleLibraryT libname Templates) @@\
|
||||
find ./Templates.DB -name '*.o' -type f -print | xargs -n4 ar cq $@ @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
ptclean
|
||||
#else
|
||||
#define NotSoSimpleLibraryT(libname,objlist,libdir,otherdeps) @@\
|
||||
NotSoSimpleLibrary(libname,objlist,libdir,otherdeps) @@\
|
||||
@@\
|
||||
AllTarget(Concat3(lib,libname,T.a)) @@\
|
||||
@@\
|
||||
Concat3(lib,libname,T.a): @@\
|
||||
$(RM) $@ @@\
|
||||
@echo STR(*** Making NotSoSimpleLibraryT libname Templates) @@\
|
||||
$(AR) $@ TemplateObjs @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) -r $(TEMPLATE_DB)
|
||||
#endif
|
||||
|
||||
#define do_subdirs_imakefile(subdirs) /* nothing */
|
||||
#define do_subdirs(subdirs) /* nothing */
|
||||
|
||||
#define foreach_subdirs(name, subdirs) @@\
|
||||
NamedTargetSubdirs(name,subdirs,name,NullParameter,name)
|
||||
|
||||
/* Yacc and Lex Support */
|
||||
|
||||
#define SimpleCPlusPlusLexTarget(lexname) @@\
|
||||
lexname.o : lexname.l @@\
|
||||
$(RM) lexname.C @@\
|
||||
$(FLEX) $(LFLAGS) -t lexname.l > lexname.C @@\
|
||||
$(CXX) -c $(CXXFLAGS) lexname.C
|
||||
|
||||
#define LexTarget(lexname, parsename) @@\
|
||||
lexname.o : lexname.l @@\
|
||||
$(RM) lexname.C lex.yy.c lexname.o @@\
|
||||
$(FLEX) $(LFLAGS) lexname.l @@\
|
||||
sed 's/yy/parsename/g' lex.yy.c | sed 's/YY/parsename/g' > lexname.C @@\
|
||||
$(CXX) -c $(CXXFLAGS) lexname.C @@\
|
||||
$(RM) lexname.C lex.yy.c
|
||||
|
||||
#define YaccTarget(file, parser) @@\
|
||||
file.o: file.y @@\
|
||||
$(RM) file.tab.h file.C y.tab.h y.tab.c file.o @@\
|
||||
$(BYACC) $(YFLAGS) file.y @@\
|
||||
sed 's/yy/parser/g' y.tab.h > file.tab.h @@\
|
||||
sed 's/yy/parser/g' y.tab.c | sed 's/YY/parser/g' > file.C @@\
|
||||
$(CXX) $(CXXFLAGS) -c file.C @@\
|
||||
$(RM) file.C y.tab.h y.tab.c
|
||||
|
||||
/*
|
||||
* C++ Support (from here down...)
|
||||
*/
|
||||
|
||||
/*
|
||||
* On hp, *..c files need to be removed
|
||||
*/
|
||||
#ifdef HPArchitecture
|
||||
# define CplusObjectCompile(options) $(RM) $*..c $*.o $*.prep @@\
|
||||
ObjectCplusplusCompile(options)
|
||||
#else /* not defined(HPArchitecture) */
|
||||
# define CplusObjectCompile(options) ObjectCplusplusCompile(options)
|
||||
#endif
|
||||
|
||||
#define CplusIntermediateCompile(options) $(RM) $@ @@\
|
||||
$(CXX) +i -c $(CXXFLAGS) options `basename $@ .c`CCsuf
|
||||
|
||||
/* need to remove this and "C++*", and use default from r6, with "CXX*": */
|
||||
#ifdef NormalCplusplusObjectRule
|
||||
# undef NormalCplusplusObjectRule
|
||||
#endif
|
||||
#define NormalCplusplusObjectRule() @@\
|
||||
.SUFFIXES: .C .o @@\
|
||||
@@\
|
||||
.C.o: @@\
|
||||
CplusObjectCompile($(_NOOP_))
|
||||
|
||||
#define HPchatr(program) @@\
|
||||
install:: @@\
|
||||
chatr +s enable program
|
||||
|
||||
/*
|
||||
* Total bogosity with error codes:
|
||||
* if [ `chatr $@ | grep 'libftft'` -gt 0 ] ; then \ @@\
|
||||
* chatr -l `chatr $@ | grep 'libftft' | \ @@\
|
||||
* sed -e 's|[^/]*\(/VOB/.*\)|\1|'` +s enable $@;\ @@\
|
||||
* fi @@\
|
||||
* echo "chatr checked" @@\
|
||||
*/
|
||||
|
||||
#define ComplexCPlusPlusProgram(program) @@\
|
||||
PROGRAM = program @@\
|
||||
@@\
|
||||
AllTarget(program) @@\
|
||||
@@\
|
||||
program: $(OBJS) $(DEPLIBS) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CXXLINK) -o $@ $(OBJS) $(CXXLDOPTIONS) $(STATIC) $(LOCAL_LIBRARIES) $(EXTRA_LOAD_FLAGS) $(EXTRA_LIBRARIES) $(SYS_LIBRARIES) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) $(PROGRAM) @@\
|
||||
|
||||
#define CPlusPlusProgram(program,objects,libs) @@\
|
||||
program: objects @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CXXLINK) -o $@ objects $(CXXLDOPTIONS) $(STATIC) libs $(LDLIBS) $(EXTRA_LOAD_FLAGS) $(EXTRA_LIBRARIES) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) program
|
||||
|
||||
#define SimpleCPlusPlusProgram(program,objects,libs) @@\
|
||||
AllTarget(program) @@\
|
||||
CPlusPlusProgram(program,objects,libs)
|
||||
|
||||
|
||||
|
||||
#define SpecialCPlusPlusObjectRule(objs,depends,options) @@\
|
||||
objs: depends @@\
|
||||
CplusObjectCompile(options) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) *..c
|
||||
|
||||
#define SpecialCPlusPlusExpandRule(expn,depends,options) @@\
|
||||
expn: depends @@\
|
||||
CplusIntermediateCompile(options)
|
||||
|
||||
XCOMM
|
||||
XCOMM CProgram is required by C modules in build-tools
|
||||
XCOMM
|
||||
#define CProgram(program,objects,libs) @@\
|
||||
program: objects @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CCLINK) -o $@ objects $(LDOPTIONS) $(STATIC) libs $(LDLIBS) $(EXTRA_LOAD_FLAGS) $(EXTRA_LIBRARIES) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) program
|
||||
|
||||
XCOMM
|
||||
XCOMM SimpleCProgram is required by the C modules in buildtools to build
|
||||
XCOMM statically
|
||||
XCOMM
|
||||
#define SimpleCProgram(program,objects,libs) @@\
|
||||
AllTarget(program) @@\
|
||||
CProgram(program,objects,libs)
|
||||
|
||||
|
||||
XCOMM
|
||||
XCOMM platform dependent executables, shell scripts
|
||||
XCOMM
|
||||
#define InstallLibFile(filename) @@\
|
||||
InstallNonExecFile(filename,$(INSTALL_LIB_DIR))
|
||||
|
||||
|
||||
XCOMM The following macros are used by the build tools
|
||||
|
||||
/*
|
||||
* InstallBuildToolsBinary - generate rules to install an executable
|
||||
* program in build tools.
|
||||
*/
|
||||
#ifndef InstallBuildToolsBinary
|
||||
# define InstallBuildToolsBinary(program) @@\
|
||||
install_buildtools:: @@\
|
||||
MakeDir($(INSTALL_PLATFORM_ETC_DIR)) @@\
|
||||
$(INSTALL) -c $(INSTPGMFLAGS) program $(INSTALL_PLATFORM_ETC_DIR)
|
||||
#endif /* InstallBuildToolsBinary */
|
||||
|
||||
/*
|
||||
* InstallBuildToolsScript - generate rules for installing scripts
|
||||
*/
|
||||
#ifndef InstallBuildToolsScript
|
||||
# define InstallBuildToolsScript(program) @@\
|
||||
install_buildtools:: program @@\
|
||||
MakeDir($(INSTALL_BIN_DIR)) @@\
|
||||
$(INSTALL) -c $(INSTBINFLAGS) program $(INSTALL_BIN_DIR)
|
||||
#endif /* InstallBuildToolsScript */
|
||||
|
||||
/*
|
||||
* InstallPlatformBuildToolsScript - generate rules for installing
|
||||
* scripts in platform specific directory.
|
||||
*/
|
||||
#ifndef InstallPlatformBuildToolsScript
|
||||
# define InstallPlatformBuildToolsScript(program) @@\
|
||||
install_buildtools:: program @@\
|
||||
MakeDir($(INSTALL_PLATFORM_ETC_DIR)) @@\
|
||||
$(INSTALL) -c $(INSTBINFLAGS) program $(INSTALL_PLATFORM_ETC_DIR)
|
||||
#endif /* InstallPlatformBuildToolsScript */
|
||||
|
||||
|
||||
XCOMM
|
||||
XCOMM only use this for files that are platform independent
|
||||
XCOMM /* this is based upon InstallScript in Imake.rules */
|
||||
XCOMM
|
||||
#define InstallShellProg(progname) @@\
|
||||
install:: progname @@\
|
||||
MakeDir($(DESTDIR)$(INSTALL_BIN_DIR)) @@\
|
||||
$(INSTALL) -c $(INSTBINFLAGS) progname $(DESTDIR)$(INSTALL_BIN_DIR)/progname
|
||||
|
||||
XCOMM
|
||||
XCOMM don't depend on built-in .C.o rules
|
||||
XCOMM
|
||||
|
||||
|
||||
XCOMM
|
||||
XCOMM forcing old C to be used
|
||||
XCOMM
|
|
@ -1,430 +0,0 @@
|
|||
XCOMM $TOG: DtInfo.tmpl /main/37 1997/09/05 11:31:26 samborn $
|
||||
XCOMM OLIAS project common makefile
|
||||
|
||||
/* Chain project template files. */
|
||||
#include <cde.tmpl>
|
||||
|
||||
#define CdeDesktop
|
||||
XCOMM #define BuildOutsideCde
|
||||
|
||||
#ifdef BuildOutsideCde
|
||||
XCOMM These are set by default when building outside of the CDE source
|
||||
XCOMM tree. Some use-installed support needs to be implemented for all
|
||||
XCOMM cases, however, once CDE build integration and revamped CDE Imake
|
||||
XCOMM config based on X11R6 is complete.
|
||||
# ifndef UseInstalledCde
|
||||
XCOMM build using installed Motif and CDE libs and headers
|
||||
# define UseInstalledCde
|
||||
# endif
|
||||
# ifndef UseInstalled
|
||||
XCOMM build using installed X11 libs and headers
|
||||
# define UseInstalled
|
||||
# endif
|
||||
# ifndef BuildLocalInfolibs
|
||||
XCOMM infolib(s) built from local subtree
|
||||
# define BuildLocalInfolibs
|
||||
# endif
|
||||
# ifndef BuildStandalonePackaging
|
||||
XCOMM provide for independent (non-cde) packaging
|
||||
# define BuildStandalonePackaging
|
||||
# endif
|
||||
# ifndef InstallMultiPlatform
|
||||
XCOMM have multiple platforms run out of the same install tree,
|
||||
XCOMM sharing everything except binary parts
|
||||
# define InstallMultiPlatform
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef CdeDesktop
|
||||
XCOMM Provide flags for CDE desktop facilities explicitly if CDE context.
|
||||
XCOMM (Note, these will assume a post-CDE 1.0 functional revision level.)
|
||||
# define DtinfoClient
|
||||
# define UseMotifXpm
|
||||
# define UseTooltalk
|
||||
XCOMM X11 R6 session management
|
||||
# define UseSessionMgmt
|
||||
#endif
|
||||
|
||||
#ifdef DtinfoClient
|
||||
XCOMM Turn off all flags not applicable to CDE dtinfo client,
|
||||
XCOMM and turn on those that are:
|
||||
XCOMM -- search engine
|
||||
# define UseDtSearch
|
||||
# ifdef UseQSearch
|
||||
# undef UseQSearch
|
||||
# endif
|
||||
# ifdef UseFulcrum
|
||||
# undef UseFulcrum
|
||||
# endif
|
||||
XCOMM -- canvas and/or rendering engine
|
||||
# define UseDtCanvas
|
||||
# ifdef UseTmlRenderer
|
||||
# undef UseTmlRenderer
|
||||
# endif
|
||||
XCOMM -- remote connections
|
||||
# ifdef UsePython
|
||||
# undef UsePython
|
||||
# endif
|
||||
XCOMM -- specific license managers
|
||||
# ifdef DoLicenseManagement
|
||||
# undef DoLicenseManagement
|
||||
# endif
|
||||
XCOMM -- special libraries
|
||||
# ifdef UseRWClasses
|
||||
# undef UseRWClasses
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define WideCharSupport
|
||||
#define UseWideChars
|
||||
#define Internationalize
|
||||
#define JapaneseLocal
|
||||
|
||||
|
||||
#ifdef DtinfoClient
|
||||
DTINFO_DEFINES=-DDtinfoClient -DUseMotifXpm -DUseTooltalk -DUseSessionMgmt
|
||||
#elif defined(CdeDesktop)
|
||||
DTINFO_DEFINES=-DUseMotifXpm -DUseTooltalk -DUseSessionMgmt
|
||||
#else
|
||||
DTINFO_DEFINES=
|
||||
#endif
|
||||
|
||||
#ifdef UseWideChars
|
||||
WIDEC_DEFINES=-DUseWideChars
|
||||
#else
|
||||
WIDEC_DEFINES=
|
||||
#endif
|
||||
|
||||
#ifdef Internationalize
|
||||
I18N_DEFINES=-DInternationalize
|
||||
#else
|
||||
I18N_DEFINES=
|
||||
#endif
|
||||
|
||||
#ifdef UseQSearch
|
||||
XCOMM The QSearch Japanese-language search engine is available only on
|
||||
XCOMM Solaris, so only enable it there.
|
||||
SEARCH_DEFINES=-DUseQSearch
|
||||
#elif defined(UseDtSearch)
|
||||
SEARCH_DEFINES=-DDTSEARCH
|
||||
#else
|
||||
SEARCH_DEFINES=-DFULCRUM
|
||||
#endif
|
||||
|
||||
#ifdef UseDlOpen
|
||||
DLOPEN_DEFINES=-DUseDlOpen
|
||||
#else
|
||||
DLOPEN_DEFINES=
|
||||
#endif
|
||||
|
||||
#ifdef DoLicenseManagement
|
||||
LM_DEFINES=
|
||||
LM_INCLUDES=
|
||||
#else
|
||||
LM_DEFINES=
|
||||
LM_INCLUDES=
|
||||
#endif
|
||||
|
||||
#ifdef Purify
|
||||
XCOMM if Purify is defined then set the variable PURIFY - cso 941215
|
||||
PURIFY=PurifyCmd
|
||||
#endif
|
||||
|
||||
#ifdef SunArchitecture
|
||||
STATIC=-Bstatic
|
||||
DYNAMIC=-Bdynamic
|
||||
# if (OSMajorVersion == 5)
|
||||
EXTRA_LIBRARIES=$(DYNAMIC) ExtraLibraries -lresolv
|
||||
# endif
|
||||
# if (OSMajorVersion == 4)
|
||||
# define BuildPython
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef HPArchitecture
|
||||
STATIC=-Wl,-a,archive
|
||||
DYNAMIC=-Wl,-a,shared
|
||||
# define NeedLocalAlloca
|
||||
#endif
|
||||
|
||||
|
||||
XCOMM set platform subdir finder
|
||||
#ifdef HAL32V7Architecture
|
||||
PLATFORM=halos
|
||||
# define DoLicenseManagement
|
||||
#elif defined(HPArchitecture)
|
||||
PLATFORM=hpux
|
||||
#elif defined(AIXArchitecture)
|
||||
PLATFORM=aix
|
||||
#elif defined(SystemV4) && defined(i386)
|
||||
PLATFORM=solaris-386
|
||||
#elif defined(SystemV4)
|
||||
PLATFORM=solaris
|
||||
#else
|
||||
PLATFORM=sunos
|
||||
#endif
|
||||
XCOMM end set platform subdir finder
|
||||
|
||||
|
||||
OLIAS = $(PROGRAMSRC)/dtinfo
|
||||
CONTROL=$(OLIAS)/control
|
||||
LIBRARY = $(OLIAS)/library
|
||||
#ifdef UseTmlRenderer
|
||||
TML = $(OLIAS)/tml
|
||||
#endif
|
||||
WWL = $(OLIAS)/dtinfo/wwl
|
||||
MMDB = $(CDELIBSRC)/DtMmdb
|
||||
EXCEPTIONS = $(MMDB)/dti_excs
|
||||
TOOLS = $(OLIAS)/tools
|
||||
UAS = $(OLIAS)/dtinfo/src/UAS
|
||||
LIBCHECK = $(SHELL) $(CURRENT_DIR)/libcheck $(PLATFORM)
|
||||
|
||||
#ifdef UsePython
|
||||
XCOMM
|
||||
XCOMM Python-related definitions
|
||||
XCOMM
|
||||
PYTHON_ROOT = $(LIBRARY)/python/unix
|
||||
PYTHON = $(PYTHON_ROOT)/python
|
||||
PYTHON_INCLUDES = -I$(PYTHON_ROOT) -I$(PYTHON_ROOT)/Include
|
||||
PYTHON_LIB_PATH = -L$(PYTHON_ROOT)/Modules -L$(PYTHON_ROOT)/Python -L$(PYTHON_ROOT)/Objects \
|
||||
-L$(PYTHON_ROOT)/Parser -L$(PYTHON_ROOT)/readline
|
||||
PYTHON_LIBS = $(PYTHON_ROOT)/Modules/config.nomain.o -lModules -lPython -lObjects -lParser -lreadline
|
||||
PYTHON_SYS_LIBS =$(DYNAMIC) -ltermcap -lm
|
||||
#endif
|
||||
|
||||
#ifdef UseTmlRenderer
|
||||
TML_INCLUDES = -I$(TML)/include
|
||||
TML_LIBS=-L$(TML)/src -ltml
|
||||
#endif
|
||||
WWL_INCLUDES = -I$(WWL)/include
|
||||
WWL_LIBS=$(STATIC) -L$(WWL)/src -lWWL
|
||||
EXCEPTIONS_INCLUDES = -I$(EXCEPTIONS)
|
||||
MMDB_INCLUDES = -I$(MMDB)
|
||||
UAS_INCLUDES = -I$(UAS)/Base
|
||||
|
||||
#ifdef UseFulcrum
|
||||
FULCRUM_INCLUDES = FulcrumIncludes
|
||||
FULCRUM_DEFINES = FulcrumDefines
|
||||
FULCRUM_LIBDIR = FulcrumLibDir
|
||||
#endif
|
||||
#ifdef UseQSearch
|
||||
QSEARCH_LIBDIR = QSearchLibDir
|
||||
#endif
|
||||
#ifdef UseDtSearch
|
||||
# ifdef UseInstalledCde
|
||||
DTSEARCH_INCLUDES = $(CDEINCLUDES)
|
||||
DTSEARCH_LIBDIR = /usr/dt/lib
|
||||
# elif defined(BuildOutsideCde)
|
||||
DTSEARCH_INCLUDES = -I$(OLIAS)/../../lib/DtSearch
|
||||
DTSEARCH_LIBDIR = $(OLIAS)/../../lib/DtSearch
|
||||
# else
|
||||
DTSEARCH_INCLUDES = -I$(TOP)/exports/include/Dt
|
||||
DTSEARCH_LIBDIR = $(TOP)/exports/lib
|
||||
# endif
|
||||
#endif
|
||||
|
||||
XCOMM BuildTools Include macros
|
||||
GLOBAL_INCLUDES=-I$(OLIAS)/dtinfogen/global/
|
||||
|
||||
#ifdef UseFulcrum
|
||||
# if defined(AIXArchitecture) || defined(RsArchitecture)
|
||||
XCOMM -- Need to add something here to circumvent lack of
|
||||
XCOMM -- LD_LIBRARY_PATH on aix - SWM
|
||||
FULCRUMLIBS=$(LIBRARY)/fulcrum/aix/lib/libftft.010.1.o
|
||||
# else
|
||||
FULCRUMLIBS=$(DYNAMIC) -L$(FULCRUM_LIBDIR) -lftfT
|
||||
# endif
|
||||
#else
|
||||
# ifdef UseQSearch
|
||||
QSEARCHLIBS=$(DYNAMIC) -L$(QSEARCH_LIBDIR) -lftxcall
|
||||
# elif defined(UseDtSearch)
|
||||
DTSEARCHLIBS=$(DYNAMIC) -L$(DTSEARCH_LIBDIR) -lDtSearch
|
||||
# endif
|
||||
#endif
|
||||
|
||||
MISC_INCLUDES = -I$(MMDB)/misc
|
||||
|
||||
DTSVC_LIBRARY=$(DYNAMIC) $(CDE_LIBS) -lDtSvc
|
||||
DTSVCLIB=$(DYNAMIC) $(CDE_LIBS) -lDtSvc
|
||||
|
||||
#ifdef BuildOutsideCde
|
||||
DTHELP_LIBRARY=$(DYNAMIC) -L$(OLIAS)/../../exports/lib -lDtHelp
|
||||
DTHELP_INCLUDES=$(OLIAS)/../../exports/include
|
||||
TREE_INCLUDES=-I$(OLIAS)/../../exports/include -I$(OLIAS)/../../exports/include/Misc
|
||||
#else
|
||||
DTHELP_LIBRARY=$(DYNAMIC) $(CDE_LIBS) -lDtHelp
|
||||
DTHELP_INCLUDES=$(TOP)/exports/include
|
||||
DTPRINTLIB=$(DYNAMIC) $(CDE_LIBS) -lDtPrint
|
||||
|
||||
TREE_INCLUDES=$(CDEINCLUDES) $(CDEINCLUDES)/Misc
|
||||
#endif
|
||||
#ifdef UseInstalledCde
|
||||
CDEINCLUDES = -I/usr/dt/include
|
||||
CDE_LIBS = -L/usr/dt/lib
|
||||
#else
|
||||
CDEINCLUDES = -I$(TOP)/exports/include
|
||||
CDE_LIBS = -L$(TOP)/exports/lib
|
||||
#endif
|
||||
MTFLIBDIR = $(TOP)/imports/motif/lib
|
||||
|
||||
|
||||
BROWSER_INCLUDES=-I.. $(UAS_INCLUDES) $(EXCEPTIONS_INCLUDES) $(WWL_INCLUDES) $(TREE_INCLUDES) $(CDEINCLUDES)
|
||||
|
||||
#ifdef UseRWClasses
|
||||
RW_LIBDIR=-L$(LIBRARY)/rogue/$(PLATFORM)
|
||||
RW_LIB=-lrwtool
|
||||
RW_INCLUDES=-I$(LIBRARY)/rogue/$(PLATFORM)
|
||||
#endif
|
||||
|
||||
COMMON_CLASS_LIBDIR=$(STATIC) -L$(MMDB)/dti_cc
|
||||
COMMON_CLASS_LIB=-lcommon_class
|
||||
COMMON_CLASS_INCLUDES=-I$(MMDB)/dti_cc -I$(MMDB)
|
||||
|
||||
DBUG_INCLUDES=
|
||||
DBUG_LIBS=
|
||||
|
||||
STYLE_SHEET_INCLUDES=-I$(MMDB)/StyleSheet $(COMMON_CLASS_INCLUDES)
|
||||
|
||||
|
||||
TREERES=$(TOOLS)/misc/treeres
|
||||
|
||||
XCOMM exceptions library
|
||||
EXCLIB =$(STATIC) -L$(EXCEPTIONS) -lexc
|
||||
EXCLIB_C_API =$(STATIC) -L$(EXCEPTIONS) -lC_APIexc
|
||||
|
||||
MMDB_LIBS=$(STATIC) -L$(OLIAS)/mmdb -lMMDB
|
||||
MMDB_LIBS_C_API=$(DYNAMIC) -L$(MMDB)/lib -lDtMmdb
|
||||
|
||||
#ifdef UseFulcrum
|
||||
UAS_LIBS = \
|
||||
$(UAS)/Base/libBase.a \
|
||||
$(UAS)/MMDB/libMMDB.a \
|
||||
$(UAS)/Fulcrum/libFulcrum.a
|
||||
#endif
|
||||
|
||||
MATH_LIB=$(DYNAMIC) -lm
|
||||
MISC_LIB=$(STATIC) -L$(TOOLS)/src -lmisc
|
||||
|
||||
#ifdef DoLicenseManagement
|
||||
XCOMM Licensing libraries and Include macros
|
||||
XCOMM LICENSE_LROOT is the root of local libraries
|
||||
XCOMM LICENSE_FROOT is the root of the FlexLM (foreign) libraries
|
||||
|
||||
LICENSE_LROOT=LicenseLocalLibDir
|
||||
LICENSE_FROOT=LicenseForeignLibDir
|
||||
|
||||
XCOMM Force-load the Mech*.o files so their static initializers get called,
|
||||
XCOMM tying the mechanisms into the licensing system
|
||||
LICENSE_Mechanisms=$(LICENSE_LROOT)/cryptlib/MechFLEXlm.o
|
||||
|
||||
LICENSE_L_LIBS=$(LICENSE_Mechanisms) -L$(LICENSE_LROOT)/cryptlib -loliascrypt \
|
||||
-L$(LICENSE_LROOT)/libdes -loliasdes
|
||||
LICENSE_L_INCLUDES=-I$(LICENSE_LROOT)
|
||||
LICENSE_F_INCLUDES=-I$(LICENSE_FROOT)/h
|
||||
#endif
|
||||
|
||||
XCOMM
|
||||
XCOMM project specific includes go into EXTRA_INCLUDES
|
||||
XCOMM
|
||||
|
||||
CEXT = c
|
||||
|
||||
XCOMM
|
||||
XCOMM Installation stuff
|
||||
XCOMM
|
||||
XCOMM
|
||||
|
||||
PLATFORM_BIN_DIR=$(PLATFORM)
|
||||
PLATFORM_TOOLS_DIR=$(TOOLS)/$(PLATFORM_BIN_DIR)
|
||||
|
||||
INSTALL_BIN_DIR=$(INSTALL_ROOT)/bin
|
||||
XCOMM the browser binary uses the following, and must not install to
|
||||
XCOMM same place as script by same name, which goes to INSTALL_BIN_DIR.
|
||||
INSTALL_PLATFORM_BIN_DIR=$(INSTALL_BIN_DIR)/$(PLATFORM_BIN_DIR)
|
||||
INSTALL_LIB_DIR=$(INSTALL_ROOT)/lib
|
||||
INSTALL_APPCONFIG_DIR=$(INSTALL_ROOT)/appconfig
|
||||
INSTALL_ETC_DIR=$(INSTALL_INFOLIB_DIR)/etc
|
||||
INSTALL_GPL_LIB_DIR=$(INSTALL_ETC_DIR)/gpl/$(GPL_PRODUCT)/lib
|
||||
#ifdef InstallMultiPlatform
|
||||
INSTALL_PLATFORM_ETC_DIR=$(INSTALL_ETC_DIR)/$(PLATFORM)
|
||||
INSTALL_PLATFORM_LIB_DIR=$(INSTALL_LIB_DIR)/$(PLATFORM)
|
||||
INSTALL_GPL_PLATFORM_BIN_DIR=$(INSTALL_ETC_DIR)/gpl/$(GPL_PRODUCT)/bin/$(PLATFORM)
|
||||
#else
|
||||
INSTALL_PLATFORM_ETC_DIR=$(INSTALL_INFOLIB_DIR)/etc
|
||||
INSTALL_PLATFORM_LIB_DIR=$(INSTALL_LIB_DIR)
|
||||
INSTALL_GPL_PLATFORM_BIN_DIR=$(INSTALL_ETC_DIR)/gpl/$(GPL_PRODUCT)/bin
|
||||
#endif
|
||||
INSTALL_FONTS_DIR=$(INSTALL_ETC_DIR)/fonts
|
||||
INSTALL_STYLES_DIR=$(INSTALL_LIB_DIR)/Styles.
|
||||
|
||||
XCOMM When installing into the following, the lang value must be inserted
|
||||
XCOMM as the next directory level, due to language-specific content.
|
||||
INSTALL_INFOLIB_DIR=$(INSTALL_ROOT)/infolib
|
||||
INSTALL_BITMAPS_DIR=$(INSTALL_APPCONFIG_DIR)/icons
|
||||
INSTALL_HELP_DIR=$(INSTALL_APPCONFIG_DIR)/help
|
||||
INSTALL_XRESOURCES_DIR=$(INSTALL_ROOT)/app-defaults
|
||||
#ifdef InstallMultiPlatform
|
||||
XCOMM message catalogs as binaries
|
||||
INSTALL_MSG_CAT_DIR=$(INSTALL_LIB_DIR)/nls/msg/$(PLATFORM)
|
||||
#else
|
||||
INSTALL_MSG_CAT_DIR=$(INSTALL_LIB_DIR)/nls/msg
|
||||
#endif
|
||||
|
||||
#define BigEndianDefines -DOLIAS_BIG_ENDIAN
|
||||
#define LittleEndianDefines -DOLIAS_LITTLE_ENDIAN
|
||||
#define DefaultEndianDefines -DOLIAS_DEFAULT_ENDIAN
|
||||
|
||||
#ifndef TemplateDB
|
||||
#define TemplateDB Templates.DB
|
||||
#endif
|
||||
|
||||
XCOMM Following X11 and Mtf defines should be replaced w/ std config
|
||||
#ifndef X11Includes
|
||||
# define X11Includes -I$(TOP)/imports/x11/include
|
||||
#endif
|
||||
#ifndef MtfIncludes
|
||||
# define MtfIncludes -I$(TOP)/imports/motif/include
|
||||
#endif
|
||||
#ifndef MtfLibraries
|
||||
# define MtfLibraries $(DYNAMIC) $(XMLIB)
|
||||
#endif
|
||||
#ifndef X11Libraries
|
||||
# define X11Libraries $(DYNAMIC) $(XTOOLLIB) $(XMULIB) $(XLIB)
|
||||
#endif
|
||||
|
||||
X11_INCLUDES=X11Includes
|
||||
X11_LIBRARIES=X11Libraries
|
||||
MTF_INCLUDES=MtfIncludes
|
||||
MTF_LIBRARIES=MtfLibraries
|
||||
XMLIB = -L$(MTFLIBDIR) -lXm
|
||||
XTOOLLIB = -L$(TOP)/imports/x11/lib $(XTOOLONLYLIB) $(SMLIB) $(ICELIB)
|
||||
|
||||
#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
|
||||
NO_EXC=-noex
|
||||
TEMPLATE_OBJS=*.o.ptrep/TemplateDB//**/*.o
|
||||
TEMPLATE_DB=*.o.ptrep
|
||||
#elif defined(SunArchitecture) && CplusplusCompilerMajorVersion > 2
|
||||
NO_EXC=-noex
|
||||
TEMPLATE_DB=TemplateDB
|
||||
TEMPLATE_OBJS=TemplateDB//**/*.o
|
||||
#endif
|
||||
|
||||
#define TemplateObjs $(TEMPLATE_OBJS)
|
||||
|
||||
#if defined(i386Architecture) || defined(AMD64Architecture) || defined(AlphaArchitecture) || defined(ARMArchitecture) || defined(AArch64Architecture) || defined(RISCVArchitecture)
|
||||
# define ByteOrderDefines LittleEndianDefines
|
||||
#elif defined(HAL32V7Architecture) || defined(SunArchitecture) || defined(SparcArchitecture) || defined(Sparc64Architecture) || defined(AIXArchitecture) || defined(HPArchitecture) || defined(PpcArchitecture)
|
||||
# define ByteOrderDefines BigEndianDefines
|
||||
#else
|
||||
# define ByteOrderDefines DefaultEndianDefines
|
||||
#endif
|
||||
|
||||
BYTE_ORDER_DEFINES=ByteOrderDefines
|
||||
|
||||
/*
|
||||
* The following stuffs are default rules required by build_tools
|
||||
*
|
||||
*/
|
||||
|
||||
install_buildtools::
|
|
@ -1,268 +0,0 @@
|
|||
XCOMM platform: $TOG: FreeBSD.cf /main/21 1997/10/05 20:42:34 kaleb $
|
||||
|
||||
#ifndef OSName
|
||||
#define OSName DefaultOSName
|
||||
#endif
|
||||
#ifndef OSVendor
|
||||
#define OSVendor FreeBSD Foundation
|
||||
#endif
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion DefaultOSMajorVersion
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion DefaultOSMinorVersion
|
||||
#endif
|
||||
#ifndef OSTeenyVersion
|
||||
#define OSTeenyVersion DefaultOSTeenyVersion
|
||||
#endif
|
||||
XCOMM operating system: OSName (OSMajorVersion/**/./**/OSMinorVersion/**/./**/OSTeenyVersion)
|
||||
|
||||
#define HasPutenv YES
|
||||
#define HasBSD44Sockets YES
|
||||
#define HasZlib YES
|
||||
#define HasXdmAuth YES
|
||||
|
||||
#if OSMajorVersion >= 10 && defined(UseGcc)
|
||||
USE_GCC = UseGcc
|
||||
#endif
|
||||
|
||||
#ifndef CppCmd
|
||||
#if OSMajorVersion >= 10 && defined(UseGcc)
|
||||
# define CppCmd /usr/local/bin/cpp$(USE_GCC)
|
||||
#else
|
||||
# define CppCmd /usr/bin/cpp
|
||||
#endif
|
||||
#endif
|
||||
#define PreProcessCmd CppCmd
|
||||
|
||||
#if OSMajorVersion >= 10
|
||||
#define CppArgs -Wno-invalid-pp-token
|
||||
#define DirFailPrefix -
|
||||
#else
|
||||
#define CppArgs /**/
|
||||
#endif
|
||||
|
||||
#ifndef StandardCppDefines
|
||||
#define StandardCppDefines -traditional CppArgs
|
||||
#endif
|
||||
|
||||
#ifndef PerlCmd
|
||||
#define PerlCmd /usr/local/bin/perl
|
||||
#endif
|
||||
#undef InstallCmd
|
||||
#define InstallCmd /usr/bin/install
|
||||
#undef KornShell
|
||||
#define KornShell /usr/local/bin/ksh93
|
||||
|
||||
#define UseGas YES
|
||||
#ifndef GccUsesGas
|
||||
# define GccUsesGas YES
|
||||
#endif
|
||||
|
||||
#ifndef AsmDefines
|
||||
# define AsmDefines -DUSE_GAS
|
||||
#endif
|
||||
|
||||
#if GccUsesGas
|
||||
# define GccGasOption -DGCCUSESGAS
|
||||
#else
|
||||
# define GccGasOption /**/
|
||||
#endif
|
||||
|
||||
#ifndef HasGcc2
|
||||
# define HasGcc2 YES
|
||||
#endif
|
||||
|
||||
/* For DtHelp TIFF processing routines. */
|
||||
#ifdef AMD64Architecture
|
||||
#define LSBBitOrder YES
|
||||
#endif
|
||||
|
||||
#ifdef ARMArchitecture
|
||||
#define LSBBitOrder YES
|
||||
#endif
|
||||
|
||||
#ifdef i386Architecture
|
||||
#define LSBBitOrder YES
|
||||
#endif
|
||||
|
||||
#define MkdirHierCmd mkdir -p
|
||||
|
||||
#ifndef CcCmd
|
||||
#if OSMajorVersion >= 10
|
||||
# if defined(UseGcc)
|
||||
# define CcCmd /usr/local/bin/gcc$(USE_GCC)
|
||||
# define CplusplusCmd /usr/local/bin/g++$(USE_GCC)
|
||||
# else
|
||||
# define CcCmd cc
|
||||
# define CplusplusCmd c++
|
||||
# endif
|
||||
#else
|
||||
# define CcCmd gcc
|
||||
# define CplusplusCmd g++
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef DefaultCCOptions
|
||||
#define DefaultCCOptions -pipe
|
||||
#endif
|
||||
|
||||
#ifndef CplusplusLibC
|
||||
#define CplusplusLibC -lstdc++
|
||||
#endif
|
||||
|
||||
#if OSMajorVersion > 1
|
||||
#define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
|
||||
#define XawI18nDefines -DUSE_XWCHAR_STRING
|
||||
#define HasMakefileSafeInclude YES
|
||||
#define IncludeMakefile(file) HASH_SIGN dependencies are in .depend
|
||||
#define DependFileName .depend
|
||||
#define DependDefines -D__cplusplus
|
||||
#if OSMajorVersion < 3
|
||||
#if OSMinorVersion < 2
|
||||
#ifndef ExtraLibraries
|
||||
#define ExtraLibraries -lgnumalloc
|
||||
#endif
|
||||
#else
|
||||
#if OSTeenyVersion == 2
|
||||
#define HasSetUserContext YES
|
||||
#endif
|
||||
#endif
|
||||
#ifndef ExtraLoadFlags
|
||||
/*
|
||||
* This doesn't work the way it does on every other system. On FreeBSD it's
|
||||
* only a "hint, not a demand", whatever that means. Note that this is not
|
||||
* what it says in the ld and ld.so man pages, which are rather vague on the
|
||||
* matter.
|
||||
*
|
||||
* But we do know that if a) you do what the X Project team does and set your
|
||||
* ProjectRoot to something like "/X11", and b) you have other X libraries,
|
||||
* e.g. in /usr/X11R6/lib, and you have added /usr/X11R6/lib to your
|
||||
* ld.so.cache with ldconfig, then any programs linked with this "hint" will
|
||||
* find that ld.so ignores the "hint" at runtime and loads the libraries in
|
||||
* the ld.so.cache, i.e.the wrong ones, instead! Empirically we find that
|
||||
* the run-path is only used as a last resort to find the libraries, after
|
||||
* the LD_LIBRARY_PATH and ld.so.cache.
|
||||
*
|
||||
* N. B. to FreeBSD users who are not familiar with the semantics of the run-
|
||||
* path on other systems. The run-path is akin to a per-program ld.so.cache.
|
||||
* If a program is linked with a run-path, that run-path should take
|
||||
* precedence over _everything_ else! In my opinion ldconfig and the
|
||||
* ld.so.cache should be deprecated immediately now that FreeBSD has run-
|
||||
* paths. Any program that needs libraries that are outside the "well known"
|
||||
* locations should be linked with a run-path.
|
||||
*
|
||||
* All of which begs the question: If this option doesn't work in any useful
|
||||
* way, why did they (FreeBSD) bother to add it? It would be nice if FreeBSD
|
||||
* would fix ld.so so that run-paths are truly useful.
|
||||
*
|
||||
* Using run-paths is added with the intent that vendors who ship X for
|
||||
* FreeBSD should use it too. Once everyone uses it then there will be no
|
||||
* reason for FreeBSD to assume that it knows where X libraries are installed
|
||||
* and they can remove it from the list of directories they add to ld.so.cache
|
||||
* in their /etc/rc file.
|
||||
*/
|
||||
#define ExtraLoadFlags -Wl,-R,$(USRLIBDIRPATH)
|
||||
#endif
|
||||
#endif
|
||||
#else
|
||||
#define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DXNO_SYSCONF
|
||||
#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
|
||||
#ifndef ExtraLibraries
|
||||
#define ExtraLibraries /* -lmalloc */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Suppress warnings dependant from compiler versions */
|
||||
#ifndef DefaultGcc2i386Opt
|
||||
# if defined(__clang__) && defined(__clang_major__) && defined(__clang_minor__)
|
||||
# if (__clang_major__ > 3) || \
|
||||
(__clang_major__ == 3 && __clang_minor__ >= 4)
|
||||
# define DefaultGcc2i386Opt -O2 -fno-strict-aliasing -Wno-write-strings \
|
||||
-Wno-unused-result
|
||||
# else
|
||||
# define DefaultGcc2i386Opt -O2 -fno-strict-aliasing -Wno-write-strings \
|
||||
-Wno-unused-result
|
||||
# endif
|
||||
# elif defined(__GNUC__) && defined(__GNUC_MINOR__)
|
||||
# if (__GNUC__ > 4) || \
|
||||
(__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
|
||||
# define DefaultGcc2i386Opt -O2 -fno-strict-aliasing -Wno-write-strings \
|
||||
-Wno-unused-result -Wno-deprecated
|
||||
# else
|
||||
# define DefaultGcc2i386Opt -O2 -fno-strict-aliasing -Wno-write-strings
|
||||
# endif
|
||||
# else
|
||||
# define DefaultGcc2i386Opt -O2 -fno-strict-aliasing
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef OptimizedCDebugFlags
|
||||
# if defined(i386Architecture) || defined(AMD64Architecture)
|
||||
# define OptimizedCDebugFlags DefaultGcc2i386Opt
|
||||
# else
|
||||
# define OptimizedCDebugFlags -O2 -fno-strict-aliasing
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef HasGcc2
|
||||
CXXDEPENDINCLUDE != CcCmd -v -x c++ /dev/null -fsyntax-only \
|
||||
2>&1 | sed -n 's/^ \(\/.*[cg]++.*\)/-I\1/p'
|
||||
#define CplusplusDependIncludes $(CXXDEPENDINCLUDE)
|
||||
#endif
|
||||
|
||||
/* beginning with svn version 254273 iconv functions are moved to libc */
|
||||
#if (OSMajorVersion >= 10)
|
||||
ICONVSYSLIB != if test -f /usr/local/include/iconv.h; then echo -liconv; else echo; fi
|
||||
#endif
|
||||
|
||||
#define ServerExtraDefines GccGasOption XFree86ServerDefines
|
||||
|
||||
#define StandardDefines -DCSRG_BASED
|
||||
#define StandardIncludes -I/usr/local/include
|
||||
|
||||
#ifndef TopMotifInclude
|
||||
#define TopMotifInclude /usr/local/include
|
||||
#endif
|
||||
|
||||
#define BuildLibPathVar LD_LIBRARY_PATH
|
||||
|
||||
#define DefaultUserPath /bin:/usr/bin:/usr/local/bin:$(BINDIR)
|
||||
#define DefaultSystemPath /sbin:/usr/sbin:/bin:/usr/bin:$(BINDIR)
|
||||
|
||||
#define TroffCmd groff -Tps
|
||||
#define M4Cmd /usr/bin/m4
|
||||
#define SetTtyGroup YES
|
||||
#define HasNdbm YES
|
||||
#define HasShm YES
|
||||
#define HasWChar32 YES
|
||||
|
||||
#define HasLibCrypt YES
|
||||
|
||||
#define AvoidNullMakeCommand YES
|
||||
|
||||
#define HasPlugin YES
|
||||
#define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
|
||||
|
||||
#define CDESharedRev 2
|
||||
|
||||
#if !defined(HasPamLibrary)
|
||||
XCOMM See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=253073
|
||||
XCOMM to enable pam support
|
||||
#define HasPamLibrary NO
|
||||
#endif
|
||||
|
||||
#if !defined(PamAuthenticationModule)
|
||||
#define PamAuthenticationModule /usr/local/lib/security/pam_pwauth_suid.so
|
||||
#endif
|
||||
|
||||
#if !defined(HasPtsDriver)
|
||||
#define HasPtsDriver YES
|
||||
#endif
|
||||
|
||||
#if !defined(HasUtempterLibrary)
|
||||
#define HasUtempterLibrary YES
|
||||
#endif
|
||||
|
||||
#include <bsdLib.rules>
|
|
@ -1,536 +0,0 @@
|
|||
XCOMM $TOG: Imake.cf /main/30 1998/04/28 13:55:25 barstow $
|
||||
/*
|
||||
* To add support for another platform:
|
||||
*
|
||||
* 1. Identify a machine-specific cpp symbol. If your preprocessor
|
||||
* does not have any built in, you will need to add the symbol to the
|
||||
* cpp_argv table in config/imake/imakemdep.h and rebuild imake with
|
||||
* the BOOTSTRAPCFLAGS variable set.
|
||||
*
|
||||
* 2. Add all machine-specific cpp symbols (either defined by you or by
|
||||
* the preprocessor or compiler) to the predefs table in
|
||||
* config/imake/imakemdep.h.
|
||||
*
|
||||
* 3. But a new #ifdef block below that defines MacroIncludeFile and
|
||||
* MacroFile for your new platform and then #undefs the machine-
|
||||
* specific preprocessor symbols (to avoid problems with file names).
|
||||
*
|
||||
* 4. Create a .cf file with the name given by MacroFile.
|
||||
*/
|
||||
|
||||
#if defined(vax)
|
||||
# define MacroIncludeFile <bsd.cf>
|
||||
# define MacroFile bsd.cf
|
||||
# undef vax
|
||||
# define VaxArchitecture
|
||||
#endif /* vax */
|
||||
|
||||
#ifdef __OpenBSD__
|
||||
# undef __OpenBSD__
|
||||
# undef __NetBSD__
|
||||
# define BSDArchitecture
|
||||
# define OpenBSDArchitecture
|
||||
# define KOpenBSDArchitecture
|
||||
# define MacroIncludeFile <OpenBSD.cf>
|
||||
# define MacroFile OpenBSD.cf
|
||||
# ifdef __i386__
|
||||
# define i386BsdArchitecture
|
||||
# define i386Architecture
|
||||
# undef i386
|
||||
# endif
|
||||
# if defined(__sparc__) || defined(sparc)
|
||||
# if !defined(__arch64__)
|
||||
# define SparcArchitecture
|
||||
# else
|
||||
# define Sparc64Architecture
|
||||
# endif
|
||||
# undef sparc
|
||||
# undef sparc64
|
||||
# endif
|
||||
# if defined(__mips__) || defined(mips)
|
||||
# define MipsArchitecture
|
||||
# ifdef __LP64__
|
||||
# define Mips64Architecture
|
||||
# endif
|
||||
# ifdef arc
|
||||
# define ArcArchitecture
|
||||
# undef arc
|
||||
# endif
|
||||
# ifdef sgi
|
||||
# define SGIArchitecture
|
||||
# undef sgi
|
||||
# endif
|
||||
# ifdef pmax
|
||||
# define PmaxArchitecture
|
||||
# undef pmax
|
||||
# endif
|
||||
# undef mips
|
||||
# undef __mips__
|
||||
# endif
|
||||
# if defined(__alpha__) || defined(alpha)
|
||||
# define AlphaArchitecture
|
||||
# undef __alpha__
|
||||
# undef alpha
|
||||
# endif
|
||||
# if defined(__amd64__) || defined(__x86_64__)
|
||||
# define AMD64Architecture
|
||||
# undef __amd64__
|
||||
# undef __x86_64__
|
||||
# undef amd64
|
||||
# endif
|
||||
# if defined(__arm__)
|
||||
# define ARMArchitecture
|
||||
# undef __arm__
|
||||
# if defined(zaurus)
|
||||
# undef zaurus
|
||||
# define ZaurusArchitecture
|
||||
# endif
|
||||
# endif
|
||||
# if defined(__aarch64__)
|
||||
# define AArch64Architecture
|
||||
# undef __aarch64__
|
||||
# endif
|
||||
# if defined(__mc68020__) || defined(mc68020)
|
||||
# define Mc68020Architecture
|
||||
# if defined(amiga)
|
||||
# define AmigaArchitecture
|
||||
# undef amiga
|
||||
# endif
|
||||
# if defined(hp300)
|
||||
# define Hp300Architecture
|
||||
# undef hp300
|
||||
# endif
|
||||
# if defined(mac68k)
|
||||
# define Mac68kArchitecture
|
||||
# undef mac68k
|
||||
# endif
|
||||
# if defined(mvme68k)
|
||||
# define Mvme68kArchitecture
|
||||
# undef mvme68k
|
||||
# endif
|
||||
# if defined(sun3)
|
||||
# define Sun3Architecture
|
||||
# undef sun3
|
||||
# endif
|
||||
# undef mc68000
|
||||
# endif
|
||||
# if defined(__m88k__) || defined(m88k)
|
||||
# define Mc88000Architecture
|
||||
# undef m88k
|
||||
# endif
|
||||
# ifdef __powerpc__
|
||||
# define PpcArchitecture
|
||||
# undef __powerpc__
|
||||
# undef __macppc__
|
||||
# undef macppc
|
||||
# endif
|
||||
# ifdef __sh__
|
||||
# undef __sh__
|
||||
# define SuperHArchitecture
|
||||
# endif
|
||||
# ifdef __vax__
|
||||
# undef vax
|
||||
# undef __vax__
|
||||
# define VaxArchitecture
|
||||
# endif
|
||||
# ifdef __hppa__
|
||||
# ifndef HPArchitecture
|
||||
# define HPArchitecture
|
||||
# endif
|
||||
# undef __hppa__
|
||||
# endif /* __hppa__ */
|
||||
#endif /* OpenBSD */
|
||||
|
||||
/* Systems based on kernel of OpenBSD */
|
||||
#if defined(__OpenBSD_kernel__)
|
||||
#define KOpenBSDArchitecture
|
||||
#endif
|
||||
|
||||
#ifdef __NetBSD__
|
||||
# define MacroIncludeFile <NetBSD.cf>
|
||||
# define MacroFile NetBSD.cf
|
||||
# undef __NetBSD__
|
||||
# define BSDArchitecture
|
||||
# define NetBSDArchitecture
|
||||
# ifdef __i386__
|
||||
# define i386BsdArchitecture
|
||||
# define i386Architecture
|
||||
# undef i386
|
||||
# endif
|
||||
# ifdef __amd64__
|
||||
# define AMD64BsdArchitecture
|
||||
# define AMD64Architecture
|
||||
# undef amd64
|
||||
# endif
|
||||
# if defined(__sparc__) || defined(sparc)
|
||||
# define SparcArchitecture
|
||||
# undef sparc
|
||||
# endif
|
||||
# ifdef __aarch64__
|
||||
# define AArch64Architecture
|
||||
# undef __aarch64__
|
||||
# endif
|
||||
#endif /* NetBSD */
|
||||
|
||||
#ifdef __FreeBSD__
|
||||
# define MacroIncludeFile <FreeBSD.cf>
|
||||
# define MacroFile FreeBSD.cf
|
||||
# undef __FreeBSD__
|
||||
# define BSDArchitecture
|
||||
# define FreeBSDArchitecture
|
||||
# ifdef __i386__
|
||||
# define i386BsdArchitecture
|
||||
# define i386Architecture
|
||||
# undef i386
|
||||
# endif
|
||||
# ifdef __amd64__
|
||||
# define AMD64BsdArchitecture
|
||||
# define AMD64Architecture
|
||||
# undef amd64
|
||||
# endif
|
||||
# ifdef __aarch64__
|
||||
# define AArch64Architecture
|
||||
# undef __aarch64__
|
||||
# endif
|
||||
#endif /* __FreeBSD__ */
|
||||
|
||||
#ifdef sun
|
||||
# define MacroIncludeFile <sun.cf>
|
||||
# define MacroFile sun.cf
|
||||
# ifdef SVR4
|
||||
# undef SVR4
|
||||
# define SVR4Architecture
|
||||
# endif
|
||||
# ifdef sparc
|
||||
# undef sparc
|
||||
# define SparcArchitecture
|
||||
# endif
|
||||
# ifdef __sparcv9
|
||||
# undef __sparcv9
|
||||
# define SparcV9Architecture
|
||||
# endif
|
||||
# ifdef mc68000
|
||||
# undef mc68000
|
||||
# define Sun3Architecture
|
||||
# endif
|
||||
# ifdef i386
|
||||
# undef i386
|
||||
# define i386Architecture
|
||||
# endif
|
||||
# if defined(__amd64__) || defined (__x86_64__)
|
||||
# undef __amd64__
|
||||
# undef __x86_64__
|
||||
# define AMD64Architecture
|
||||
# endif
|
||||
# undef sun
|
||||
# define SunArchitecture
|
||||
#endif /* sun */
|
||||
|
||||
#ifdef hpux
|
||||
# define MacroIncludeFile <hp.cf>
|
||||
# define MacroFile hp.cf
|
||||
# undef hpux
|
||||
# define HPArchitecture
|
||||
#endif /* hpux */
|
||||
|
||||
#ifdef NCR
|
||||
# define MacroIncludeFile <ncr.cf>
|
||||
# define MacroFile ncr.cf
|
||||
# undef NCR
|
||||
# undef SVR4
|
||||
# undef i386
|
||||
# define SVR4Architecture
|
||||
# define i386Architecture
|
||||
# define NCRArchitecture
|
||||
#endif /* NCR */
|
||||
|
||||
#ifdef sony
|
||||
# define MacroIncludeFile <sony.cf>
|
||||
# define MacroFile sony.cf
|
||||
# undef sony
|
||||
# undef sony_news
|
||||
# define SonyArchitecture
|
||||
# ifdef mc68020
|
||||
# undef mc68020
|
||||
# undef mc68030
|
||||
# define Mc68020Architecture
|
||||
# endif
|
||||
# ifdef mips
|
||||
# undef mips
|
||||
# define MipsArchitecture
|
||||
# endif
|
||||
# ifdef __svr4
|
||||
# define SVR4Architecture
|
||||
# else
|
||||
# if !defined(bsd43) || defined(SYSTYPE_SYSV) || defined(_SYSTYPE_SYSV)
|
||||
# define SonySysvArchitecture
|
||||
# else
|
||||
# define SonyBsdArchitecture
|
||||
# endif
|
||||
# endif
|
||||
#endif /* sony */
|
||||
|
||||
#ifdef M4310
|
||||
# define MacroIncludeFile <pegasus.cf>
|
||||
# define MacroFile pegasus.cf
|
||||
# undef M4310
|
||||
# define PegasusArchitecture
|
||||
#endif /* M4310 */
|
||||
|
||||
#ifdef M4330
|
||||
# define MacroIncludeFile <m4330.cf>
|
||||
# define MacroFile m4330.cf
|
||||
# undef M4330
|
||||
# define M4330Architecture
|
||||
#endif /* M4330 */
|
||||
|
||||
#ifdef _CRAY
|
||||
# define MacroIncludeFile <cray.cf>
|
||||
# define MacroFile cray.cf
|
||||
# undef cray
|
||||
# undef CRAY
|
||||
# undef CRAY1
|
||||
# undef CRAY2
|
||||
# undef YMP
|
||||
# define CrayArchitecture
|
||||
#endif /* _CRAY */
|
||||
|
||||
#ifdef sgi
|
||||
# define MacroIncludeFile <sgi.cf>
|
||||
# define MacroFile sgi.cf
|
||||
# undef sgi
|
||||
# define SGIArchitecture
|
||||
# undef mips
|
||||
# define MipsArchitecture
|
||||
# ifdef _SVR4
|
||||
# undef _SVR4
|
||||
# define SVR4Architecture
|
||||
# endif
|
||||
# ifdef _SYSTYPE_SVR4
|
||||
# undef _SYSTYPE_SVR4
|
||||
# define SVR4Architecture
|
||||
# endif
|
||||
#endif /* sgi */
|
||||
|
||||
#ifdef stellar
|
||||
# define MacroIncludeFile <stellar.cf>
|
||||
# define MacroFile stellar.cf
|
||||
# undef stellar
|
||||
# define StellarArchitecture
|
||||
#endif /* stellar */
|
||||
|
||||
#if defined(ibm) || defined(_IBMR2) || defined(ibm032) || defined(aix)
|
||||
# define MacroIncludeFile <ibm.cf>
|
||||
# define MacroFile ibm.cf
|
||||
# ifdef ibm
|
||||
# undef ibm
|
||||
# endif
|
||||
# define IBMArchitecture
|
||||
# ifdef i386
|
||||
# undef i386
|
||||
# define PS2Architecture
|
||||
# endif
|
||||
# ifdef ibm032
|
||||
# undef ibm032
|
||||
# define RtArchitecture
|
||||
# endif
|
||||
# ifdef aix
|
||||
# undef aix
|
||||
# define AIXArchitecture
|
||||
# endif
|
||||
# ifdef _IBMR2
|
||||
# undef _IBMR2
|
||||
# define RsArchitecture
|
||||
# endif
|
||||
#endif /* ibm */
|
||||
|
||||
#ifdef luna
|
||||
# undef luna
|
||||
# define MacroIncludeFile <luna.cf>
|
||||
# define MacroFile luna.cf
|
||||
# define LunaArchitecture
|
||||
# ifdef mc68000
|
||||
# undef mc68000
|
||||
# define Mc68000Architecture
|
||||
# else
|
||||
# undef mc88000
|
||||
# define Mc88000Architecture
|
||||
# endif
|
||||
#endif /* luna */
|
||||
|
||||
#ifdef Mips
|
||||
# define MacroIncludeFile <Mips.cf>
|
||||
# define MacroFile Mips.cf
|
||||
# undef Mips
|
||||
# undef mips
|
||||
# if defined(SYSTYPE_BSD43) || defined(BSD) || defined(BSD43)
|
||||
# define MipsBsdArchitecture
|
||||
# else /* BSD */
|
||||
# define MipsSysvArchitecture
|
||||
# endif /* BSD */
|
||||
#endif /* Mips */
|
||||
|
||||
#ifdef MOTOROLA
|
||||
# define MacroIncludeFile <moto.cf>
|
||||
# define MacroFile moto.cf
|
||||
# undef MOTOROLA
|
||||
# ifdef SYSV
|
||||
# define MotoR3Architecture
|
||||
# endif
|
||||
# ifdef SVR4
|
||||
# define MotoR4Architecture
|
||||
# endif
|
||||
#endif /* MOTOROLA */
|
||||
|
||||
#ifdef SVR4
|
||||
# ifdef i386
|
||||
# define i386Architecture
|
||||
# undef i386
|
||||
# endif
|
||||
# define SVR4Architecture
|
||||
# define MacroIncludeFile <svr4.cf>
|
||||
# define MacroFile svr4.cf
|
||||
# undef SVR4
|
||||
#endif /* SVR4 */
|
||||
|
||||
#ifdef SYSV
|
||||
# ifdef i386
|
||||
# define MacroIncludeFile <x386.cf>
|
||||
# define MacroFile x386.cf
|
||||
# define i386SVR3Architecture
|
||||
# undef i386
|
||||
# endif
|
||||
#endif /* SYSV */
|
||||
|
||||
#ifdef SYSV386
|
||||
# undef i386
|
||||
# ifdef SVR4
|
||||
# define i386Architecture
|
||||
# define SVR4Architecture
|
||||
# define i386SVR4Architecture
|
||||
# define MacroIncludeFile <svr4.cf>
|
||||
# define MacroFile svr4.cf
|
||||
# undef SVR4
|
||||
# else
|
||||
# define MacroIncludeFile <x386.cf>
|
||||
# define MacroFile x386.cf
|
||||
# define i386SVR3Architecture
|
||||
# endif
|
||||
#endif /* SYSV386 */
|
||||
|
||||
#ifdef DGUX
|
||||
# define MacroIncludeFile <DGUX.cf>
|
||||
# define MacroFile DGUX.cf
|
||||
# undef DGUX
|
||||
# define DguxArchitecture
|
||||
#endif /* DGUX */
|
||||
|
||||
#ifdef __convex__
|
||||
# define MacroIncludeFile <convex.cf>
|
||||
# define MacroFile convex.cf
|
||||
# ifdef convex
|
||||
# undef convex
|
||||
# endif
|
||||
# define ConvexArchitecture
|
||||
#endif /* _convex_ */
|
||||
|
||||
#ifdef Oki
|
||||
# define MacroIncludeFile <Oki.cf>
|
||||
# define MacroFile Oki.cf
|
||||
# undef Oki
|
||||
# define i860SVR4Architecture
|
||||
# define SVR4Architecture
|
||||
# undef SVR4
|
||||
#endif /* Oki */
|
||||
|
||||
#ifdef linux
|
||||
# define MacroIncludeFile <linux.cf>
|
||||
# define MacroFile linux.cf
|
||||
# undef linux
|
||||
# define LinuxArchitecture
|
||||
# ifdef i386
|
||||
# undef pentium
|
||||
# undef pentiumpro
|
||||
# define i386Architecture
|
||||
# undef i386
|
||||
# endif
|
||||
# ifdef __i386__
|
||||
# ifndef i386Architecture
|
||||
# define i386Architecture
|
||||
# endif
|
||||
# undef __i386__
|
||||
# endif /* i386 */
|
||||
# ifdef __alpha
|
||||
# define AlphaArchitecture
|
||||
# undef __alpha
|
||||
# endif /* __alpha */
|
||||
# ifdef powerpc
|
||||
# define PpcArchitecture
|
||||
# undef powerpc
|
||||
# endif
|
||||
# ifdef __powerpc__
|
||||
# ifndef PpcArchitecture
|
||||
# define PpcArchitecture
|
||||
# endif
|
||||
# undef __powerpc__
|
||||
# endif
|
||||
# ifdef __riscv
|
||||
# define RISCVArchitecture
|
||||
# undef __riscv
|
||||
# endif /* __riscv */
|
||||
# if defined(__amd64__) || defined (__x86_64__)
|
||||
# undef __amd64__
|
||||
# undef __x86_64__
|
||||
# define AMD64Architecture
|
||||
# endif
|
||||
# if defined(amd64__) || defined (x86_64__)
|
||||
# undef amd64__
|
||||
# undef x86_64__
|
||||
# ifndef AMD64Architecture
|
||||
# define AMD64Architecture
|
||||
# endif
|
||||
# endif
|
||||
# if defined(__arm__) || defined(__arm32__)
|
||||
# define ARMArchitecture
|
||||
# undef __arm__
|
||||
# undef __arm32__
|
||||
# endif
|
||||
# if defined(__aarch64__)
|
||||
# define AArch64Architecture
|
||||
# undef __aarch64__
|
||||
# endif
|
||||
# if defined(__sparc__) || defined(sparc)
|
||||
# define SparcArchitecture
|
||||
# undef sparc
|
||||
# endif
|
||||
#endif /* linux */
|
||||
|
||||
#if defined(sequent) || defined(_SEQUENT_)
|
||||
# define MacroIncludeFile <sequent.cf>
|
||||
# define MacroFile sequent.cf
|
||||
# ifdef sequent
|
||||
# undef sequent
|
||||
# define Dynix3Architecture
|
||||
# endif
|
||||
# ifdef _SEQUENT_
|
||||
# undef _SEQUENT_
|
||||
# define DynixPtxArchitecture
|
||||
# endif
|
||||
# define SequentArchitecture
|
||||
#endif
|
||||
|
||||
#if defined(_nec_ews_svr4) || defined(nec_ews_svr4) || defined(nec_ews_svr2) || defined(SX) || defined(_nec_up) || defined(_nec_ft) || defined(PC_UX)
|
||||
# ifdef nec
|
||||
# undef nec
|
||||
# endif
|
||||
# define MacroIncludeFile <nec.cf>
|
||||
# define MacroFile nec.cf
|
||||
# define NecArchitecture
|
||||
#endif
|
||||
|
||||
#ifndef MacroIncludeFile
|
||||
XCOMM WARNING: Imake.cf not configured; guessing at definitions!!!
|
||||
XCOMM This might mean that BOOTSTRAPCFLAGS was not set when building imake.
|
||||
#define MacroIncludeFile <generic.cf>
|
||||
#define MacroFile generic.cf
|
||||
#endif
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,91 +0,0 @@
|
|||
XCOMM $XConsortium: Imakefile /main/38 1996/11/07 14:43:46 kaleb $
|
||||
|
||||
XCOMM Some compilers generate fatal errors if an -L directory does
|
||||
XCOMM not exist. Since BUILDLIBDIR may not exist yet suppress its use.
|
||||
LDPRELIB =
|
||||
LDPRELIBS =
|
||||
|
||||
#ifdef LocalConfigFiles
|
||||
LOCALFILES = LocalConfigFiles
|
||||
#endif
|
||||
|
||||
DEFFILES = \
|
||||
site.def
|
||||
|
||||
RULEFILES = \
|
||||
Imake.rules \
|
||||
Motif.rules \
|
||||
X11.rules \
|
||||
bsdLib.rules \
|
||||
cde.rules \
|
||||
hpLib.rules \
|
||||
ibmLib.rules \
|
||||
lnxLib.rules \
|
||||
necLib.rules \
|
||||
noop.rules \
|
||||
oldlib.rules \
|
||||
os2Lib.rules \
|
||||
sgiLib.rules \
|
||||
sunLib.rules \
|
||||
sv3Lib.rules \
|
||||
sv4Lib.rules \
|
||||
xf86.rules
|
||||
|
||||
TMPLFILES = \
|
||||
Imake.tmpl \
|
||||
Library.tmpl \
|
||||
Motif.tmpl \
|
||||
Server.tmpl \
|
||||
Threads.tmpl \
|
||||
WinLib.tmpl \
|
||||
X11.tmpl \
|
||||
bsdLib.tmpl \
|
||||
cde.tmpl \
|
||||
hpLib.tmpl \
|
||||
ibmLib.tmpl \
|
||||
lnxLib.tmpl \
|
||||
necLib.tmpl \
|
||||
os2Lib.tmpl \
|
||||
sgiLib.tmpl \
|
||||
sunLib.tmpl \
|
||||
sv3Lib.tmpl \
|
||||
sv4Lib.tmpl \
|
||||
xf86.tmpl
|
||||
|
||||
CFFILES = \
|
||||
Imake.cf \
|
||||
DGUX.cf \
|
||||
FreeBSD.cf \
|
||||
Mips.cf \
|
||||
NetBSD.cf \
|
||||
Oki.cf \
|
||||
bsd.cf \
|
||||
convex.cf \
|
||||
cray.cf \
|
||||
generic.cf \
|
||||
hp.cf \
|
||||
ibm.cf \
|
||||
isc.cf \
|
||||
linux.cf \
|
||||
luna.cf \
|
||||
mach.cf \
|
||||
minix.cf \
|
||||
moto.cf \
|
||||
ncr.cf \
|
||||
nec.cf \
|
||||
os2.cf \
|
||||
pegasus.cf \
|
||||
sequent.cf \
|
||||
sgi.cf \
|
||||
sony.cf \
|
||||
sun.cf \
|
||||
svr3.cf \
|
||||
svr4.cf \
|
||||
x386.cf \
|
||||
xfree86.cf
|
||||
|
||||
INSTFILES = $(RULEFILES) $(TMPLFILES) $(DEFFILES) $(CFFILES) $(LOCALFILES)
|
||||
|
||||
all::
|
||||
|
||||
InstallMultipleDestFlags(install,$(INSTFILES),$(CONFIGDIR),$(INSTDATFLAGS))
|
|
@ -1,407 +0,0 @@
|
|||
/*
|
||||
* Library imakefile info - this contains any special redefinitions, etc.
|
||||
* that Imakefiles in the various library subtrees will need.
|
||||
*
|
||||
* Before including this, you must set the following boolean variables:
|
||||
* DoNormalLib, DoSharedLib, DoDebugLib, DoProfileLib
|
||||
*
|
||||
* To get automatic generation of standard rules, also set the variables:
|
||||
* LibName, SoRev, HasSharedData, and optionally HugeLibrary and IncSubdir.
|
||||
*
|
||||
* To suppress installation of the library define LibInstall NO.
|
||||
* To suppress creating (and installing) the library define LibCreate NO.
|
||||
* To suppress installing headers define LibHeaders NO.
|
||||
* Define LargePICTable YES if large (32-bit) PIC tables are needed.
|
||||
*/
|
||||
|
||||
XCOMM $TOG: Library.tmpl /main/44 1997/04/28 11:47:53 kaleb $
|
||||
|
||||
#ifndef LibraryCplusplusOptions
|
||||
# if DoSharedLib && defined(SharedLibraryCplusplusOptions)
|
||||
# define LibraryCplusplusOptions SharedLibraryCplusplusOptions
|
||||
# else
|
||||
# define LibraryCplusplusOptions DefaultCplusplusOptions
|
||||
# endif
|
||||
#endif
|
||||
#ifndef LibraryDefines
|
||||
# define LibraryDefines StandardDefines
|
||||
#endif
|
||||
#ifndef LibraryCDebugFlags
|
||||
# define LibraryCDebugFlags DefaultCDebugFlags
|
||||
#endif
|
||||
#ifndef LibraryCplusplusDebugFlags
|
||||
# define LibraryCplusplusDebugFlags DefaultCplusplusDebugFlags
|
||||
#endif
|
||||
#ifndef SeparateSharedCompile
|
||||
# define SeparateSharedCompile YES
|
||||
#endif
|
||||
|
||||
#ifndef CplusplusSource
|
||||
# ifndef LibraryCcCmd
|
||||
# if DoSharedLib && defined(SharedLibraryCcCmd)
|
||||
# define LibraryCcCmd SharedLibraryCcCmd
|
||||
# else
|
||||
# define LibraryCcCmd CcCmd
|
||||
# endif
|
||||
# endif
|
||||
# ifndef LibraryCCOptions
|
||||
# if DoSharedLib && defined(SharedLibraryCCOptions)
|
||||
# define LibraryCCOptions SharedLibraryCCOptions
|
||||
# else
|
||||
# define LibraryCCOptions DefaultCCOptions
|
||||
# endif
|
||||
# endif
|
||||
|
||||
CC = LibraryCcCmd
|
||||
CCOPTIONS = LibraryCCOptions
|
||||
STD_DEFINES = LibraryDefines $(PROJECT_DEFINES)
|
||||
CDEBUGFLAGS = LibraryCDebugFlags
|
||||
# if defined(LargePICTable) && LargePICTable && defined(LargePositionIndependentCFlags)
|
||||
PICFLAGS = LargePositionIndependentCFlags
|
||||
# endif
|
||||
#else
|
||||
# ifndef LibraryCplusplusCmd
|
||||
# if DoSharedLib && defined(SharedLibraryCplusplusCmd)
|
||||
# define LibraryCplusplusCmd SharedLibraryCplusplusCmd
|
||||
# else
|
||||
# define LibraryCplusplusCmd CplusplusCmd
|
||||
# endif
|
||||
# endif
|
||||
# ifndef LibraryCplusplusOptions
|
||||
# if DoSharedLib && defined(SharedLibraryCplusplusOptions)
|
||||
# define LibraryCplusplusOptions SharedLibraryCplusplusOptions
|
||||
# else
|
||||
# define LibraryCplusplusOptions DefaultCplusplusOptions
|
||||
# endif
|
||||
# endif
|
||||
|
||||
CXX = LibraryCplusplusCmd
|
||||
CXXOPTIONS = LibraryCplusplusOptions
|
||||
STD_DEFINES = LibraryDefines $(PROJECT_DEFINES)
|
||||
CXXDEBUGFLAGS = LibraryCplusplusDebugFlags
|
||||
# if defined(LargePICTable) && LargePICTable
|
||||
# ifdef LargePositionIndependentCplusplusFlags
|
||||
CXXPICFLAGS = LargePositionIndependentCplusplusFlags
|
||||
# elif defined(LargePositionIndependentCFlags)
|
||||
CXXPICFLAGS = LargePositionIndependentCFlags
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
LIB_MT_DEFINES = LibraryMTDefines
|
||||
|
||||
#if defined(IHaveSubdirs) && HasSymLinks
|
||||
#define _LibMkdir LibMkdirLinkSubdirs
|
||||
#else
|
||||
#define _LibMkdir LibMkdir
|
||||
#endif
|
||||
|
||||
#if DoDebugLib
|
||||
# define _DebuggedLibMkdir() _LibMkdir(debugger)
|
||||
# define _DebuggedObjCompile(options) DebuggedLibObjCompile(options)
|
||||
# define _DebuggedObjCplusplusCompile(options) DebuggedLibObjCplusplusCompile(options)
|
||||
# define _DebuggedCleanDir() LibCleanDir(debugger)
|
||||
#else
|
||||
# define _DebuggedLibMkdir() $(_NULLCMD_)
|
||||
# define _DebuggedObjCompile(options) $(_NULLCMD_)
|
||||
# define _DebuggedObjCplusplusCompile(options) $(_NULLCMD_)
|
||||
# define _DebuggedCleanDir() $(_NULLCMD_)
|
||||
#endif
|
||||
|
||||
#if DoProfileLib
|
||||
# define _ProfiledLibMkdir() _LibMkdir(profiled)
|
||||
# define _ProfiledObjCompile(options) ProfiledLibObjCompile(options)
|
||||
# define _ProfiledObjCplusplusCompile(options) ProfiledLibObjCplusplusCompile(options)
|
||||
# define _ProfiledCleanDir() LibCleanDir(profiled)
|
||||
#else
|
||||
# define _ProfiledLibMkdir() $(_NULLCMD_)
|
||||
# define _ProfiledObjCompile(options) $(_NULLCMD_)
|
||||
# define _ProfiledObjCplusplusCompile(options) $(_NULLCMD_)
|
||||
# define _ProfiledCleanDir() $(_NULLCMD_)
|
||||
#endif
|
||||
|
||||
#if !DoNormalLib
|
||||
# define _NormalLibMkdir() $(_NULLCMD_)
|
||||
# define _NormalObjCompile(options) $(_NULLCMD_)
|
||||
# define _NormalObjCplusplusCompile(options) $(_NULLCMD_)
|
||||
# define _NormalCleanDir() $(_NULLCMD_)
|
||||
#else
|
||||
# if DoSharedLib && SeparateSharedCompile
|
||||
# define _NormalLibMkdir() _LibMkdir(unshared)
|
||||
# define _NormalObjCompile(options) UnsharedLibObjCompile(options)
|
||||
# define _NormalObjCplusplusCompile(options) UnsharedLibObjCplusplusCompile(options)
|
||||
# define _NormalCleanDir() LibCleanDir(unshared)
|
||||
# else
|
||||
# define _NormalLibMkdir() $(_NULLCMD_)
|
||||
# define _NormalObjCompile(options) NormalLibObjCompile(options)
|
||||
# define _NormalObjCplusplusCompile(options) NormalLibObjCplusplusCompile(options)
|
||||
# define _NormalCleanDir() $(_NULLCMD_)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if !DoSharedLib || (DoNormalLib && !SeparateSharedCompile)
|
||||
# define _SharedObjCompile(options) $(_NULLCMD_)
|
||||
# define _SharedObjCplusplusCompile(options) $(_NULLCMD_)
|
||||
#else
|
||||
# if SeparateSharedCompile
|
||||
# define _SharedObjCompile(options) NormalSharedLibObjCompile(options)
|
||||
# define _SharedObjCplusplusCompile(options) NormalSharedLibObjCplusplusCompile(options)
|
||||
#else
|
||||
# define _SharedObjCompile(options) NormalLibObjCompile(options)
|
||||
# define _SharedObjCplusplusCompile(options) NormalLibObjCplusplusCompile(options)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef CplusplusSource
|
||||
# define SRCsuf c
|
||||
#else
|
||||
# define SRCsuf CCsuf
|
||||
# ifdef SunArchitecture
|
||||
.SUFFIXES: .CCsuf
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define _CompileObj(target, options) @@\
|
||||
target @@\
|
||||
_DebuggedObjCompile(options) @@\
|
||||
_ProfiledObjCompile(options) @@\
|
||||
_NormalObjCompile(options) @@\
|
||||
_SharedObjCompile(options)
|
||||
|
||||
#ifdef CplusplusSource
|
||||
# define _CompileObjCplusplus(target, options) @@\
|
||||
target @@\
|
||||
_DebuggedObjCplusplusCompile(options) @@\
|
||||
_ProfiledObjCplusplusCompile(options) @@\
|
||||
_NormalObjCplusplusCompile(options) @@\
|
||||
_SharedObjCplusplusCompile(options)
|
||||
#else
|
||||
# define _CompileObjCplusplus(target, options)
|
||||
#endif
|
||||
|
||||
#ifndef LibraryObjectRule
|
||||
# define LibraryObjectRule() @@\
|
||||
all:: @@\
|
||||
_DebuggedLibMkdir() @@\
|
||||
_ProfiledLibMkdir() @@\
|
||||
_NormalLibMkdir() @@\
|
||||
@@\
|
||||
includes:: @@\
|
||||
_DebuggedLibMkdir() @@\
|
||||
_ProfiledLibMkdir() @@\
|
||||
_NormalLibMkdir() @@\
|
||||
@@\
|
||||
_CompileObj(.c.Osuf:,$(_NOOP_)) @@\
|
||||
_CompileObjCplusplus(.SRCsuf.Osuf:,$(_NOOP_)) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
_DebuggedCleanDir() @@\
|
||||
_ProfiledCleanDir() @@\
|
||||
_NormalCleanDir() @@\
|
||||
|
||||
#endif /* LibraryObjectRule */
|
||||
|
||||
#ifndef SpecialLibObjectRule
|
||||
# define SpecialLibObjectRule(objs,depends,options) @@\
|
||||
_CompileObj(objs: depends,options)
|
||||
#endif /* SpecialLibObjectRule */
|
||||
|
||||
#ifndef SpecialCLibObjectRule
|
||||
# define SpecialCLibObjectRule(basename,depends,options) @@\
|
||||
_CompileObj(basename.Osuf: basename.SRCsuf depends,options) @@\
|
||||
@@\
|
||||
basename.i: basename.SRCsuf depends @@\
|
||||
CPPOnlyCompile(basename.SRCsuf,options) @@\
|
||||
@@\
|
||||
CenterLoadTarget(debug_src,basename.SRCsuf,NullParameter,$(ALLDEFINES) options)
|
||||
#endif /* SpecialCLibObjectRule */
|
||||
|
||||
#ifndef SpecialCplusplusLibObjectRule
|
||||
# define SpecialCplusplusLibObjectRule(basename,depends,options) @@\
|
||||
_CompileObjCplusplus(basename.Osuf: basename.SRCsuf depends,options) @@\
|
||||
@@\
|
||||
CenterLoadTarget(debug_src,basename.SRCsuf,NullParameter,$(ALLDEFINES) options)
|
||||
#endif /* SpecialCplusplusLibObjectRule */
|
||||
|
||||
/*
|
||||
* ToolkitMakeStrings generates a string-table, i.e., a C source
|
||||
* file and the matching header(s), e.g., Xt's StringDefs.c, StringDefs.h,
|
||||
* and Shell.h files; or Motif's XmStrDefs.c and XmStrDefs.h files.
|
||||
*
|
||||
* The 'files' argument is the list of files that will be produced by
|
||||
* this rule, e.g., for Xt they would be "Shell.h StringDefs.c StringDefs.h"
|
||||
* and for Motif they would be "XmStrDefs.c XmStrDefs.h".
|
||||
*
|
||||
* The 'source' argument is the string-list file to be parsed, e.g., in
|
||||
* Xt that would be "util/string.list". For Motif 2.0 it would be
|
||||
* "../../tools/makestr/xmstring.list", and for Motif-CDE1 it would be
|
||||
* "util/xmstring.list".
|
||||
*
|
||||
* The 'options' argument is passed by the library's Imakefile, see the
|
||||
* Xt Imakefile for an example. Typically this would be nothing, -intelabi,
|
||||
* or -sparcabi; there are other choices, but these are typical.
|
||||
*
|
||||
* The 'depends' argument names additional files the target files
|
||||
* depend on. It should name the #ctmpl and #htmpl files from the
|
||||
* 'source' file.
|
||||
*
|
||||
* The 'dest' argument is the C source output file. For Xt this should
|
||||
* be "StringDefs.c", and for all versions of Motif it would be "XmStrDefs.c"
|
||||
*
|
||||
* Headers are generated and named according to data in the 'source'
|
||||
* file.
|
||||
*/
|
||||
/*
|
||||
* The NoCmpScript
|
||||
* prevents clearmake from trying to remake makestrs if it exists.
|
||||
* Including both $(MAKESTRS) and $(MAKESTRS).o as primary targets
|
||||
* prevents clearmake from trying to recompile makestrs from here.
|
||||
* We have includes, not files, depend on makestrs to try to get
|
||||
* clearmake to wink in the files. Bug in clearmake 2.0.2?
|
||||
*/
|
||||
|
||||
#ifndef MakeStringsDependency
|
||||
# define MakeStringsDependency @@\
|
||||
MAKESTRS = $(CONFIGSRC)/util/makestrs @@\
|
||||
NoCmpScript(ProgramTargetName($(MAKESTRS)) $(MAKESTRS).Osuf) @@\
|
||||
@@\
|
||||
ProgramTargetName($(MAKESTRS)) $(MAKESTRS).Osuf: @@\
|
||||
cd $(CONFIGSRC)/util && $(MAKE) ProgramTargetName(makestrs) @@\
|
||||
@@\
|
||||
includes:: ProgramTargetName($(MAKESTRS))
|
||||
#endif
|
||||
#ifndef ToolkitMakeStrings
|
||||
# if defined(LibTookitMakeStringsDependency) && LibTookitMakeStringsDependency
|
||||
# define ToolkitMakeStrings(files,source,options,depends,dest) @@\
|
||||
files: source depends @@\
|
||||
RemoveFiles(files) @@\
|
||||
RunProgram(MAKESTRS,options < source > dest) @@\
|
||||
@@\
|
||||
AllTarget(files) @@\
|
||||
@@\
|
||||
includes:: files @@\
|
||||
@@\
|
||||
depend:: files @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
RemoveFiles(files)
|
||||
# else
|
||||
# define ToolkitMakeStrings(files,source,options,depends,dest) @@\
|
||||
MakeStringsDependency @@\
|
||||
@@\
|
||||
files: source depends @@\
|
||||
RemoveFiles(files) @@\
|
||||
RunProgram(MAKESTRS,options < source > dest) @@\
|
||||
@@\
|
||||
AllTarget(files) @@\
|
||||
@@\
|
||||
includes:: files @@\
|
||||
@@\
|
||||
depend:: files @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
RemoveFiles(files)
|
||||
# endif
|
||||
#endif /* ToolkitMakeStrings */
|
||||
|
||||
#ifdef LibName
|
||||
|
||||
LIBNAME = LibName
|
||||
|
||||
# if defined(LibTookitMakeStringsDependency) && LibTookitMakeStringsDependency
|
||||
/*
|
||||
* Do ToolkitMakeStrings() before BuildIncludes so makestrs is still
|
||||
* built first, even if the generated header will be installed.
|
||||
*/
|
||||
MakeStringsDependency
|
||||
# endif
|
||||
|
||||
LibraryObjectRule()
|
||||
|
||||
# undef _LinkBuildLibrary
|
||||
# if !defined(LibInstall) || LibInstall
|
||||
# define _LinkBuildLibrary(lib) LinkBuildLibrary(lib)
|
||||
# else
|
||||
# define _LinkBuildLibrary(lib) $(_NULLCMD_)
|
||||
# endif
|
||||
|
||||
# if !defined(LibCreate) || LibCreate
|
||||
# if DoSharedLib
|
||||
# if HugeLibrary && defined(SharedLibraryTarget3)
|
||||
SharedLibraryTarget3($(LIBNAME),$(SoRev),$(OBJS1),$(OBJS2),$(OBJS3),.,.)
|
||||
# else
|
||||
SharedLibraryTarget($(LIBNAME),$(SoRev),$(OBJS),.,.)
|
||||
# endif
|
||||
# if !defined(LibInstall) || LibInstall
|
||||
InstallSharedLibrary($(LIBNAME),$(SoRev),$(SHLIBDIR))
|
||||
# endif
|
||||
# if HasSharedData
|
||||
SharedLibraryDataTarget($(LIBNAME),$(SoRev),$(UNSHAREDOBJS))
|
||||
# if !defined(LibInstall) || LibInstall
|
||||
InstallSharedLibraryData($(LIBNAME),$(SoRev),$(SHLIBDIR))
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# if DoNormalLib
|
||||
# if HugeLibrary
|
||||
# if DoSharedLib && SeparateSharedCompile
|
||||
UnsharedLibraryTarget3($(LIBNAME),$(OBJS1),$(OBJS2),$(OBJS3),unshared,..)
|
||||
# else
|
||||
NormalLibraryTarget3($(LIBNAME),$(OBJS1),$(OBJS2),$(OBJS3))
|
||||
# endif
|
||||
# else
|
||||
# if DoSharedLib && SeparateSharedCompile
|
||||
UnsharedLibraryTarget($(LIBNAME),$(OBJS),unshared,..)
|
||||
# else
|
||||
NormalLibraryTarget($(LIBNAME),$(OBJS))
|
||||
# endif
|
||||
# endif
|
||||
# if !defined(LibInstall) || LibInstall
|
||||
InstallLibrary($(LIBNAME),$(USRLIBDIR))
|
||||
# endif
|
||||
# endif
|
||||
# if DoProfileLib
|
||||
ProfiledLibraryTarget($(LIBNAME),$(OBJS))
|
||||
# if !defined(LibInstall) || LibInstall
|
||||
InstallLibrary($(LIBNAME)_p,$(USRLIBDIR))
|
||||
# endif
|
||||
# endif
|
||||
# if DoDebugLib
|
||||
DebuggedLibraryTarget($(LIBNAME),$(OBJS))
|
||||
# if !defined(LibInstall) || LibInstall
|
||||
InstallLibrary($(LIBNAME)_d,$(USRLIBDIR))
|
||||
# endif
|
||||
# endif
|
||||
|
||||
LintLibraryTarget($(LIBNAME),$(SRCS))
|
||||
# if !defined(LibInstall) || LibInstall
|
||||
InstallLintLibrary($(LIBNAME),$(LINTLIBDIR))
|
||||
# endif
|
||||
# else /* not LibCreate */
|
||||
# if HugeLibrary
|
||||
AllTarget($(OBJS1))
|
||||
AllTarget($(OBJS2))
|
||||
AllTarget($(OBJS3))
|
||||
# else
|
||||
AllTarget($(OBJS))
|
||||
# endif
|
||||
# endif /* LibCreate */
|
||||
# ifdef IncSubdir
|
||||
# ifdef IncSubSubdir
|
||||
BuildIncludes($(HEADERS),IncSubdir/IncSubSubdir,../..)
|
||||
InstallMultipleFlags($(HEADERS),$(INCDIR)/IncSubdir/IncSubSubdir,$(INSTINCFLAGS))
|
||||
# else
|
||||
BuildIncludes($(HEADERS),IncSubdir,..)
|
||||
InstallMultipleFlags($(HEADERS),$(INCDIR)/IncSubdir,$(INSTINCFLAGS))
|
||||
# endif
|
||||
# else
|
||||
# ifndef CplusplusSource
|
||||
# if !defined(LibHeaders) || LibHeaders
|
||||
BuildIncludesTop($(HEADERS))
|
||||
InstallMultipleFlags($(HEADERS),$(INCDIR),$(INSTINCFLAGS))
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
|
||||
NormalLintTarget($(SRCS))
|
||||
#endif /* defined(LibName) */
|
|
@ -1,72 +0,0 @@
|
|||
/*
|
||||
* Set version numbers before making makefiles.
|
||||
*
|
||||
* X11r5 only builds using the berkeley libraries and compiler. Make
|
||||
* sure your path includes /bsd43/bin before /bin/ or /usr/bin.
|
||||
*/
|
||||
|
||||
#ifndef OSName
|
||||
#define OSName RISCOS
|
||||
#endif
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion 4
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion 50
|
||||
#endif
|
||||
|
||||
XCOMM platform: $XConsortium: Mips.cf /main/17 1996/09/28 16:06:25 rws $
|
||||
XCOMM operating system: OSName
|
||||
|
||||
/***************************************************************************
|
||||
* Platform-specific parameters *
|
||||
***************************************************************************/
|
||||
|
||||
#define HasVoidSignalReturn NO
|
||||
#define SetTtyGroup YES
|
||||
#define UnalignedReferencesAllowed NO /* if arbitrary deref okay */
|
||||
#define HasBsearch NO
|
||||
|
||||
#define MipsArchitecture
|
||||
#define MakeEnv -e
|
||||
|
||||
#define DefaultCCOptions -signed -systype bsd43 -Olimit 2000 -Wf,-XNd8400,-XNp12000
|
||||
#define StandardDefines -DMips -DBSD43
|
||||
#define PostIncDir /usr/include/bsd43
|
||||
#define ExtraLibraries -lmld
|
||||
#define ArCmd ar clr
|
||||
#define BootstrapCFlags -DMips
|
||||
#define InstallCmd /etc/mipsinstall -f
|
||||
#define MakeCmd make MakeEnv
|
||||
#define DoRanlibCmd NO
|
||||
#define AllocateLocalDefines -DINCLUDE_ALLOCA_H
|
||||
|
||||
/***************************************************************************
|
||||
* *
|
||||
* DEFINE PARAMETERS FOR BUILDING *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#define XmipsServer YES
|
||||
|
||||
/***************************************************************************
|
||||
* *
|
||||
* OVERRIDE ANY CONFIGURATION PARAMETERS FROM Imake.tmpl *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#define SpecialMalloc NO
|
||||
|
||||
#define PrimaryScreenResolution 110
|
||||
|
||||
#define ConstructMFLAGS NO /* build MFLAGS from MAKEFLAGS */
|
||||
|
||||
#define DefaultUserPath /usr/net:/bin:/usr/bin:$(BINDIR):/usr/ucb
|
||||
#define DefaultSystemPath /usr/net:/bin:/usr/bin:/etc:$(BINDIR):/usr/ucb
|
||||
|
||||
/* mips manuals are really complicated. This certainly won't work. */
|
||||
|
||||
#define ManDirectoryRoot /man/cat
|
||||
#define ManSourcePath $(MANPATH)/man
|
||||
|
||||
#define InstKmemFlags -g sys -m 2711
|
|
@ -1,725 +0,0 @@
|
|||
/*
|
||||
* @OSF_COPYRIGHT@
|
||||
* COPYRIGHT NOTICE
|
||||
* Copyright (c) 1990, 1991, 1992, 1993, 1998 The Open Group, Inc.
|
||||
* ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for
|
||||
* the full copyright text.
|
||||
*
|
||||
* (c) Copyright 1996 Digital Equipment Corporation.
|
||||
* (c) Copyright 1996 Hewlett-Packard Company.
|
||||
* (c) Copyright 1996 International Business Machines Corp.
|
||||
* (c) Copyright 1996 Sun Microsystems, Inc.
|
||||
* (c) Copyright 1996 Novell, Inc.
|
||||
* (c) Copyright 1996 FUJITSU LIMITED.
|
||||
* (c) Copyright 1996 Hitachi.
|
||||
*/
|
||||
XCOMM $TOG: Motif.rules /main/8 1999/03/22 15:12:48 mgreess $
|
||||
|
||||
/* Note whether we are the top level project. */
|
||||
#ifndef SeenTopLevelProject
|
||||
# define SeenTopLevelProject YES
|
||||
# define MotifIsTopLevelProject YES
|
||||
#else
|
||||
# define MotifIsTopLevelProject NO
|
||||
#endif
|
||||
|
||||
/* Include the X11 project rules file. */
|
||||
#include <X11.rules>
|
||||
|
||||
|
||||
/* Use the in-tree Motif by default. */
|
||||
#ifndef UseInstalledMotif
|
||||
# define UseInstalledMotif NO
|
||||
#endif
|
||||
#ifdef UseInstalled
|
||||
# undef UseInstalledMotif
|
||||
# define UseInstalledMotif YES
|
||||
#endif
|
||||
|
||||
#ifndef ImportMotif
|
||||
# ifdef UseImports
|
||||
# define ImportMotif YES
|
||||
# else
|
||||
# define ImportMotif NO
|
||||
# endif
|
||||
#endif
|
||||
#if UseInstalledMotif
|
||||
# undef ImportMotif
|
||||
# define ImportMotif NO
|
||||
#endif
|
||||
|
||||
#ifndef MSimpleProgramTarget
|
||||
#define MSimpleProgramTarget(program) @@\
|
||||
AllTarget(program) @@\
|
||||
@@\
|
||||
program: program.o $(DEPS) $(DEPLIBS) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CCLINK) -o $@ program.o $(LDOPTIONS) $(DEPS) $(LOCAL_LIBRARIES) $(LDLIBS) $(EXTRA_LOAD_FLAGS) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) program
|
||||
#endif
|
||||
|
||||
#ifndef MSimpleUilTarget
|
||||
#define MSimpleUilTarget(program) @@\
|
||||
MSimpleProgramTarget(program) @@\
|
||||
@@\
|
||||
InstallProgram(program,$(BINDIR)) @@\
|
||||
@@\
|
||||
MSimpleUidTarget(program)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* UILFLAGS contains site/vendor-specific flags
|
||||
* defined by UilFlags, which supposed to be set in *.cf or
|
||||
* site.def files.
|
||||
* LOCAL_UILFLAGS(_n) contains client-specific uil flags set in Imakefile
|
||||
*/
|
||||
|
||||
#ifndef MSimpleUidTarget
|
||||
#define MSimpleUidTarget(program) @@\
|
||||
AllTarget(program.uid) @@\
|
||||
@@\
|
||||
program.uid: program.uil $(DEPUIL) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS) -o $@ program.uil $(UIL_INCLUDES) @@\
|
||||
@@\
|
||||
InstallNonExecFile(program.uid,$(UIDDIR)) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) program.uid
|
||||
#endif
|
||||
|
||||
#ifndef MSimpleUidSubdirTarget
|
||||
#define MSimpleUidSubdirTarget(program,subdir) @@\
|
||||
AllTarget(subdir/program.uid) @@\
|
||||
@@\
|
||||
subdir/program.uid: subdir/program.uil $(DEPUIL) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS) -o $@ subdir/program.uil $(UIL_INCLUDES) @@\
|
||||
@@\
|
||||
InstallNamedTarget(install,subdir/program.uid,$(INSTDATFLAGS),$(UIDDIR)/subdir,program.uid) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) subdir/program.uid
|
||||
#endif
|
||||
|
||||
#ifndef MSimpleUidLocaleTarget
|
||||
#define MSimpleUidLocaleTarget(program,locale) @@\
|
||||
AllTarget(program.uid) @@\
|
||||
@@\
|
||||
program.uid: program.uil $(DEPUIL) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS) -o $@ program.uil $(UIL_INCLUDES) @@\
|
||||
@@\
|
||||
InstallNonExecFile(program.uid,$(LIBDIR)/locale/uid) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) program.uid
|
||||
#endif
|
||||
|
||||
#ifndef MComplexUidTarget_1
|
||||
#define MComplexUidTarget_1(program) @@\
|
||||
@@\
|
||||
AllTarget(program.uid) @@\
|
||||
@@\
|
||||
program.uid: $(UILS1) $(DEPUIL) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_1) -o $@ program.uil $(UIL_INCLUDES) @@\
|
||||
@@\
|
||||
InstallNonExecFile(program.uid,$(UIDDIR)) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) program.uid
|
||||
#endif
|
||||
|
||||
#ifndef MComplexUidTarget_2
|
||||
#define MComplexUidTarget_2(program) @@\
|
||||
@@\
|
||||
AllTarget(program.uid) @@\
|
||||
@@\
|
||||
program.uid: $(UILS2) $(DEPUIL) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_2) -o $@ program.uil $(UIL_INCLUDES) @@\
|
||||
@@\
|
||||
InstallNonExecFile(program.uid,$(UIDDIR)) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) program.uid
|
||||
#endif
|
||||
|
||||
#ifndef MComplexUidTarget_3
|
||||
#define MComplexUidTarget_3(program) @@\
|
||||
@@\
|
||||
AllTarget(program.uid) @@\
|
||||
@@\
|
||||
program.uid: $(UILS3) $(DEPUIL) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_3) -o $@ program.uil $(UIL_INCLUDES) @@\
|
||||
@@\
|
||||
InstallNonExecFile(program.uid,$(UIDDIR)) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) program.uid
|
||||
#endif
|
||||
|
||||
#ifndef MComplexUidTarget_4
|
||||
#define MComplexUidTarget_4(program) @@\
|
||||
@@\
|
||||
AllTarget(program.uid) @@\
|
||||
@@\
|
||||
program.uid: $(UILS4) $(DEPUIL) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_4) -o $@ program.uil $(UIL_INCLUDES) @@\
|
||||
@@\
|
||||
InstallNonExecFile(program.uid,$(UIDDIR)) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) program.uid
|
||||
#endif
|
||||
|
||||
#ifndef MComplexUidTarget_5
|
||||
#define MComplexUidTarget_5(program) @@\
|
||||
@@\
|
||||
AllTarget(program.uid) @@\
|
||||
@@\
|
||||
program.uid: $(UILS5) $(DEPUIL) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_5) -o $@ program.uil $(UIL_INCLUDES) @@\
|
||||
@@\
|
||||
InstallNonExecFile(program.uid,$(UIDDIR)) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) program.uid
|
||||
#endif
|
||||
|
||||
#ifndef MComplexUidTarget_6
|
||||
#define MComplexUidTarget_6(program) @@\
|
||||
@@\
|
||||
AllTarget(program.uid) @@\
|
||||
@@\
|
||||
program.uid: $(UILS6) $(DEPUIL) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_6) -o $@ program.uil $(UIL_INCLUDES) @@\
|
||||
@@\
|
||||
InstallNonExecFile(program.uid,$(UIDDIR)) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) program.uid
|
||||
#endif
|
||||
|
||||
#ifndef MComplexUidTarget_7
|
||||
#define MComplexUidTarget_7(program) @@\
|
||||
@@\
|
||||
AllTarget(program.uid) @@\
|
||||
@@\
|
||||
program.uid: $(UILS7) $(DEPUIL) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_7) -o $@ program.uil $(UIL_INCLUDES) @@\
|
||||
@@\
|
||||
InstallNonExecFile(program.uid,$(UIDDIR)) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) program.uid
|
||||
#endif
|
||||
|
||||
#ifndef MComplexUidTarget_8
|
||||
#define MComplexUidTarget_8(program) @@\
|
||||
@@\
|
||||
AllTarget(program.uid) @@\
|
||||
@@\
|
||||
program.uid: $(UILS8) $(DEPUIL) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_8) -o $@ program.uil $(UIL_INCLUDES) @@\
|
||||
@@\
|
||||
InstallNonExecFile(program.uid,$(UIDDIR)) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) program.uid
|
||||
#endif
|
||||
|
||||
#ifndef MComplexUidTarget_9
|
||||
#define MComplexUidTarget_9(program) @@\
|
||||
@@\
|
||||
AllTarget(program.uid) @@\
|
||||
@@\
|
||||
program.uid: $(UILS9) $(DEPUIL) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_9) -o $@ program.uil $(UIL_INCLUDES) @@\
|
||||
@@\
|
||||
InstallNonExecFile(program.uid,$(UIDDIR)) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) program.uid
|
||||
#endif
|
||||
|
||||
#ifndef MComplexUidTarget_10
|
||||
#define MComplexUidTarget_10(program) @@\
|
||||
@@\
|
||||
AllTarget(program.uid) @@\
|
||||
@@\
|
||||
program.uid: $(UILS10) $(DEPUIL) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_10) -o $@ program.uil $(UIL_INCLUDES) @@\
|
||||
@@\
|
||||
InstallNonExecFile(program.uid,$(UIDDIR)) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) program.uid
|
||||
#endif
|
||||
|
||||
#ifndef MComplexProgramTarget
|
||||
#define MComplexProgramTarget(program,locallib,syslib) @@\
|
||||
PROGRAM = program @@\
|
||||
@@\
|
||||
AllTarget(program) @@\
|
||||
@@\
|
||||
program: $(OBJS) $(DEPLIBS) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CCLINK) -o $@ $(LDOPTIONS) $(OBJS) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
|
||||
@@\
|
||||
CenterProgramTarget(program,$(SRCS),$(OBJS),locallib,syslib) @@\
|
||||
@@\
|
||||
InstallProgram(program,$(BINDIR)) @@\
|
||||
@@\
|
||||
install.man:: @@\
|
||||
@echo To install documentation for $(PROGRAM), consult the Release Notes @@\
|
||||
@echo and/or README file in the current directory. @@\
|
||||
DependTarget() @@\
|
||||
LintTarget() @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) $(PROGRAM)
|
||||
#endif
|
||||
|
||||
#ifndef MComplexProgramTarget_1
|
||||
#define MComplexProgramTarget_1(program,locallib,syslib) @@\
|
||||
OBJS = $(OBJS1) $(OBJS2) $(OBJS3) @@\
|
||||
SRCS = $(SRCS1) $(SRCS2) $(SRCS3) @@\
|
||||
@@\
|
||||
AllTarget($(PROGRAMS)) @@\
|
||||
@@\
|
||||
program: $(OBJS1) $(DEPLIBS1) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CCLINK) -o $@ $(LDOPTIONS) $(OBJS1) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
|
||||
@@\
|
||||
CenterProgramTarget(program,$(SRCS1),$(OBJS1),locallib,syslib) @@\
|
||||
@@\
|
||||
InstallProgram(program,$(BINDIR)) @@\
|
||||
@@\
|
||||
install.man:: @@\
|
||||
@echo To install documentation for $(PROGRAMS), consult the Release Notes @@\
|
||||
@echo and/or README file in the current directory. @@\
|
||||
DependTarget() @@\
|
||||
LintTarget() @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) $(PROGRAMS)
|
||||
#endif
|
||||
|
||||
#ifndef MComplexProgramTarget_2
|
||||
#define MComplexProgramTarget_2(program,locallib,syslib) @@\
|
||||
program: $(OBJS2) $(DEPLIBS2) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CCLINK) -o $@ $(LDOPTIONS) $(OBJS2) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
|
||||
@@\
|
||||
CenterProgramTarget(program,$(SRCS2),$(OBJS2),locallib,syslib) @@\
|
||||
@@\
|
||||
InstallProgram(program,$(BINDIR))
|
||||
#endif
|
||||
|
||||
#ifndef MComplexProgramTarget_3
|
||||
#define MComplexProgramTarget_3(program,locallib,syslib) @@\
|
||||
PROGRAM_3 = program @@\
|
||||
program: $(OBJS3) $(DEPLIBS3) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CCLINK) -o $@ $(LDOPTIONS) $(OBJS3) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
|
||||
@@\
|
||||
CenterProgramTarget(program,$(SRCS3),$(OBJS3),locallib,syslib) @@\
|
||||
@@\
|
||||
InstallProgram(program,$(BINDIR))
|
||||
#endif
|
||||
|
||||
#ifndef MComplexProgramTarget_4
|
||||
#define MComplexProgramTarget_4(program,locallib,syslib) @@\
|
||||
PROGRAM_4 = program @@\
|
||||
program: $(OBJS4) $(DEPLIBS4) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CCLINK) -o $@ $(LDOPTIONS) $(OBJS4) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
|
||||
@@\
|
||||
CenterProgramTarget(program,$(SRCS4),$(OBJS4),locallib,syslib) @@\
|
||||
@@\
|
||||
InstallProgram(program,$(BINDIR))
|
||||
#endif
|
||||
|
||||
#ifndef MComplexProgramTarget_5
|
||||
#define MComplexProgramTarget_5(program,locallib,syslib) @@\
|
||||
PROGRAM_5 = program @@\
|
||||
program: $(OBJS5) $(DEPLIBS5) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CCLINK) -o $@ $(LDOPTIONS) $(OBJS5) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
|
||||
@@\
|
||||
CenterProgramTarget(program,$(SRCS5),$(OBJS5),locallib,syslib) @@\
|
||||
@@\
|
||||
InstallProgram(program,$(BINDIR))
|
||||
#endif
|
||||
|
||||
#ifndef MComplexProgramTarget_6
|
||||
#define MComplexProgramTarget_6(program,locallib,syslib) @@\
|
||||
PROGRAM_6 = program @@\
|
||||
program: $(OBJS6) $(DEPLIBS6) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CCLINK) -o $@ $(LDOPTIONS) $(OBJS6) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
|
||||
@@\
|
||||
CenterProgramTarget(program,$(SRCS6),$(OBJS6),locallib,syslib) @@\
|
||||
@@\
|
||||
InstallProgram(program,$(BINDIR))
|
||||
#endif
|
||||
|
||||
#ifndef MComplexProgramTarget_7
|
||||
#define MComplexProgramTarget_7(program,locallib,syslib) @@\
|
||||
PROGRAM_7 = program @@\
|
||||
program: $(OBJS7) $(DEPLIBS7) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CCLINK) -o $@ $(LDOPTIONS) $(OBJS7) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
|
||||
@@\
|
||||
CenterProgramTarget(program,$(SRCS7),$(OBJS7),locallib,syslib) @@\
|
||||
@@\
|
||||
InstallProgram(program,$(BINDIR))
|
||||
#endif
|
||||
|
||||
#ifndef MComplexProgramTarget_8
|
||||
#define MComplexProgramTarget_8(program,locallib,syslib) @@\
|
||||
PROGRAM_8 = program @@\
|
||||
program: $(OBJS8) $(DEPLIBS8) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CCLINK) -o $@ $(LDOPTIONS) $(OBJS8) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
|
||||
@@\
|
||||
CenterProgramTarget(program,$(SRCS8),$(OBJS8),locallib,syslib) @@\
|
||||
@@\
|
||||
InstallProgram(program,$(BINDIR))
|
||||
#endif
|
||||
|
||||
#ifndef MComplexProgramTarget_9
|
||||
#define MComplexProgramTarget_9(program,locallib,syslib) @@\
|
||||
PROGRAM_9 = program @@\
|
||||
program: $(OBJS9) $(DEPLIBS9) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CCLINK) -o $@ $(LDOPTIONS) $(OBJS9) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
|
||||
@@\
|
||||
CenterProgramTarget(program,$(SRCS9),$(OBJS9),locallib,syslib) @@\
|
||||
@@\
|
||||
InstallProgram(program,$(BINDIR))
|
||||
#endif
|
||||
|
||||
#ifdef AUTOMATION
|
||||
#ifndef TestPPTarget
|
||||
#define TestPPTarget(root) @@\
|
||||
all:: root.Scr root.Dat @@\
|
||||
@@\
|
||||
root.Dat: root.dat @@\
|
||||
$(RM) root.Dat @@\
|
||||
$(COMMONPP) $(DEFINES) root.dat @@\
|
||||
root.Scr: root.scr @@\
|
||||
$(RM) root.Scr @@\
|
||||
$(COMMONPP) $(DEFINES) root.scr
|
||||
#endif
|
||||
#else
|
||||
#ifndef TestPPTarget
|
||||
#define TestPPTarget(root) @@\
|
||||
all:: root.Dat @@\
|
||||
@@\
|
||||
root.Dat: root.dat @@\
|
||||
$(RM) root.Dat @@\
|
||||
$(COMMONPP) $(DEFINES) root.dat
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef AUTOMATION
|
||||
#ifndef TestPPTargetScr
|
||||
#define TestPPTargetScr(root) @@\
|
||||
all:: root.Scr @@\
|
||||
@@\
|
||||
root.Scr: root.scr @@\
|
||||
$(RM) root.Scr @@\
|
||||
$(COMMONPP) $(DEFINES) root.scr
|
||||
#endif
|
||||
#else
|
||||
#ifndef TestPPTargetScr
|
||||
#define TestPPTargetScr(root) /**/
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef AUTOMATION
|
||||
#ifndef TestPPTargetDat
|
||||
#define TestPPTargetDat(root) @@\
|
||||
all:: root.Dat @@\
|
||||
@@\
|
||||
root.Dat: root.dat @@\
|
||||
$(RM) root.Dat @@\
|
||||
$(COMMONPP) $(DEFINES) root.dat
|
||||
#endif
|
||||
#endif
|
||||
#ifndef AUTOMATION
|
||||
#ifndef TestPPTargetDat
|
||||
#define TestPPTargetDat(root) @@\
|
||||
all:: root.Dat @@\
|
||||
@@\
|
||||
root.Dat: root.dat @@\
|
||||
$(RM) root.Dat @@\
|
||||
$(COMMONPP) $(DEFINES) root.dat
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NO_AUTOMATION
|
||||
#ifndef RunTarget
|
||||
#define RunTarget() @@\
|
||||
all:: RUN @@\
|
||||
@@\
|
||||
RUN: always @@\
|
||||
$(GENRUN) $(CURRENT_DIR) $(MTOP) $(DEFINES) @@\
|
||||
@@\
|
||||
always: @@\
|
||||
$(RM) RUN
|
||||
#endif
|
||||
#else
|
||||
#ifdef UseVista
|
||||
#ifndef RunTarget
|
||||
#define RunTarget() @@\
|
||||
all:: RUN @@\
|
||||
@@\
|
||||
RUN: always @@\
|
||||
$(MANRUN) $(CURRENT_DIR) $(MTOP) $(DEFINES) @@\
|
||||
@@\
|
||||
always: @@\
|
||||
$(RM) RUN
|
||||
#endif
|
||||
#else
|
||||
#ifdef UsePurify
|
||||
#ifndef RunTarget
|
||||
#define RunTarget() @@\
|
||||
all:: RUN @@\
|
||||
@@\
|
||||
RUN: always @@\
|
||||
$(MANRUN) $(CURRENT_DIR) $(MTOP) $(DEFINES) @@\
|
||||
@@\
|
||||
always: @@\
|
||||
$(RM) RUN
|
||||
#endif
|
||||
#else
|
||||
#ifndef RunTarget
|
||||
#define RunTarget() @@\
|
||||
all:: RUN @@\
|
||||
@@\
|
||||
RUN: always @@\
|
||||
@@\
|
||||
always: @@\
|
||||
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#ifdef UseVista
|
||||
#ifndef VistaMapRule
|
||||
#define VistaMapRule(targetmap,depend) @@\
|
||||
all:: targetmap @@\
|
||||
@@\
|
||||
targetmap: depend @@\
|
||||
$(RM) $(MTOP)/tests/Vista/targetmap @@\
|
||||
CATCMD *.M > $(MTOP)/tests/Vista/targetmap
|
||||
#endif
|
||||
#ifndef ComplexVistaMapRule
|
||||
#define ComplexVistaMapRule(program,filelist) @@\
|
||||
all:: program.M @@\
|
||||
@@\
|
||||
program.M: filelist @@\
|
||||
$(RM) program.vista.tmpfile @@\
|
||||
touch program.vista.tmpfile @@\
|
||||
@case '${MFLAGS}' in *[ik]*) set +e;; esac; @@\
|
||||
@for i in filelist; do \ @@\
|
||||
cat `basename $$i .o`.M >> program.vista.tmpfile ; done @@\
|
||||
$(RM) program.M @@\
|
||||
$(MV) program.vista.tmpfile program.M @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) *.M
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
/* Rule for making shadow trees. */
|
||||
#ifndef MakeShadowTree
|
||||
#define MakeShadowTree(name,dirs) @@\
|
||||
all:: @@\
|
||||
@case '${MFLAGS}' in *[ik]*) set +e;; esac; @@\
|
||||
MakeDir(name) @@\
|
||||
@for i in dirs; \ @@\
|
||||
do if [ -d $$i/name ]; then \ @@\
|
||||
exit 0; else set -x; mkdir $$i/name; fi \ @@\
|
||||
done @@\
|
||||
@for i in dirs; \ @@\
|
||||
do if [ -r name/$$i ]; then \ @@\
|
||||
set +x; \ @@\
|
||||
else (set -x; $(LN) ../$$i/name name/$$i); fi \@@\
|
||||
done
|
||||
#endif
|
||||
|
||||
#ifdef BuildPlusPlus
|
||||
|
||||
/* Rules for C++ */
|
||||
|
||||
/*
|
||||
* "CPlusPlusObjectCompile" - compile fragment for a normal C++ object file
|
||||
*/
|
||||
#ifndef CPlusPlusObjectCompile
|
||||
#define CPlusPlusObjectCompile(options) $(RM) $@ @@\
|
||||
$(CXX) -c $(CXXFLAGS) options $*.cxx
|
||||
#endif
|
||||
|
||||
#ifndef CPlusPlusObjectRule
|
||||
#define CPlusPlusObjectRule() @@\
|
||||
.SUFFIXES: .cxx @@\
|
||||
@@\
|
||||
.cxx.o: @@\
|
||||
CPlusPlusObjectCompile($(_NOOP_))
|
||||
#endif /* CPlusPlusObjectRule */
|
||||
|
||||
#ifndef MCPlusPlusSimpleProgramTarget
|
||||
#define MCPlusPlusSimpleProgramTarget(program) @@\
|
||||
AllTarget(program) @@\
|
||||
@@\
|
||||
program: program.o $(DEPS) $(DEPLIBS) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CXXLINK) -o $@ program.o $(CXXLDOPTIONS) $(DEPS) $(LOCAL_LIBRARIES) $(CXXLIBS) $(LDLIBS) $(EXTRA_LOAD_FLAGS) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) program
|
||||
#endif
|
||||
|
||||
#ifndef MCPlusPlusComplexProgramTarget
|
||||
#define MCPlusPlusComplexProgramTarget(program,locallib,syslib) @@\
|
||||
PROGRAM = program @@\
|
||||
@@\
|
||||
AllTarget(program) @@\
|
||||
@@\
|
||||
program: $(OBJS) $(DEPLIBS) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
$(CXXLINK) -o $@ $(CXXLDOPTIONS) $(OBJS) locallib $(CXXLIBS) $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
|
||||
@@\
|
||||
CenterProgramTarget(program,$(SRCS),$(OBJS),locallib,syslib) @@\
|
||||
@@\
|
||||
InstallProgram(program,$(BINDIR)) @@\
|
||||
@@\
|
||||
install.man:: @@\
|
||||
@echo To install documentation for $(PROGRAM), consult the Release Notes @@\
|
||||
@echo and/or README file in the current directory. @@\
|
||||
DependTarget() @@\
|
||||
LintTarget() @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) $(PROGRAM)
|
||||
#endif
|
||||
|
||||
#endif /* BuildPlusPlus */
|
||||
|
||||
/* Rules for message catalog building */
|
||||
#ifndef Real_MessageCatalogRule
|
||||
#define Real_MessageCatalogRule(prefix) @@\
|
||||
prefix.cat Concat(prefix,MsgCatI.h): @@\
|
||||
$(RM) Concat(prefix,MsgCatI.h) prefix.cat $(MLOCSRC)/C/msg/prefix.msg @@\
|
||||
$(MKCATTOOL) Concat(prefix,MsgCatI.h) prefix.msg > $(MLOCSRC)/C/msg/prefix.msg @@\
|
||||
$(GENCAT) prefix.cat $(MLOCSRC)/C/msg/prefix.msg @@\
|
||||
@@\
|
||||
includes:: prefix.cat Concat(prefix,MsgCatI.h) @@\
|
||||
@@\
|
||||
depend:: prefix.cat Concat(prefix,MsgCatI.h) @@\
|
||||
@@\
|
||||
all:: prefix.cat @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) prefix.cat Concat(prefix,MsgCatI.h)
|
||||
#endif
|
||||
#define Stub_MessageCatalogRule(prefix) /**/
|
||||
|
||||
|
||||
/* The X BuildLibDir is now an import, not an export. */
|
||||
#if UseImports || ImportX11
|
||||
# ifndef XBuildLibDir
|
||||
# define XBuildLibDir $(TOP)/imports/x11/lib
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Search the Motif ProjectRoot too if it is different. */
|
||||
#ifdef MotifProjectRoot
|
||||
# define MUsrLibDirPath Concat($(MPROJECTROOT)/lib,:XUsrLibDirPath)
|
||||
#else
|
||||
# define MUsrLibDirPath XUsrLibDirPath
|
||||
#endif
|
||||
#ifdef UsrLibDirPath
|
||||
# undef UsrLibDirPath
|
||||
#endif
|
||||
#define UsrLibDirPath MUsrLibDirPath
|
||||
|
||||
#if ImportMotif
|
||||
# define MLdPreLibs -L$(MLIBSRC)
|
||||
#elif defined(UseInstalledMotif) && defined(MotifProjectRoot)
|
||||
# define MLdPreLibs -L$(MPROJECTROOT)/lib
|
||||
#else
|
||||
# define MLdPreLibs /**/
|
||||
#endif
|
||||
#ifdef LdPreLibs
|
||||
# undef LdPreLibs
|
||||
#endif
|
||||
#define LdPreLibs LdPreLib MLdPreLibs XLdPreLibs
|
||||
|
||||
#ifdef LdPostLibs
|
||||
# undef LdPostLibs
|
||||
#endif
|
||||
#ifdef MotifProjectRoot
|
||||
# define MLdPostLibs -L$(MPROJECTROOT)/lib
|
||||
#else
|
||||
# define MLdPostLibs /**/
|
||||
#endif
|
||||
#define LdPostLibs LdPostLib MLdPostLibs XLdPostLibs
|
||||
|
||||
#ifdef TopIncludes
|
||||
# undef TopIncludes
|
||||
#endif
|
||||
#define TopIncludes TopInclude $(TOP_MOTIF_INCLUDES) $(TOP_X_INCLUDES)
|
||||
|
||||
#if UseInstalledMotif && defined(MotifProjectRoot)
|
||||
# define MotifBuildLibPath $(MPROJECTROOT)/lib
|
||||
#elif UseInstalledMotif
|
||||
# define MotifBuildLibPath $(USRLIBDIR)
|
||||
#elif ImportMotif
|
||||
# define MotifBuildLibPath $(MLIBSRC)
|
||||
#else
|
||||
# define MotifBuildLibPath $(TOP)/exports/lib
|
||||
#endif
|
||||
#ifdef BuildLibPath
|
||||
# undef BuildLibPath
|
||||
#endif
|
||||
#ifdef SystemBuildLibPath
|
||||
# define BuildLibPath $(MOTIFENVLIBDIR):$(XENVLIBDIR):$(SYSTEMENVLIBDIR)
|
||||
#else
|
||||
# define BuildLibPath $(MOTIFENVLIBDIR):$(XENVLIBDIR)
|
||||
#endif
|
||||
|
||||
#ifndef MotifProjectDefines
|
||||
# define MotifProjectDefines MotifDefines MessageCatalogDefines
|
||||
#endif
|
||||
#ifdef ProjectDefines
|
||||
# undef ProjectDefines
|
||||
#endif
|
||||
#define ProjectDefines X11ProjectDefines MotifProjectDefines
|
||||
|
||||
#ifndef MotifCplusplusProjectDefines
|
||||
# define MotifCplusplusProjectDefines MotifProjectDefines
|
||||
#endif
|
||||
#ifdef CplusplusProjectDefines
|
||||
# undef CplusplusProjectDefines
|
||||
#endif
|
||||
#define CplusplusProjectDefines \
|
||||
X11CplusplusProjectDefines MotifCplusplusProjectDefines
|
|
@ -1,598 +0,0 @@
|
|||
/*
|
||||
* @OSF_COPYRIGHT@
|
||||
* COPYRIGHT NOTICE
|
||||
* Copyright (c) 1990, 1991, 1992, 1993, 1998 The Open Group, Inc.
|
||||
* ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for
|
||||
* the full copyright text.
|
||||
*
|
||||
* (c) Copyright 1996 Digital Equipment Corporation.
|
||||
* (c) Copyright 1996 Hewlett-Packard Company.
|
||||
* (c) Copyright 1996 International Business Machines Corp.
|
||||
* (c) Copyright 1996 Sun Microsystems, Inc.
|
||||
* (c) Copyright 1996 Novell, Inc.
|
||||
* (c) Copyright 1996 FUJITSU LIMITED.
|
||||
* (c) Copyright 1996 Hitachi.
|
||||
*/
|
||||
XCOMM $TOG: Motif.tmpl /main/6 1999/05/19 17:00:05 mgreess $
|
||||
|
||||
/* Include the X11 project template file. */
|
||||
#include <X11.tmpl>
|
||||
|
||||
#ifdef AUTOMATION
|
||||
# ifndef Automation
|
||||
# define Automation YES
|
||||
# endif
|
||||
#else
|
||||
# define NO_AUTOMATION
|
||||
#endif
|
||||
|
||||
#ifdef USE_VISTACC
|
||||
# ifndef UseVista
|
||||
# define UseVista
|
||||
# endif
|
||||
# ifndef CATCMD
|
||||
# define CATCMD cat
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef USE_PURIFY
|
||||
# ifndef UsePurify
|
||||
# define UsePurify
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG_GEOMETRY
|
||||
# ifndef DebugGeometry
|
||||
# define DebugGeometry YES
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef _MUse
|
||||
# if UseInstalledMotif
|
||||
# define _MUse(a,b) a
|
||||
# else
|
||||
# define _MUse(a,b) b
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef _MUseCat
|
||||
# if (__STDC__ && !defined(UnixCpp)) || defined(AnsiCpp) || defined(__llvm__)
|
||||
# if UseInstalledMotif
|
||||
# define _MUseCat(a,b,c) a##c
|
||||
# else
|
||||
# define _MUseCat(a,b,c) b##c
|
||||
# endif
|
||||
# else
|
||||
# if UseInstalledMotif
|
||||
# define _MUseCat(a,b,c) a/**/c
|
||||
# else
|
||||
# define _MUseCat(a,b,c) b/**/c
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef MTop
|
||||
# if ImportMotif || UseInstalledMotif
|
||||
# define MTop $(TOP)/imports/motif
|
||||
# else
|
||||
# define MTop $(TOP)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef BuildDocDir
|
||||
# define BuildDocDir $(BUILDINCROOT)/doc
|
||||
#endif
|
||||
#ifndef BuildLocDir
|
||||
# define BuildLocDir $(BUILDINCROOT)/localized
|
||||
#endif
|
||||
|
||||
#ifndef MotifDefines
|
||||
# define MotifDefines /**/
|
||||
#endif
|
||||
|
||||
#ifndef XmDefines
|
||||
# define XmDefines /**/
|
||||
#endif
|
||||
|
||||
#ifndef MwmDefines
|
||||
# define MwmDefines /**/
|
||||
#endif
|
||||
|
||||
#ifndef UilFlags
|
||||
# define UilFlags /**/
|
||||
#endif
|
||||
|
||||
#ifndef TestDefines
|
||||
# define TestDefines /**/
|
||||
#endif
|
||||
|
||||
#ifndef AutoDefines
|
||||
# if Automation
|
||||
# define AutoDefines -DAUTOMATION
|
||||
# else
|
||||
# define AutoDefines /**/
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef AutoIncludes
|
||||
# if Automation
|
||||
# define AutoIncludes -I$(AUTOSCRIPTSRC)
|
||||
# else
|
||||
# define AutoIncludes /**/
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef UsePurify
|
||||
# define PurifyFilesToClean *.pure_linkinfo *.pure_hardlink
|
||||
#else
|
||||
# define PurifyFilesToClean
|
||||
#endif
|
||||
#if Automation
|
||||
# define TestExtraFilesToClean *.Dat *.Scr PurifyFilesToClean
|
||||
#else
|
||||
# define TestExtraFilesToClean *.Dat PurifyFilesToClean
|
||||
#endif
|
||||
|
||||
#ifndef UsrIncDir
|
||||
# define UsrIncDir IncRoot
|
||||
#endif
|
||||
|
||||
/* Place to install .uid files */
|
||||
#ifndef UidDir
|
||||
# define UidDir $(LIBDIR)/uid
|
||||
#endif
|
||||
|
||||
#ifndef XmExtraLibraries
|
||||
# define XmExtraLibraries /**/
|
||||
#endif
|
||||
|
||||
#ifndef YaccFlags
|
||||
# define YaccFlags /**/
|
||||
#endif
|
||||
|
||||
#define MotifSharedRev 2.1
|
||||
|
||||
#ifndef BuildMotifConfig
|
||||
# define BuildMotifConfig YES
|
||||
#endif
|
||||
#ifndef BuildMotifDemos
|
||||
# define BuildMotifDemos YES
|
||||
#endif
|
||||
#ifndef BuildWMLTable
|
||||
# define BuildWMLTable YES
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibXm
|
||||
# define SharedLibXm HasSharedLibraries
|
||||
#endif
|
||||
#ifndef NormalLibXm
|
||||
# define NormalLibXm (!SharedLibXm | ForceNormalLib)
|
||||
#endif
|
||||
#ifndef DebugLibXm
|
||||
# define DebugLibXm NO
|
||||
#endif
|
||||
#ifndef ProfileLibXm
|
||||
# define ProfileLibXm NO
|
||||
#endif
|
||||
#ifndef SharedXmRev
|
||||
# define SharedXmRev MotifSharedRev
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibMrm
|
||||
# define SharedLibMrm HasSharedLibraries
|
||||
#endif
|
||||
#ifndef NormalLibMrm
|
||||
# define NormalLibMrm (!SharedLibMrm | ForceNormalLib)
|
||||
#endif
|
||||
#ifndef DebugLibMrm
|
||||
# define DebugLibMrm NO
|
||||
#endif
|
||||
#ifndef ProfileLibMrm
|
||||
# define ProfileLibMrm NO
|
||||
#endif
|
||||
#ifndef SharedMrmRev
|
||||
# define SharedMrmRev MotifSharedRev
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibUil
|
||||
# define SharedLibUil HasSharedLibraries
|
||||
#endif
|
||||
#ifndef NormalLibUil
|
||||
# define NormalLibUil (!SharedLibUil | ForceNormalLib)
|
||||
#endif
|
||||
#ifndef DebugLibUil
|
||||
# define DebugLibUil NO
|
||||
#endif
|
||||
#ifndef ProfileLibUil
|
||||
# define ProfileLibUil NO
|
||||
#endif
|
||||
#ifndef SharedUilRev
|
||||
# define SharedUilRev MotifSharedRev
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibACommon
|
||||
# define SharedLibACommon HasSharedLibraries
|
||||
#endif
|
||||
#ifndef NormalLibACommon
|
||||
# define NormalLibACommon (!SharedLibACommon | ForceNormalLib)
|
||||
#endif
|
||||
#ifndef DebugLibACommon
|
||||
# define DebugLibACommon NO
|
||||
#endif
|
||||
#ifndef ProfileLibACommon
|
||||
# define ProfileLibACommon NO
|
||||
#endif
|
||||
#ifndef SharedACommonRev
|
||||
# define SharedACommonRev MotifSharedRev
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibScript
|
||||
# define SharedLibScript HasSharedLibraries
|
||||
#endif
|
||||
#ifndef NormalLibScript
|
||||
# define NormalLibScript (!SharedLibScript | ForceNormalLib)
|
||||
#endif
|
||||
#ifndef DebugLibScript
|
||||
# define DebugLibScript NO
|
||||
#endif
|
||||
#ifndef ProfileLibScript
|
||||
# define ProfileLibScript NO
|
||||
#endif
|
||||
#ifndef SharedScriptRev
|
||||
# define SharedScriptRev MotifSharedRev
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibUtil
|
||||
# define SharedLibUtil HasSharedLibraries
|
||||
#endif
|
||||
#ifndef NormalLibUtil
|
||||
# define NormalLibUtil (!SharedLibUtil | ForceNormalLib)
|
||||
#endif
|
||||
#ifndef DebugLibUtil
|
||||
# define DebugLibUtil NO
|
||||
#endif
|
||||
#ifndef ProfileLibUtil
|
||||
# define ProfileLibUtil NO
|
||||
#endif
|
||||
#ifndef SharedUtilRev
|
||||
# define SharedUtilRev MotifSharedRev
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibCreate
|
||||
# define SharedLibCreate HasSharedLibraries
|
||||
#endif
|
||||
#ifndef NormalLibCreate
|
||||
# define NormalLibCreate (!SharedLibCreate | ForceNormalLib)
|
||||
#endif
|
||||
#ifndef DebugLibCreate
|
||||
# define DebugLibCreate NO
|
||||
#endif
|
||||
#ifndef ProfileLibCreate
|
||||
# define ProfileLibCreate NO
|
||||
#endif
|
||||
#ifndef SharedCreateRev
|
||||
# define SharedCreateRev MotifSharedRev
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibVisual
|
||||
# define SharedLibVisual HasSharedLibraries
|
||||
#endif
|
||||
#ifndef NormalLibVisual
|
||||
# define NormalLibVisual (!SharedLibVisual | ForceNormalLib)
|
||||
#endif
|
||||
#ifndef DebugLibVisual
|
||||
# define DebugLibVisual NO
|
||||
#endif
|
||||
#ifndef ProfileLibVisual
|
||||
# define ProfileLibVisual NO
|
||||
#endif
|
||||
#ifndef SharedVisualRev
|
||||
# define SharedVisualRev MotifSharedRev
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibSynth
|
||||
# define SharedLibSynth HasSharedLibraries
|
||||
#endif
|
||||
#ifndef NormalLibSynth
|
||||
# define NormalLibSynth (!SharedLibSynth | ForceNormalLib)
|
||||
#endif
|
||||
#ifndef DebugLibSynth
|
||||
# define DebugLibSynth NO
|
||||
#endif
|
||||
#ifndef ProfileLibSynth
|
||||
# define ProfileLibSynth NO
|
||||
#endif
|
||||
#ifndef SharedSynthRev
|
||||
# define SharedSynthRev MotifSharedRev
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibMCommon
|
||||
# define SharedLibMCommon HasSharedLibraries
|
||||
#endif
|
||||
#ifndef NormalLibMCommon
|
||||
# define NormalLibMCommon (!SharedLibMCommon | ForceNormalLib)
|
||||
#endif
|
||||
#ifndef DebugLibMCommon
|
||||
# define DebugLibMCommon NO
|
||||
#endif
|
||||
#ifndef ProfileLibMCommon
|
||||
# define ProfileLibMCommon NO
|
||||
#endif
|
||||
#ifndef SharedMCommonRev
|
||||
# define SharedMCommonRev MotifSharedRev
|
||||
#endif
|
||||
|
||||
#ifndef XmClientLibs
|
||||
# define XmClientLibs $(XMLIB) $(XTOOLLIB) $(XLIB) $(XMEXTRA_LIBS)
|
||||
#endif
|
||||
#ifndef XmClientDepLibs
|
||||
# define XmClientDepLibs $(DEPXMLIB) $(DEPXTOOLLIB) $(DEPXLIB)
|
||||
#endif
|
||||
|
||||
#ifndef MrmClientLibs
|
||||
# define MrmClientLibs $(MRESOURCELIB) $(XMLIB) $(XTOOLLIB) $(XLIB) $(XMEXTRA_LIBS)
|
||||
#endif
|
||||
#ifndef MrmClientDepLibs
|
||||
# define MrmClientDepLibs $(DEPMRESOURCELIB) $(DEPXMLIB) $(DEPXTOOLLIB) $(DEPXLIB)
|
||||
#endif
|
||||
|
||||
#ifndef UilClientLibs
|
||||
# define UilClientLibs $(UILLIB) $(MRESOURCELIB) $(XMLIB) $(XTOOLLIB) $(XLIB) $(XMEXTRA_LIBS)
|
||||
#endif
|
||||
#ifndef UilClientDepLibs
|
||||
# define UilClientDepLibs $(DEPUILLIB) $(DEPMRESOURCELIB) $(DEPXMLIB) $(DEPXTOOLLIB) $(DEPXLIB)
|
||||
#endif
|
||||
|
||||
#ifndef TestClientLibs
|
||||
# define TestClientLibs $(PURIFYLIBS) $(TESTCOMLIB) \
|
||||
$(AUTOSCRIPTLIB) $(AUTOUTILLIB) \
|
||||
$(AUTOCREATELIB) $(AUTOVISUALLIB) $(AUTOSYNTHLIB) \
|
||||
$(XMLIB) $(TESTGEOLIB) $(XTOOLLIB) $(XLIB) \
|
||||
$(AUTOEXTRALIBS) $(XMEXTRA_LIBS)
|
||||
#endif
|
||||
#ifndef TestUilClientLibs
|
||||
# define TestUilClientLibs $(PURIFYLIBS) $(TESTUILCOMLIB) $(TESTCOMLIB) \
|
||||
$(AUTOSCRIPTLIB) $(AUTOUTILLIB) \
|
||||
$(AUTOCREATELIB) $(AUTOVISUALLIB) $(AUTOSYNTHLIB) \
|
||||
$(UILLIB) $(MRESOURCELIB) $(XMLIB) $(TESTGEOLIB) \
|
||||
$(XTOOLLIB) $(XLIB) $(AUTOEXTRALIBS) $(XMEXTRA_LIBS)
|
||||
#endif
|
||||
#ifndef TestClientDepLibs
|
||||
# define TestClientDepLibs XmClientDepLibs
|
||||
#endif
|
||||
#ifndef TestUilClientDepLibs
|
||||
# define TestUilClientDepLibs UilClientDepLibs
|
||||
#endif
|
||||
|
||||
/* hardcoded default path. Contrary to the original duplicate of USRLIBDIR
|
||||
in the Imakefiles. */
|
||||
#ifndef VirtualBindingsPath
|
||||
# define VirtualBindingsPath /usr/lib/Xm/bindings
|
||||
#endif
|
||||
|
||||
MTOP = MTop
|
||||
TOP_MOTIF_INCLUDES = -I$(MINCLUDESRC)
|
||||
#if defined(UseInstalled) || (UseInstalledMotif && UseInstalledX11)
|
||||
UIL_INCLUDES = -I$(USRINCDIR)/uil
|
||||
#else
|
||||
UIL_INCLUDES = -I$(UILSRC)
|
||||
#endif
|
||||
#ifdef BuildLibPathVar
|
||||
MOTIFENVLIBDIR = MotifBuildLibPath
|
||||
#endif
|
||||
|
||||
/* Message catalog usage */
|
||||
#ifndef GencatCmd
|
||||
# define GencatCmd gencat
|
||||
#endif
|
||||
#ifndef GencatFlags
|
||||
# define GencatFlags /**/
|
||||
#endif
|
||||
#if defined(NoMessageCatalog)
|
||||
# define BuildMessageCatalog NO
|
||||
# define MessageCatalogDefines -DNO_MESSAGE_CATALOG
|
||||
#else
|
||||
# define BuildMessageCatalog YES
|
||||
# define MessageCatalogDefines /**/
|
||||
#endif
|
||||
#ifndef MessageCatalogRule
|
||||
# if BuildMessageCatalog
|
||||
# define MessageCatalogRule(prefix) Real_MessageCatalogRule(prefix)
|
||||
# else
|
||||
# define MessageCatalogRule(prefix) Stub_MessageCatalogRule(prefix)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
USRINCDIR = UsrIncDir
|
||||
UIDDIR = UidDir
|
||||
TESTSRC = $(MTOP)/tests
|
||||
TESTLIB = $(TESTSRC)/lib
|
||||
GENERALSRCLIB = $(TESTSRC)/General/lib
|
||||
GENERALSRCBIN = $(TESTSRC)/General/bin
|
||||
MANUALSRCLIB = $(TESTSRC)/Manual/lib
|
||||
MANUALSRCBIN = $(TESTSRC)/Manual/bin
|
||||
AUTOSRCLIB = $(TESTSRC)/Auto/lib
|
||||
AUTOSRCBIN = $(TESTSRC)/Auto/bin
|
||||
COMMONPP = $(GENERALSRCBIN)/Commonpp
|
||||
GENRUN = $(GENERALSRCBIN)/Genrun
|
||||
MANRUN = $(GENERALSRCBIN)/Manrun
|
||||
#ifdef DebugLib
|
||||
TESTMALLOCSRC = $(GENERALSRCLIB)/Malloc
|
||||
#endif
|
||||
#ifdef DebugGeometry
|
||||
TESTGEOSRC = $(TESTLIB)/Geometry
|
||||
#endif
|
||||
#ifdef Automation
|
||||
TESTCOMSRC = $(AUTOSRCLIB)/Common
|
||||
AUTOSCRIPTSRC = $(AUTOSRCLIB)/Script
|
||||
AUTOSYNTHSRC = $(AUTOSRCLIB)/Synth
|
||||
AUTOCREATESRC = $(AUTOSRCLIB)/Create
|
||||
AUTOVISUALSRC = $(AUTOSRCLIB)/Visual
|
||||
AUTOUTILSRC = $(AUTOSRCLIB)/Util
|
||||
AUTOEXTRALIBS = -ll -ly -lm
|
||||
#else
|
||||
TESTCOMSRC = $(MANUALSRCLIB)/Common
|
||||
#endif
|
||||
|
||||
BUILDDOCDIR = BuildDocDir
|
||||
BUILDLOCDIR = BuildLocDir
|
||||
|
||||
/* MTOOLKITSRC should be removed */
|
||||
MTOOLKITSRC = $(TOOLKITSRC)
|
||||
#if ImportMotif || UseInstalledMotif
|
||||
MDOCSRC = $(MTOP)/doc
|
||||
MLOCSRC = $(MTOP)/localized
|
||||
#else
|
||||
MLOCSRC = $(MTOP)/exports/localized
|
||||
#endif
|
||||
#if defined(TopMotifInclude)
|
||||
MINCLUDESRC = TopMotifInclude
|
||||
#elif ImportMotif || UseInstalledMotif
|
||||
MINCLUDESRC = $(MTOP)/include
|
||||
#else
|
||||
MINCLUDESRC = $(MTOP)/exports/include
|
||||
#endif
|
||||
MLIBSRC = $(MTOP)/lib
|
||||
MCLIENTSRC = $(MTOP)/clients
|
||||
MDEMOSRC = $(MTOP)/demos
|
||||
MWIDGETSRC = $(MLIBSRC)/Xm
|
||||
MRESOURCESRC = $(MLIBSRC)/Mrm
|
||||
UILSRC = $(MCLIENTSRC)/uil
|
||||
#ifdef MotifProjectRoot
|
||||
MPROJECTROOT = MotifProjectRoot
|
||||
#endif
|
||||
|
||||
UIL = _MUse(uil,$(UILSRC)/uil)
|
||||
DEPUIL = _MUseCat($(BINDIR),$(UILSRC),/uil)
|
||||
|
||||
XMEXTRA_LIBS = XmExtraLibraries
|
||||
|
||||
/* These libraries use UseInstalledMotif instead of UseInstalled. */
|
||||
#undef _Use
|
||||
#undef _UseCat
|
||||
#define _Use _MUse
|
||||
#define _UseCat _MUseCat
|
||||
|
||||
#ifndef MBuildLibDir
|
||||
# define MBuildLibDir BuildLibDir
|
||||
#endif
|
||||
|
||||
#if SharedLibXm
|
||||
SharedLibReferences(XM,Xm,$(MWIDGETSRC),SOXMREV,SharedXmRev)
|
||||
#else
|
||||
ProjectUnsharedLibReferences(XM,Xm,$(MWIDGETSRC),MBuildLibDir)
|
||||
#endif
|
||||
|
||||
#if SharedLibMrm
|
||||
SharedLibReferences(MRESOURCE,Mrm,$(MRESOURCESRC),SOMRMREV,SharedMrmRev)
|
||||
#else
|
||||
ProjectUnsharedLibReferences(MRESOURCE,Mrm,$(MRESOURCESRC),MBuildLibDir)
|
||||
#endif
|
||||
|
||||
#if SharedLibUil
|
||||
SharedLibReferences(UIL,Uil,$(UILSRC),SOUILREV,SharedUilRev)
|
||||
#else
|
||||
ProjectUnsharedLibReferences(UIL,Uil,$(UILSRC),MBuildLibDir)
|
||||
#endif
|
||||
|
||||
#ifdef DebugGeometry
|
||||
ProjectUnsharedLibReferences(TESTGEO,XtGeo,$(TESTGEOSRC),MBuildLibDir)
|
||||
#endif
|
||||
|
||||
#if Automation
|
||||
|
||||
# if SharedLibACommon
|
||||
SharedLibReferences(TESTCOM,ACommon,$(TESTCOMSRC),SOACOMMONREV,SharedACommonRev)
|
||||
# else
|
||||
ProjectUnsharedLibReferences(TESTCOM,ACommon,$(TESTCOMSRC),MBuildLibDir)
|
||||
# endif
|
||||
|
||||
TESTUILCOMLIB = $(TESTCOMSRC)/libACommonUil.a
|
||||
|
||||
# if SharedLibScript
|
||||
SharedLibReferences(AUTOSCRIPT,Script,$(AUTOSCRIPTSRC),SOSCRIPTREV,SharedScriptRev)
|
||||
# else
|
||||
ProjectUnsharedLibReferences(AUTOSCRIPT,Script,$(AUTOSCRIPTSRC),MBuildLibDir)
|
||||
# endif
|
||||
|
||||
# if SharedLibSynth
|
||||
SharedLibReferences(AUTOSYNTH,Synth,$(AUTOSYNTHSRC),SOSYNTHREV,SharedSynthRev)
|
||||
# else
|
||||
ProjectUnsharedLibReferences(AUTOSYNTH,Synth,$(AUTOSYNTHSRC),MBuildLibDir)
|
||||
# endif
|
||||
|
||||
# if SharedLibCreate
|
||||
SharedLibReferences(AUTOCREATE,Create,$(AUTOCREATESRC),SOCREATEREV,SharedCreateRev)
|
||||
# else
|
||||
ProjectUnsharedLibReferences(AUTOCREATE,Create,$(AUTOCREATESRC),MBuildLibDir)
|
||||
# endif
|
||||
|
||||
# if SharedLibVisual
|
||||
SharedLibReferences(AUTOVISUAL,Visual,$(AUTOVISUALSRC),SOVISUALREV,SharedVisualRev)
|
||||
# else
|
||||
ProjectUnsharedLibReferences(AUTOVISUAL,Visual,$(AUTOVISUALSRC),MBuildLibDir)
|
||||
# endif
|
||||
|
||||
# if SharedLibUtil
|
||||
SharedLibReferences(AUTOUTIL,Util,$(AUTOUTILSRC),SOUTILREV,SharedUtilRev)
|
||||
# else
|
||||
ProjectUnsharedLibReferences(AUTOUTIL,Util,$(AUTOUTILSRC),MBuildLibDir)
|
||||
# endif
|
||||
|
||||
#else /* Manual */
|
||||
|
||||
# if SharedLibMCommon
|
||||
SharedLibReferences(TESTCOM,MCommon,$(TESTCOMSRC),SOMCOMMONREV,SharedMCommonRev)
|
||||
# else
|
||||
ProjectUnsharedLibReferences(TESTCOM,MCommon,$(TESTCOMSRC),MBuildLibDir)
|
||||
# endif
|
||||
TESTUILCOMLIB = $(TESTCOMSRC)/libMCommonUil.a
|
||||
|
||||
#endif /* Automation */
|
||||
|
||||
|
||||
/* Revert to the normal library rules. */
|
||||
#undef _Use
|
||||
#undef _UseCat
|
||||
#define _Use _XUse
|
||||
#define _UseCat _XUseCat
|
||||
|
||||
|
||||
#ifdef UsePurify
|
||||
PURIFYLIBS = $(PURIFYHOME)/purify_stubs.a
|
||||
#endif
|
||||
LINTMRESOURCE = $(MRESOURCESRC)/libMrm.a
|
||||
LINTXMWIDGETLIB = $(MWIDGETSRC)/llib-l/Xm.ln
|
||||
LINTXMTOOL = $(MTOOLKITSRC)/llib-lXt.ln
|
||||
LINTUILLIB = $(UILSRC)/llib-lUil.ln
|
||||
|
||||
YACCFLAGS = YaccFlags
|
||||
UILFLAGS = UilFlags
|
||||
GENCATFLAGS = GencatFlags
|
||||
GENCAT = GencatCmd $(GENCATFLAGS)
|
||||
MKCATTOOL = $(TOP)/programs/localized/util/mkcatdefs
|
||||
|
||||
RM_CMD = $(RM) FilesToClean ExtraFilesToClean TestExtraFilesToClean
|
||||
|
||||
#if NeedDefaultDepLibs
|
||||
# if HasSharedLibraries || defined(UseInstalled)
|
||||
DEPLIBS = $(DEPXMLIB) $(DEPXTOOLLIB) $(DEPXLIB)
|
||||
# else
|
||||
DEPLIBS = $(LOCAL_LIBRARIES)
|
||||
# endif
|
||||
DEPLIBS1 = $(DEPLIBS)
|
||||
DEPLIBS2 = $(DEPLIBS)
|
||||
DEPLIBS3 = $(DEPLIBS)
|
||||
#endif /* NeedDefaultDepLibs */
|
||||
|
||||
/* check for existence of Dtinfo Motif Documents */
|
||||
#if defined(LinuxArchitecture)
|
||||
MOTIF_DOC = $(shell if test -f $(MDOCSRC)/C/guides/bookcase.bc; then echo -D_MOTIFDOC_; fi)
|
||||
#elif defined(SunArchitecture)
|
||||
MOTIF_DOC :sh = if test -f ../imports/motif/doc/C/guides/bookcase.bc; then echo -D_MOTIFDOC_; else echo; fi
|
||||
#elif defined(BSDArchitecture)
|
||||
MOTIF_DOC != if test -f $(MDOCSRC)/C/guides/bookcase.bc; then echo -D_MOTIFDOC_; else echo; fi
|
||||
#else
|
||||
MOTIF_DOC = -D_MOTIFDOC_
|
||||
#endif
|
|
@ -1,327 +0,0 @@
|
|||
XCOMM platform: $XConsortium: NetBSD.cf /main/16 1996/10/31 14:47:14 kaleb $
|
||||
|
||||
|
||||
|
||||
XCOMM platform: $XFree86: xc/config/cf/NetBSD.cf,v 3.44 1996/10/23 13:07:55 dawes Exp $
|
||||
|
||||
#ifndef OSName
|
||||
#define OSName DefaultOSName
|
||||
#endif
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion DefaultOSMajorVersion
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion DefaultOSMinorVersion
|
||||
#endif
|
||||
/* 1 = A, 2 = B, 3 = C */
|
||||
#ifndef OSTeenyVersion
|
||||
#define OSTeenyVersion DefaultOSTeenyVersion
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef OSVendor
|
||||
#define OSVendor /**/
|
||||
#endif
|
||||
XCOMM operating system: OSName
|
||||
|
||||
#define LibDir /usr/X11R7/lib/X11
|
||||
#define UsrLibDir /usr/X11R7/lib
|
||||
#define ManDirectoryRoot /usr/X11R7/man
|
||||
#define FontDir /usr/X11R7/lib/X11/fonts
|
||||
#define FontEncDir /usr/X11R7/lib/X11/fonts/encodings
|
||||
|
||||
/*
|
||||
* C library features
|
||||
*/
|
||||
#if defined(NetBSDArchitecture) && (OsMajorVersion == 1 && OsMinorVersion >= 2)
|
||||
# define HasPoll YES
|
||||
#endif
|
||||
#define HasNdbm YES
|
||||
#define HasPutenv YES
|
||||
#define HasSnprintf YES
|
||||
#define HasBSD44Sockets YES
|
||||
#define Malloc0ReturnsNull NO
|
||||
#define SetTtyGroup YES
|
||||
#define DBMLibrary /**/
|
||||
#ifndef HasLibCrypt
|
||||
# define HasLibCrypt YES
|
||||
#endif
|
||||
#ifndef HasShm
|
||||
# if OSMajorVersion == 0 && OSMinorVersion == 9 && OSTeenyVersion == 2
|
||||
/*
|
||||
* Shm memory was removed in 0.9B because it was encumbered.
|
||||
* A free version was added in 0.9C
|
||||
*/
|
||||
# define HasShm NO
|
||||
# else
|
||||
# define HasShm YES
|
||||
# endif
|
||||
#endif
|
||||
#define HasWChar32 YES
|
||||
/*
|
||||
* There's a bug in NetBSD 1.0, 1.1 and 1.2 dlsym()
|
||||
*/
|
||||
#if OSMajorVersion == 1 && OSMinorVersion <= 2
|
||||
# define HasDlsymBug YES
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Compiler Features
|
||||
*/
|
||||
#undef HasGcc
|
||||
#define HasGcc YES
|
||||
#define HasGcc2 YES
|
||||
#ifndef HasGcc2ForCplusplus
|
||||
#define HasGcc2ForCplusplus YES
|
||||
#endif
|
||||
#define GccUsesGas YES
|
||||
#define UseGas YES
|
||||
#define GnuCpp YES
|
||||
|
||||
#define NeedConstPrototypes YES
|
||||
#define NeedFunctionPrototypes YES
|
||||
#define NeedNestedPrototypes YES
|
||||
#define NeedVarargsPrototypes YES
|
||||
#define NeedWidePrototypes NO
|
||||
|
||||
#define MkdirHierCmd mkdir -p
|
||||
|
||||
#define PerlCmd /usr/pkg/bin/perl
|
||||
|
||||
#define CppCmd /usr/bin/cpp
|
||||
#define StandardCppDefines -traditional
|
||||
#define PreProcessCmd CppCmd
|
||||
#define PreIncDir /usr/include
|
||||
|
||||
#undef CcCmd
|
||||
#define CcCmd gcc
|
||||
#if UseInstalled
|
||||
#define DefaultCCOptions /**/
|
||||
#else
|
||||
#define DefaultCCOptions -pipe
|
||||
#endif
|
||||
|
||||
#define CplusplusLibC -lm -lstdc++
|
||||
|
||||
#define GccGasOption -DGCCUSESGAS
|
||||
#define AsmDefines -DUSE_GAS
|
||||
|
||||
#ifdef i386Architecture
|
||||
# ifndef OptimizedCDebugFlags
|
||||
# define OptimizedCDebugFlags -O2 -fno-strict-aliasing
|
||||
# endif
|
||||
# if OSMajorVersion < 1
|
||||
# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DXNO_SYSCONF
|
||||
# else
|
||||
# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
|
||||
# endif
|
||||
# if OSMajorVersion == 1 && OSMinorVersion >= 1 || OSMajorVersion >= 2
|
||||
# define ServerExtraSysLibs -li386
|
||||
# endif
|
||||
#else
|
||||
# ifndef OptimizedCDebugFlags
|
||||
# define OptimizedCDebugFlags -O2 -fno-strict-aliasing
|
||||
# endif
|
||||
# if defined(SparcArchitecture)
|
||||
# define ServerOSDefines -DDDXOSINIT
|
||||
# else
|
||||
# define ServerOSDefines /**/
|
||||
# endif
|
||||
#endif
|
||||
#ifdef i386Architecture
|
||||
# define ServerExtraDefines GccGasOption XFree86ServerDefines
|
||||
# ifndef XFree86ConsoleDefines
|
||||
# define XFree86ConsoleDefines -DPCCONS_SUPPORT -DPCVT_SUPPORT
|
||||
# endif
|
||||
#else
|
||||
# define ServerExtraDefines GccGasOption
|
||||
#endif
|
||||
|
||||
#define StandardDefines -DCSRG_BASED
|
||||
#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
|
||||
|
||||
#if OSMajorVersion > 0
|
||||
# ifndef BuildDynamicLoading
|
||||
# define BuildDynamicLoading YES
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef ExtraLibraries
|
||||
#define ExtraLibraries /**/
|
||||
#endif
|
||||
#ifndef UseGnuMalloc
|
||||
# define UseGnuMalloc YES
|
||||
#endif
|
||||
#ifndef GnuMallocLibrary
|
||||
#define GnuMallocLibrary -lgnumalloc
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Make & install Features
|
||||
*/
|
||||
|
||||
#define HasMakefileSafeInclude YES
|
||||
#define IncludeMakefile(file) @@# dependencies are in .depend
|
||||
#define DependFileName .depend
|
||||
#define AvoidNullMakeCommand YES
|
||||
#define StripInstalledPrograms YES
|
||||
#define CompressAllFonts YES
|
||||
#define DefaultUserPath .:/bin:/usr/bin:/usr/local/bin:$(BINDIR)
|
||||
#define DefaultSystemPath /sbin:/usr/sbin:/bin:/usr/bin:$(BINDIR)
|
||||
#define BuildLibPathVar LD_LIBRARY_PATH
|
||||
|
||||
#ifdef InstallCmd
|
||||
# undef InstallCmd
|
||||
# define InstallCmd /usr/bin/install
|
||||
#endif
|
||||
|
||||
#ifndef ExtraFilesToClean
|
||||
# define ExtraFilesToClean *.core
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Documentation formatting
|
||||
*/
|
||||
#define NeqnCmd neqn -Tlatin1
|
||||
#define EqnCmd eqn -Tps
|
||||
#define TroffCmd groff -Tps
|
||||
#define M4Cmd /usr/bin/m4
|
||||
|
||||
/*
|
||||
* To use the NetBSD Aperture driver
|
||||
*/
|
||||
#if defined(i386Architecture)
|
||||
#ifndef HasNetBSDApertureDrv
|
||||
#define HasNetBSDApertureDrv NO
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define MakeHasPosixVariableSubstitutions YES
|
||||
|
||||
/*
|
||||
* ForceSubdirs - force make to build subdirectories
|
||||
*
|
||||
* For BSD 4.4 make
|
||||
*/
|
||||
#define ForceSubdirs(dirs) @@\
|
||||
dirs: .EXEC @@\
|
||||
@cd $@ ; echo "making all in $(CURRENT_DIR)/$@..."; \ @@\
|
||||
$(MAKE) $(MFLAGS) PassCDebugFlags all @@\
|
||||
@@\
|
||||
.EXEC:
|
||||
|
||||
|
||||
#include <bsdLib.rules>
|
||||
|
||||
#ifdef i386Architecture
|
||||
# include <xfree86.cf>
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Definitions for the SUN server on NetBSD/sparc
|
||||
*/
|
||||
#ifdef SparcArchitecture
|
||||
#ifndef Xsun24Server
|
||||
#define Xsun24Server NO
|
||||
#endif
|
||||
#ifndef XsunServer
|
||||
#define XsunServer YES
|
||||
#endif
|
||||
#ifndef XsunMonoServer
|
||||
#define XsunMonoServer YES
|
||||
#endif
|
||||
#ifndef BuildScreenSaverLibrary
|
||||
#define BuildScreenSaverLibrary YES
|
||||
#endif
|
||||
/*
|
||||
* XFree86 uses its own (more portable) database routines to speed up
|
||||
* the RGB database lookups
|
||||
* However, if you want to use ndbm anyway, you can set that to NO in
|
||||
* site.def
|
||||
*/
|
||||
#ifndef UseRgbTxt
|
||||
#define UseRgbTxt YES
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Definition for compiling on MIPS machines
|
||||
*/
|
||||
#ifdef MipsArchitecture
|
||||
#define PositionIndependentCFlags
|
||||
#define SharedLibraryLoadFlags -x -shared --whole-archive -soname `echo $@ |
|
||||
sed 's/\.[0-9]*$$//'`
|
||||
#define SharedXtReqs $(XLIBONLY) $(SMLIB) $(ICELIB)
|
||||
#define SharedXmuReqs $(LDPRELIB) $(XTOOLONLYLIB) $(XONLYLIB) $(EXTENSIONLIB)
|
||||
#endif
|
||||
|
||||
|
||||
/* For DtHelp TIFF processing routines. */
|
||||
#ifdef AMD64Architecture
|
||||
#define LSBBitOrder YES
|
||||
#endif
|
||||
|
||||
#ifdef ARMArchitecture
|
||||
#define LSBBitOrder YES
|
||||
#endif
|
||||
|
||||
#ifdef i386Architecture
|
||||
#define LSBBitOrder YES
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Generic settings for all architectures
|
||||
* which can be overridden by architecture specific sections above
|
||||
*/
|
||||
|
||||
#ifdef HasGcc2
|
||||
CXXDEPENDINCLUDE != CppCmd -x c++ -Wp,-v < /dev/null \
|
||||
2>&1 | sed -n 's/ \(.*[cg]++.*\)/-I\1/p'
|
||||
#define CplusplusDependIncludes $(CXXDEPENDINCLUDE)
|
||||
#endif
|
||||
|
||||
#ifndef StandardIncludes
|
||||
# define StandardIncludes -I/usr/pkg/include -I/usr/local/include
|
||||
#endif
|
||||
|
||||
#ifndef MTop
|
||||
#define MTop $(TOP)/imports/motif
|
||||
#endif
|
||||
|
||||
#ifndef TopMotifInclude
|
||||
# define TopMotifInclude /usr/pkg/include
|
||||
#endif
|
||||
|
||||
#ifndef ExtraLoadFlags
|
||||
# define ExtraLoadFlags -Wl,-rpath,$(USRLIBDIRPATH):$(CDE_INSTALLATION_TOP)/lib
|
||||
#endif
|
||||
|
||||
#ifndef SharedTtReqs
|
||||
# define SharedTtReqs $(LDPRELIBS) SharedXReqs $(CXXLIB) -Wl,-rpath,$(USRLIBDIRPATH)
|
||||
#endif
|
||||
|
||||
#ifndef SharedDtSvcReqs
|
||||
# define SharedDtSvcReqs $(LDPRELIBS) SharedXReqs $(CXXLIB) -Wl,-rpath,$(USRLIBDIRPATH)
|
||||
#endif
|
||||
|
||||
#ifndef SharedDtHelpReqs
|
||||
# define SharedDtHelpReqs $(LDPRELIBS) $(ICONVSYSLIB) SharedXReqs -Wl,-rpath,$(USRLIBDIRPATH)
|
||||
#endif
|
||||
|
||||
#ifndef SharedCsaReqs
|
||||
# define SharedCsaReqs -lXt $(LDPOSTLIBS) -Wl,-rpath,$(USRLIBDIRPATH)
|
||||
#endif
|
||||
|
||||
#ifndef KornShell
|
||||
#define KornShell /usr/pkg/bin/ksh93
|
||||
#endif
|
||||
|
||||
#if !defined(HasPamLibrary)
|
||||
XCOMM need to install pam-pwauth_suid package for this to work
|
||||
#define HasPamLibrary YES
|
||||
#endif
|
||||
|
||||
#if !defined(PamAuthenticationModule)
|
||||
#define PamAuthenticationModule /usr/pkg/lib/security/pam_pwauth_suid.so
|
||||
#endif
|
|
@ -1,30 +0,0 @@
|
|||
XCOMM platform: $XConsortium: Oki.cf /main/16 1996/09/28 16:06:53 rws $
|
||||
|
||||
#ifndef OSName
|
||||
#define OSName Unix System V/860 Release 4.0 Version 3
|
||||
#endif
|
||||
XCOMM operating system: OSName
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion 4
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion 0
|
||||
#endif
|
||||
#ifndef OSTeenyVersion
|
||||
#define OSTeenyVersion 3
|
||||
#endif
|
||||
|
||||
#define BootstrapCFlags -DOki
|
||||
#define SystemV4 YES
|
||||
#define HasLdRunPath YES
|
||||
#define ConnectionFlags -DTCPCONN -DUNIXCONN -DLOCALCONN
|
||||
#define SetTtyGroup YES
|
||||
#define HasPutenv YES
|
||||
#define HasPoll YES
|
||||
#define PatheticCpp YES
|
||||
#define CcCmd /usr/bin/cc
|
||||
#define StandardDefines -DSVR4 -Di860
|
||||
#define DefaultCCOptions -Xa
|
||||
#define BuildServer NO
|
||||
#define ToolkitStringsABIOptions -intelabi
|
||||
#include <sv4Lib.rules>
|
File diff suppressed because it is too large
Load diff
|
@ -1,685 +0,0 @@
|
|||
$TOG: README /main/76 1998/05/11 14:35:10 barstow $
|
||||
|
||||
The easiest way to write an Imakefile is to find another one that does
|
||||
something similar and copy/modify it!
|
||||
|
||||
To change any of these variables, edit the site.def file.
|
||||
|
||||
Imake.tmpl provides defaults for the following variables:
|
||||
|
||||
AlternateIncRoot compiler needs -I to find project includes
|
||||
AlternateUsrLibDir linker needs -L to find project libraries
|
||||
ArCmd command used to create libraries
|
||||
ArCmdBase program name part of ArCmd
|
||||
ArAddCmd flags to have ArCmdBase add files to a library
|
||||
ArExtCmd flags to have ArCmdBase extract files
|
||||
AsCmd command used to run assembler
|
||||
BootstrapCFlags missing cpp symbols needed to get started
|
||||
BourneShell command used to run Bourne Shell
|
||||
CCsuf suffix that C++ source files have
|
||||
CURDIR current directory relative to top of sources
|
||||
CcCmd command to run C compiler
|
||||
CompressCmd command to run compress program
|
||||
GzipCmd command to run gzip program
|
||||
ConstructMFLAGS System V option to set MFLAGS make variable
|
||||
CpCmd command to copy one file to another
|
||||
CplusplusCmd command to run C++ compiler
|
||||
CplusplusDependIncludes additional -I's for makedepend
|
||||
CplusplusFilt command to run C++ name demangler
|
||||
CplusplusYaccCmd command to produce C++ source from yacc source
|
||||
CppCmd command to run C preprocessor
|
||||
CrossCompiling cross compiling? (not fully supported)
|
||||
DebuggableCDebugFlags C compiler -I's and -D's to turn on debug info
|
||||
DefaultCCOptions default special C compiler options
|
||||
DefaultCDebugFlags debug/optimize flags for programs
|
||||
DefaultUsrBin program directory used even if PATH not set
|
||||
DependFlags extra makedepend flags
|
||||
DependDefines additional -D's for makedepend
|
||||
DoRanlibCmd boolean for system uses ranlib
|
||||
EqnCmd command used for eqn
|
||||
ExecableScripts boolean for systems that can exec() #!/bin/sh
|
||||
ExpandManNames boolean to expand man pages names to long form
|
||||
ExtraFilesToClean extra files to remove on make clean
|
||||
ExtraLibraries system-specific libraries need to link
|
||||
ExtraLoadFlags system-specific loader flags
|
||||
FileManSuffix man suffix for file format pages
|
||||
FilesToClean files to delete in make clean
|
||||
FortranCmd command to run Fortran compiler
|
||||
FortranDebugFlags flags for Fortran debug info
|
||||
FortranFlags Fortran compiler flags
|
||||
HasBSD44Sockets boolean for system has BSD4.4 sockets
|
||||
HasBsearch boolean for libc has bsearch()
|
||||
HasBrokenCCForLink boolean for brain damaged cc driver
|
||||
HasCenterLineC boolean for system has CenterLine C compiler
|
||||
HasCenterLineCplusplus boolean for system has CenterLine C++ compiler
|
||||
HasClearmake use Clearcase's clearmake make program?
|
||||
HasCodeCenter boolean for system has CodeCenter
|
||||
HasCplusplus system has a C++ compiler?
|
||||
HasDECnet system has DECnet?
|
||||
HasFortran boolean for system has Fortran compiler
|
||||
HasGcc boolean for system has GNU gcc compiler
|
||||
HasGcc2 boolean for system has GNU gcc 2.x compiler
|
||||
HasGcc2ForCplusplus use gcc 2 for C++ programs?
|
||||
HasKrb5 system has Kerberos version 5 support?
|
||||
HasLargeTmp boolean for system has /tmp space
|
||||
HasLatex system has LaTeX document preparation software
|
||||
HasLibCrypt boolean for system has libcrypt
|
||||
HasNdbm boolean for system has ndbm routines
|
||||
HasPoll use poll() syscall?
|
||||
HasPurify boolean for system has Purify
|
||||
HasPutenv boolean for libc has putenv()
|
||||
HasSecureRPC boolean for Sun Secure RPC
|
||||
HasSetUserContext boolean for setusercontext()
|
||||
HasSentinel boolean for system has Sentinel available
|
||||
HasSharedLibraries boolean for system has shared libraries
|
||||
HasShm boolean for System V shared memory
|
||||
HasSockets boolean for system has BSD sockets
|
||||
HasStrcasecmp boolean for system implements str[n]casecmp
|
||||
HasStreams use STREAMS I/O interface?
|
||||
HasSymLinks boolean for system has symbolic links
|
||||
HasTestCenter boolean for system has TestCenter
|
||||
HasVarDirectory boolean for system has /var
|
||||
HasVFork boolean for system has vfork()
|
||||
HasVoidSignalReturn boolean for POSIX signal() procs
|
||||
HasZlib boolean for system has libz
|
||||
IncRoot parent of X11 include directory
|
||||
InstBinFlags install flags for binaries
|
||||
InstDatFlags install flags for data files
|
||||
InstIncFlags install flags for header files
|
||||
InstKmemFlags install flags for xload to get at /dev/kmem
|
||||
InstLibFlags install flags for libraries
|
||||
InstManFlags install flags for manual pages
|
||||
InstPgmFlags install flags for normal programs
|
||||
InstUidFlags install flags for xterm to chown /dev/ptys
|
||||
InstallCmd command to install files
|
||||
KornShell command used to run Korn Shell
|
||||
Krb5Includes where to include Kerberos header files from
|
||||
Krb5Libraries where to load Kerberos libraries from
|
||||
LdCmd command to run loader
|
||||
LdCombineFlags flags for incremental loading
|
||||
LexCmd command to run lex
|
||||
LexLib library for programs using lex output
|
||||
LintCmd command to run lint
|
||||
LintLibFlag flags to generate lint libraries
|
||||
LintOpts lint options to control strictness
|
||||
LnCmd command to link two files
|
||||
LoaderLibPrefix loader flags before libraries
|
||||
LocalRulesFile site-specific file with additional imake rules
|
||||
LocalTmplFile file with additional imake variables
|
||||
MacroFile name of machine-dependent config params file
|
||||
MacroIncludeFile <MacroFile>
|
||||
MakeCmd command to run make
|
||||
Malloc0ReturnsNull boolean for malloc(0) == NULL
|
||||
Malloc0ReturnsNullDefines -D's to build libX11/libXt
|
||||
MathLibrary library for programs using C math functions
|
||||
MsMacros macro flag for TroffCmd, normally "-ms"
|
||||
MvCmd command to rename a file
|
||||
NdbmDefines -D's to turn on use of ndbm routines
|
||||
NeedConstPrototoypes whether const is supported
|
||||
NeedFunctionPrototypes whether or not to force function prototypes
|
||||
NeedNestedPrototypes whether nested prototypes are supported
|
||||
NeedVarargsPrototypes whether varargs prototypes are supported
|
||||
NeedWidePrototypes whether or not to widen function prototypes
|
||||
NoOpCDebugFlags C compiler flags to not debug or optimize
|
||||
NoRConst YES if const for structs of funcs is bad
|
||||
OSMajorVersion major version number of operating system
|
||||
OSMinorVersion minor version number of operating system
|
||||
OptimizedCDebugFlags C compiler flags to turn on optimization
|
||||
XtPopdownConformance XtPopdown conformans to the specification
|
||||
PreProcessCmd command to run /lib/cpp on scripts
|
||||
RanlibCmd command to clean up libraries
|
||||
RanlibInstFlags flags to ranlib after copying
|
||||
ResourceConfigurationManagement boolean for Xt's Resource Configuration
|
||||
Management
|
||||
RmCmd command to delete files
|
||||
ShLibDir directory in which to install shared libraries
|
||||
StandardCppDefines -D's for running cpp
|
||||
StandardDefines -D's for running C compiler
|
||||
StandardIncludes -I's for running C compiler
|
||||
StripInstalledPrograms boolean for sites that want to install -s
|
||||
SystemV boolean for systems that are at least SVR2
|
||||
SystemV4 boolean for SVR4 systems
|
||||
TOPDIR relative path to top of sources
|
||||
TagsCmd command to run tags
|
||||
TblCmd command to run tbl
|
||||
TroffCmd command to run troff to get PostScript
|
||||
UNCOMPRESSPATH command to run uncompress
|
||||
UnalignedReferencesAllowed boolean for unaligned copies ok
|
||||
UsrLibDir directory in which to install libraries
|
||||
YaccCmd command to run yacc
|
||||
|
||||
X11.tmpl provides defaults for the following variables:
|
||||
|
||||
AdmDir directory containing system log files
|
||||
AllocateLocalDefines -D's to turn on alloca() (should be in Imake.tmpl)
|
||||
BDFTOSNFFILT command to run bdftosnf
|
||||
BaseExtensionDefines universal extensions to use
|
||||
BinDir directory in which to install programs
|
||||
BuildAppgroup build AppGroup extension in server
|
||||
BuildCup build Colormap Utilization extension in server
|
||||
BuildDBE build DOUBLE-BUFFER extension
|
||||
BuildDIS build Document Imaging Subset of XIE
|
||||
BuildDPMS build Display Power Management Signaling extension
|
||||
BuildFontServer build font server
|
||||
BuildFonts build pcf fonts
|
||||
BuildIncRoot relative path to location of headers in build
|
||||
BuildIncTop path from build includes directory to top
|
||||
BuildEVI build EVI server extension
|
||||
BuildLBX build LBX (aka X.fast) server extension
|
||||
BuildMultibuffer build Multibuffer extension (obsolete)
|
||||
BuildPlugin build xrx plug-in for web browsers
|
||||
BuildRECORD Build RECORD extension
|
||||
BuildPexExt build PEX server extension and fonts
|
||||
BuildPhigs build Phigs (obsolete)
|
||||
BuildServer build X server
|
||||
BuildXAudio build Audio
|
||||
BuildXAServer build Audio server
|
||||
BuildXCSecurity Build Security Extension
|
||||
BuildXIE build X Image Extension
|
||||
BuildXInputExt build X Input extension (requires ddx support,
|
||||
which exists only in Xhp and XFree86)
|
||||
BuildXInputLib build X Input library
|
||||
BuildXKB build X Keyboard Extension?
|
||||
BuildXKBlib build X Keyboard Extension into Xlib?
|
||||
UseXKBInClients Use XKB functions in normal clients?
|
||||
ConfigDir install directory for config files
|
||||
ConnectionFlags -D's for supported transports
|
||||
ContribDir location of user-contributed sources
|
||||
DebugLibFS build libFS_d.a
|
||||
DebugLibICE build libICE_d.a
|
||||
DebugLibPex build libPEX5_d.a
|
||||
DebugLibSM build libSM_d.a
|
||||
DebugLibX11 build libX11_d.a
|
||||
DebugLibXau build libXau_d.a
|
||||
DebugLibXaw build libXaw_d.a
|
||||
DebugLibXdmcp build libXdmcp_d.a
|
||||
DebugLibXext build libXext_d.a
|
||||
DebugLibXi build libXi_d.a
|
||||
DebugLibXie build libXie_d.a
|
||||
DebugLibXmu build libXmu_d.a
|
||||
DebugLibXt build libXt_d.a
|
||||
DebugLibXtst build libXtst_d.a
|
||||
DebugLibXag build libXag_d.a
|
||||
DebugOldX build liboldX_d.a
|
||||
DefaultFSConfigFile default font server config file
|
||||
DefaultFontPath default server font path
|
||||
DefaultRGBDatabase default server rgb color database
|
||||
DefaultSystemPath default system xdm PATH environment variable
|
||||
DefaultSystemShell default /bin/sh
|
||||
DefaultUserPath default user xdm PATH environment variable
|
||||
DependCmd command to run makedepend
|
||||
DependDir build directory containing makedepend program
|
||||
ExtensionDefines -D's for universal extensions
|
||||
ExtensionOSDefines -D's for additional extensions
|
||||
FontCompilerFlags flags for bdftosnf
|
||||
FontDefines -D's to turn on font options
|
||||
FontDir directory in which to install fonts
|
||||
FontFilters -D's to specify font conversion filters
|
||||
FontOSDefines -D's for which fonts to support
|
||||
ForceNormalLib force building of .a in addition to shared lib
|
||||
GzipFontCompression boolean for using gzip instead of compress
|
||||
HasXdmAuth boolean for using XDM-AUTHORIZATION-1;
|
||||
needs Wraphelp.c, see Release Notes
|
||||
InstallAppDefFiles install new app defaults files over old?
|
||||
InstallFSConfig install fs config file over old?
|
||||
InstallLibManPages boolean for installing library man pages
|
||||
InstallSecurityConfig install server security policy file over old?
|
||||
InstallXdmConfig install xdm config files over old?
|
||||
InstallXinitConfig install xinit config files over old?
|
||||
LibDir directory in which to install X11 support files
|
||||
LibManSuffix man suffix for library pages
|
||||
LibmanDir directory in which to install library man pages
|
||||
LintlibDir directory in which to install lint libs
|
||||
ManDir directory in which to install program man pages
|
||||
ManDirectoryRoot parent of man directories relative to root
|
||||
ManPath full path of parent directory
|
||||
ManSourcePath common prefix of man page directories
|
||||
ManSuffix man suffix for programs
|
||||
MiscManSuffix man suffix for miscellaneous pages
|
||||
NeedDefaultDepLibs boolean for enabling default DEPLIBS
|
||||
NlsDir directory in which to install nls files
|
||||
NormalLibFS build libFS.a
|
||||
NormalLibICE build libICE.a
|
||||
NormalLibPex build libPEX5.a
|
||||
NormalLibPhigs build libphigs.a
|
||||
NormalLibSM build libSM.a
|
||||
NormalLibX11 build libX11.a
|
||||
NormalLibXau build libXau.a
|
||||
NormalLibXaw build libXaw.a
|
||||
NormalLibXdmcp build libXdmcp.a
|
||||
NormalLibXext build libXext.a
|
||||
NormalLibXi build libXi.a
|
||||
NormalLibXie build libXie.a
|
||||
NormalLibXmu build libXmu.a
|
||||
NormalLibXt build libXt.a
|
||||
NormalLibXtst build libXtst.a
|
||||
NormalLibXag build libXag.a
|
||||
NormalOldX build liboldX.a
|
||||
OsNameDefines beats me
|
||||
PexApiDir PEX include file location
|
||||
PexCCOptions special options for building PEX library
|
||||
PexCDebugFlags special flags for building PEX library
|
||||
PexClientDefines special -D's for building PEX clients
|
||||
PexDipexDefines special -D's for building PEX di files
|
||||
PexPhigsDefines special -D's for building PEX library
|
||||
PexShmIPC boolean for using shared memory in phigsmon
|
||||
PhigsInclude include directory for phigs clients
|
||||
PrimaryScreenResolution resolution of default server screen
|
||||
ProfileLibFS build libFS_p.a
|
||||
ProfileLibICE build libICE_p.a
|
||||
ProfileLibPex build libPEX5_p.a
|
||||
ProfileLibSM build libSM_p.a
|
||||
ProfileLibX11 build libX11_p.a
|
||||
ProfileLibXau build libXau_p.a
|
||||
ProfileLibXaw build libXaw_p.a
|
||||
ProfileLibXdmcp build libXdmcp_p.a
|
||||
ProfileLibXext build libXext_p.a
|
||||
ProfileLibXi build libXi_p.a
|
||||
ProfileLibXie build libXie_p.a
|
||||
ProfileLibXmu build libXmu_p.a
|
||||
ProfileLibXt build libXt_p.a
|
||||
ProfileLibXtst build libXtst_p.a
|
||||
ProfileLibXag build libXag_p.a
|
||||
ProfileOldX build liboldX_p.a
|
||||
ProjectX version indicating this is the X Window System
|
||||
RemoveTargetProgramByMoving boolean for rm -f that doesn't
|
||||
SHELLPATH -D for /bin/sh
|
||||
ServerConfigDir directory for server security config files
|
||||
ServerDefines complete -D's for server
|
||||
ServerExtraDefines special -D's for server
|
||||
ServerOSDefines OS -D's for server
|
||||
ServerAssertDefines -DNDEBUG for no assertions, /**/ for assertions
|
||||
SharedLibFS boolean for making sharable libFS.so
|
||||
SharedLibICE boolean for making sharable libICE.so
|
||||
SharedLibPex boolean for making sharable libPEX5.so
|
||||
SharedLibPhigs boolean for making sharable libphigs.so
|
||||
SharedLibSM boolean for making sharable libSM.so
|
||||
SharedLibX11 boolean for making sharable libX11.so
|
||||
SharedLibXau boolean for making sharable libXau.so
|
||||
SharedLibXaw boolean for making sharable libXaw.so
|
||||
SharedLibXdmcp boolean for making sharable libXdmcp.so
|
||||
SharedLibXext boolean for making sharable libXext.so
|
||||
SharedLibXi boolean for making sharable libXi.so
|
||||
SharedLibXie boolean for making sharable libXie.so
|
||||
SharedLibXmu boolean for making sharable libXmu.so
|
||||
SharedLibXt boolean for making sharable libXt.so
|
||||
SharedLibXtst boolean for making sharable libXtst.so
|
||||
SharedLibXag boolean for making sharable libXag.so
|
||||
SharedOldX boolean for making sharable liboldX.so
|
||||
ShmDefines MIT-SHM define
|
||||
TwmDir directory in which to install twm config files
|
||||
UseCCMakeDepend boolean for using alternate makedepend script
|
||||
UseRgbTxt use rgb.txt file as is instead of DBM-compiled
|
||||
VarDirectory directory in /var for logs, etc., and config
|
||||
VendorHasX11R6_3libXext don't need Security & AppGroup in xrx plug-in
|
||||
XAppLoadDir directory in which to install app defaults
|
||||
XFileSearchPathBase base file search path
|
||||
XFileSearchPathDefault default path to search for app defaults files
|
||||
XInputDefines XINPUT define
|
||||
XMalloc0ReturnsNullDefines -D's specifically for libX11
|
||||
XawClientDepLibs DEPLIBS for clients that use Xaw
|
||||
XawClientLibs LOCAL_LIBRARIES for clients that use Xaw
|
||||
XdmConfigurationSubdirectory name of default xdm configuration
|
||||
XdmDir directory in which to install xdm files
|
||||
XdmServersType type of xdm Xservers file to install
|
||||
XinitDir directory in which to install xinit files
|
||||
XPrintDir parent of X Print server config directory
|
||||
XprtServer build the X Print server
|
||||
XmanLocalSearchPath non-standard path for man pages
|
||||
XtErrorPrefix leading text in XtError() msg; eg. 'X Toolkit '
|
||||
XtWarningPrefix leading text in XtWarning()msg, same as above
|
||||
XtMalloc0ReturnsNullDefines -D's specifically for libXt
|
||||
ZBDFTOSNFFILT -D to run uncompress and bdftosnf
|
||||
|
||||
|
||||
Library.tmpl provides defaults for the following variables:
|
||||
|
||||
AvoidNullMakeCommand for makes that spout about $(_NULLCMD_)
|
||||
LibraryCCOptions special C compiler options for libraries
|
||||
LibraryCDebugFlags library debug/optimize flags to override defs
|
||||
LibraryCcCmd command to run C compiler in libraries
|
||||
LibraryCplusplusOptions special C++ options for libraries
|
||||
LibraryCplusplusDebugFlags library debug/optimize flags for C++
|
||||
LibraryCplusplusCmd command to run C++ compiler in libraries
|
||||
LibraryDefines -D's for libraries
|
||||
SeparateSharedCompile shared and unshared libs use same binaries?
|
||||
|
||||
|
||||
Server.tmpl provides defaults for the following variables:
|
||||
|
||||
ServerCCOptions server C compiler options to override defaults
|
||||
ServerCcCmd command to run C compiler in server
|
||||
ServerCDebugFlags server debug/opt compiler flags
|
||||
ServerDefines server standard -D's
|
||||
InstallServerSetUID does this system need X server suid to root?
|
||||
|
||||
|
||||
Threads.tmpl provides defaults for the following variables:
|
||||
|
||||
LocalThreads whether to enable multi-threading support
|
||||
LocalThreadsDefines -D flags needed in this directory
|
||||
|
||||
|
||||
An <os>Lib.rules file provides defaults for the following variables:
|
||||
|
||||
HasSharedLibraries boolean for using shared libraries
|
||||
SharedDataSeparation boolean indicating separate data/code
|
||||
SharedCodeDef -D's for compiling shared library files
|
||||
SharedLibraryDef -D's for defining which kind of shared lib
|
||||
ShLibIncludeFile location of the <os>Lib.tmpl file
|
||||
SharedLibraryLoadFlags loader flags when making the library
|
||||
UseExportLists boolean for using an export list
|
||||
PositionIndependentCFlags PIC compiler flags for C
|
||||
PositionIndependentCplusplusFlags PIC compiler flags for C++
|
||||
|
||||
Note: PositionIndependentCplusplusFlags is only required if the
|
||||
C and C++ compilers use different flags to build PIC code. The
|
||||
default configuration will try to use PositionIndependentCFlags
|
||||
for both C and C++ compiles.
|
||||
|
||||
An <os>Lib.tmpl file provides defaults for the following variables:
|
||||
|
||||
SharedFSReqs required libs for libFS.so
|
||||
SharedFSRev version number for libFS.so
|
||||
SharedICEReqs required libs for libICE.so
|
||||
SharedICERev version number for libICE.so
|
||||
SharedOldXReqs required libs for liboldX.so
|
||||
SharedOldXRev version number for liboldX.so
|
||||
SharedPexReqs required libs for libPEX5.so
|
||||
SharedPexRev version number for libPEX5.so
|
||||
SharedSMReqs required libs for libSM.so
|
||||
SharedSMRev version number for libSM.so
|
||||
SharedX11Reqs required libs for libX11.so
|
||||
SharedX11Rev version number for libX11.so
|
||||
SharedXauReqs required libs for libXau.so
|
||||
SharedXauRev version number for libXau.so
|
||||
SharedXawReqs required libs for libXaw.so
|
||||
SharedXawRev version number for libXaw.so
|
||||
SharedXdmcpReqs required libs for libXdmcp.so
|
||||
SharedXdmcpRev version number for libXdmcp.so
|
||||
SharedXextReqs required libs for libXext.so
|
||||
SharedXextRev version number for libXext.so
|
||||
SharedXiReqs required libs for libXi.so
|
||||
SharedXiRev version number for libXi.so
|
||||
SharedXieReqs required libs for libXie.so
|
||||
SharedXieRev version number for libXie.so
|
||||
SharedXmuReqs required libs for libXmu.so
|
||||
SharedXmuRev version number for libXmu.so
|
||||
SharedXtReqs required libs for libXt.so
|
||||
SharedXtRev version number for libXt.so
|
||||
SharedXtstReqs required libs for libXtst.so
|
||||
SharedXtstRev version number for libXtst.so
|
||||
SharedXmReqs required libs for libXm.so
|
||||
SharedXmRev version number for libXm.so
|
||||
SharedMrmReqs required libs for libMrm.so
|
||||
SharedMrmRev version number for libMrm.so
|
||||
SharedUilReqs required libs for libUil.so
|
||||
SharedUilRev version number for libUil.so
|
||||
SharedTtReqs required libs for libtt.so
|
||||
SharedTtRev version number for libtt.so
|
||||
SharedPamReqs required libs for libpam.so
|
||||
SharedPamRev version number for libpam.so
|
||||
SharedDtSvcReqs required libs for libDtSvc.so
|
||||
SharedDtSvcRev version number for libDtSvc.so
|
||||
SharedDtSearchReqs required libs for libDtSearch.so
|
||||
SharedDtSearchRev version number for libDtSearch.so
|
||||
SharedDtWidgetReqs required libs for libDtWidget.so
|
||||
SharedDtWidgetRev version number for libDtWidget.so
|
||||
SharedDtHelpReqs required libs for libDtHelp.so
|
||||
SharedDtHelpRev version number for libDtHelp.so
|
||||
SharedDtPrintReqs required libs for libDtPrint.so
|
||||
SharedDtPrintRev version number for libDtPrint.so
|
||||
SharedDtTermReqs required libs for libDtTerm.so
|
||||
SharedDtTermRev version number for libDtTerm.so
|
||||
SharedDtMrmReqs required libs for libDtMrm.so
|
||||
SharedDtMrmRev version number for libDtMrm.so
|
||||
|
||||
The following variables are used by some part of the tree:
|
||||
|
||||
AckToolset programs/Xserver/hw/xfree86
|
||||
BuildChooser build the xdm chooser program?
|
||||
SharedLibXdmGreet use xdm shared dynamic greeter library?
|
||||
LatexCmd command to run LaTeX on a document
|
||||
DvipsCmd command to turn .dvi file into PostScript
|
||||
MotifBC using Motif 1.1.1, 1.1.2, or 1.1.3?
|
||||
GetValuesBC compat GetValues behavior for broken apps?
|
||||
NeedBerklib application needs libXbsd?
|
||||
SvgaConfig default SVGA configuration
|
||||
HasGetReturnAddress util/memleak
|
||||
HasShadowPasswd system has getspnam() function
|
||||
XnestServer build X server with Xlib-based ddx
|
||||
XVirtualFramebufferServer build X server with virtual memory framebuffer
|
||||
XpRasterDDX include the raster print ddx driver
|
||||
XpColorPclDDX include the color PCL print ddx driver
|
||||
XpMonoPclDDX include the monochrome PCL print ddx driver
|
||||
XpPostScriptDDX include the PostScript print ddx driver
|
||||
WebServer host:port of your Web server (see programs/xrx)
|
||||
HtmlDir path used by Web server for HTML and RX docs
|
||||
CgiBinDir path used by Web server for CGI programs
|
||||
ProxyManager ICE network ID to contact a running proxymngr
|
||||
|
||||
|
||||
Make Variables
|
||||
|
||||
The following make variables are used by imake rules and may be set in
|
||||
an individual Imakefile.
|
||||
|
||||
DEFINES program-specific -D flags and other arguments
|
||||
to pass to the C compiler, lint, and makedepend.
|
||||
DEPEND_DEFINES program-specific flags in addition to
|
||||
$(DEFINES) to pass to lint and makedepend.
|
||||
This is usually used when there are special
|
||||
compilation rules for individual files, and
|
||||
the defines passed to those files affect
|
||||
makedepend results. If they can be passed to
|
||||
all files during the makedepend step without
|
||||
affecting the results for other files,
|
||||
DEPEND_DEFINES is used to do that. Example is
|
||||
the Xlib Imakefile.
|
||||
INCLUDES program-specific -I flags.
|
||||
HEADERS .h files to install with "make includes" and
|
||||
"make install". If this Imakefile includes
|
||||
Library.tmpl there are no headers, include
|
||||
this line instead of a HEADERS definition:
|
||||
#define LibHeaders NO
|
||||
REQUIREDLIBS when building a shared library, other libraries used
|
||||
by this library that should be referenced at
|
||||
link time.
|
||||
LINTLIBS program-specific libraries for lint.
|
||||
LOCAL_LDFLAGS program-specific flags for the linker.
|
||||
LOCAL_LIBRARIES project libraries (usually specified
|
||||
as -lname) needed by this program.
|
||||
For example, "-lXt -lXext -lX11".
|
||||
Used by SimpleProgramTarget and
|
||||
ComplexProgramTarget* rules.
|
||||
Do not include any system-specific libraries here.
|
||||
SYS_LIBRARIES system libraries (usually specified
|
||||
as -lname) needed by this program.
|
||||
For example "MathLibrary".
|
||||
Do not include any system-specific libraries
|
||||
such as "-lnsl" here; they are automatically
|
||||
added to the link command by the
|
||||
vendor-specific .cf file.
|
||||
SUBDIRS for an Imakefile in a directory containing
|
||||
subdirectories, this names the subdirectories.
|
||||
Such an Imakefile also needs to #define IHaveSubdirs
|
||||
and call MakeSubdirs() and DependSubdirs().
|
||||
MANSUFFIX suffix used by InstallManPage* rules.
|
||||
May be set to $(LIBMANSUFFIX), $(FILEMANSUFFIX), or
|
||||
$(MISCMANSUFFIX) in directories for libraries or data
|
||||
files.
|
||||
|
||||
|
||||
Rule-specific variables that may be set in an individual Imakefile.
|
||||
If you aren't using these rules, you may need variables with a similar
|
||||
function, but you need not use these names. However, following these
|
||||
conventions may make your Imakefile easier to read and maintain.
|
||||
|
||||
DEPLIBS library dependencies for ComplexProgramTarget
|
||||
SRCS source files used by ComplexProgramTarget and
|
||||
DependTarget.
|
||||
OBJS object files used by ComplexProgramTarget
|
||||
PROGRAMS default target used with ComplexProgramTarget_(n)
|
||||
SRCS1 source files used by ComplexProgramTarget_1
|
||||
OBJS1 object files used by ComplexProgramTarget_1
|
||||
DEPLIBS1 library dependencies for ComplexProgramTarget_1
|
||||
SRCS2 source files used by ComplexProgramTarget_2
|
||||
OBJS2 object files used by ComplexProgramTarget_2
|
||||
DEPLIBS2 library dependencies for ComplexProgramTarget_2
|
||||
SRCS3 source files used by ComplexProgramTarget_3
|
||||
OBJS3 object files used by ComplexProgramTarget_3
|
||||
DEPLIBS3 library dependencies for ComplexProgramTarget_3
|
||||
|
||||
Variables that can be set on the make command line:
|
||||
|
||||
DESTDIR directory under which "make install" should
|
||||
install instead of "/"; used only for testing
|
||||
"make install" rules.
|
||||
FILE file for "lint1" target to run lint on.
|
||||
CDEBUGFLAGS -g and/or -O flag to control C compiler optimization.
|
||||
CXXDEBUGFLAGS -g and/or -O flag to control C++ optimization.
|
||||
LDSTRIPFLAGS flag to have linker strip objects (typically -x).
|
||||
Typically set to the empty string to prevent
|
||||
the linker from stripping objects; use this
|
||||
way when setting CDEBUGFLAGS to "-g".
|
||||
|
||||
These variables are set in project-specific files such as X11.tmpl.
|
||||
They should NOT be set in an Imakefile. These variables are sometimes
|
||||
misused; they are included here to remind Imakefile writers NOT to use
|
||||
them:
|
||||
|
||||
EXTRA_DEFINES project-specific -D flags
|
||||
EXTRA_INCLUDES project-specific -I flags
|
||||
EXTRA_ICONFIGFILES Additional project-specific imake config files
|
||||
to add to ICONFIGFILES.
|
||||
This is a list of files that define variables
|
||||
that might affect compilation of some files.
|
||||
|
||||
Many other make variables are set up by the imake config files and can
|
||||
be used in an Imakefile. The easiest way to discover them is to look
|
||||
at the Makefile generated by an empty Imakefile.
|
||||
|
||||
|
||||
Comments
|
||||
|
||||
Use C comment syntax in an Imakefile for comments that should not
|
||||
appear in the resulting Makefile.
|
||||
Use "XCOMM" at the start of each
|
||||
line to produce a comment that will appear in the Makefile.
|
||||
(The "XCOMM" will
|
||||
be translated into the Makefile comment character "#" by imake.)
|
||||
Do NOT use "#" as a comment character in Imakefiles; it confuses the C
|
||||
preprocessor used by imake on some systems.
|
||||
|
||||
|
||||
Imake variables
|
||||
|
||||
Don't abuse the variables in X11.tmpl that describe
|
||||
particular pieces of X by using them to describe your own subsystems.
|
||||
Instead, create new variables that are defaulted using
|
||||
Imake.tmpl variables.
|
||||
|
||||
|
||||
Examples
|
||||
|
||||
Since the easiest way to write an Imakefile is to start with one that
|
||||
works, here are some short, easy-to-read Imakefile examples in the X
|
||||
distribution:
|
||||
|
||||
with subdirs: config/Imakefile
|
||||
library: lib/Xau/Imakefile
|
||||
simple program: programs/xdpyinfo/Imakefile
|
||||
complex progs: programs/xclipboard/Imakefile
|
||||
complex prog: programs/xmodmap/Imakefile
|
||||
|
||||
Common Rules
|
||||
|
||||
Here are some of the common rules for building programs. How to use
|
||||
them is described in Imake.rules and in the O'Reilly book "Software
|
||||
Portability with imake."
|
||||
|
||||
Basic program-building rules
|
||||
|
||||
All of these except NormalProgramTarget also generate rules to install
|
||||
the program and its manual page, and to generate dependencies.
|
||||
|
||||
SimpleProgramTarget Use if there is only one program to be made
|
||||
and it has only one source file.
|
||||
|
||||
ComplexProgramTarget Use if there is only one program to be made
|
||||
and it has multiple source files. Set SRCS to
|
||||
the names of the source files, set OBJS to
|
||||
the names of the object files, and set DEPLIBS
|
||||
to the libraries that this program depends on.
|
||||
|
||||
ComplexProgramTarget_1 Like ComplexProgramTarget, but uses SRCS1,
|
||||
OBJS1, and DEPLIBS1 and can be used with
|
||||
ComplexProgramTarget_2 and ComplexProgramTarget_3
|
||||
to build up to three programs in the same directory.
|
||||
Set PROGRAMS to the programs built by all of
|
||||
these rules. For more than 3 programs, use
|
||||
NormalProgramTarget for each.
|
||||
ComplexProgramTarget_2 Use after ComplexProgramTarget_1 for the
|
||||
second program in a directory. Uses SRCS2,
|
||||
OBJS2, and DEPLIBS2.
|
||||
ComplexProgramTarget_3 Use after ComplexProgramTarget_2 for the
|
||||
third program in a directory. Uses SRCS3,
|
||||
OBJS3, and DEPLIBS3.
|
||||
|
||||
NormalProgramTarget Build a program. Can be used multiple times
|
||||
with different arguments in the same Imakefile.
|
||||
|
||||
Lower level rules, often used with NormalProgramTarget
|
||||
|
||||
InstallProgram install a program.
|
||||
|
||||
InstallManPage install a manual page.
|
||||
|
||||
DependTarget() include once at end of Imakefile with
|
||||
NormalProgramTarget rules or that uses Library.tmpl.
|
||||
Generates dependencies for files named in SRCS.
|
||||
|
||||
Manual page rules, commonly used only in special documentation directories:
|
||||
|
||||
InstallManPage
|
||||
InstallManPageLong
|
||||
InstallManPageAliases
|
||||
|
||||
Other rules:
|
||||
|
||||
SpecialCObjectRule Compile a C file with special flags.
|
||||
AllTarget Declare additional targets to build.
|
||||
InstallAppDefaults Install X application defaults file.
|
||||
|
||||
Imakefile for directory with subdirectories
|
||||
|
||||
XCOMM this is a sample Imakefile for a directory containing subdirectories
|
||||
#define IHaveSubdirs
|
||||
#define PassCDebugFlags CDEBUGFLAGS="$(CDEBUGFLAGS)"
|
||||
SUBDIRS = list of subdirs ...
|
||||
MakeSubdirs($(SUBDIRS))
|
||||
DependSubdirs($(SUBDIRS))
|
||||
|
||||
|
||||
Common Targets
|
||||
|
||||
These targets are typically NOT defined explicitly by the Imakefile
|
||||
writer; rather they are generated automatically by imake rules.
|
||||
They are listed here for the convenience of people using the resulting
|
||||
Makefile, not people writing the original Imakefile.
|
||||
|
||||
all Default rule; builds whatever is in this directory.
|
||||
Makefile Remake the Makefile (use after changing Imakefile).
|
||||
Run "make depend" after.
|
||||
Makefiles Remake all Makefiles in subdirectories. (Does
|
||||
nothing if no subdirectories.)
|
||||
Run "make depend" after.
|
||||
includes Generate and install in the tree any necessary
|
||||
header files.
|
||||
depend Update dependencies in the Makefile calculated
|
||||
by examining the source files.
|
||||
install Install what "make all" built on the system.
|
||||
install.man Install manual pages.
|
||||
clean Remove built objects and other derived files.
|
||||
lint Run lint.
|
||||
tags Create a tags file.
|
|
@ -1,49 +0,0 @@
|
|||
/*
|
||||
* Server imakefile info - this contains any special redefinitions, etc.
|
||||
* that Imakefiles in the server subtree will need.
|
||||
*/
|
||||
|
||||
XCOMM $TOG: Server.tmpl /main/15 1997/07/16 14:43:38 kaleb $
|
||||
|
||||
#define PassCDebugFlags CDEBUGFLAGS="$(CDEBUGFLAGS)" LDSTRIPFLAGS="$(LDSTRIPFLAGS)"
|
||||
|
||||
#ifndef ServerCcCmd
|
||||
#define ServerCcCmd CcCmd
|
||||
#endif
|
||||
#ifndef ServerCCOptions
|
||||
#define ServerCCOptions DefaultCCOptions
|
||||
#endif
|
||||
#ifndef ServerDefines
|
||||
#define ServerDefines StandardDefines
|
||||
#endif
|
||||
#ifndef ServerCDebugFlags
|
||||
#define ServerCDebugFlags DefaultCDebugFlags
|
||||
#endif
|
||||
#ifndef DoThreadedServer
|
||||
#define DoThreadedServer NO
|
||||
#endif
|
||||
#ifndef InstallServerSetUID
|
||||
#define InstallServerSetUID NO
|
||||
#endif
|
||||
|
||||
/*
|
||||
* SetUIDServerTarget - compile, link, and relink a setuid server
|
||||
*/
|
||||
#ifndef SetUIDServerTarget
|
||||
#if InstallServerSetUID
|
||||
#define SetUIDServerTarget(server,subdirs,objects,libs,syslibs) @@\
|
||||
ServerTargetWithFlags(server,subdirs,objects,libs,syslibs,$(INSTUIDFLAGS))
|
||||
#else
|
||||
#define SetUIDServerTarget ServerTarget
|
||||
#endif
|
||||
#endif /* SetUIDServerTarget */
|
||||
|
||||
CC = ServerCcCmd
|
||||
CCOPTIONS = ServerCCOptions
|
||||
#if DoThreadedServer
|
||||
SERVER_THREAD_DEFINES = XThreadsDefines ThreadTypeDefines
|
||||
#endif
|
||||
STD_DEFINES = ServerDefines $(SERVER_THREAD_DEFINES)
|
||||
CDEBUGFLAGS = ServerCDebugFlags
|
||||
EXT_DEFINES = ExtensionDefines
|
||||
|
|
@ -1,85 +0,0 @@
|
|||
XCOMM $XConsortium: Threads.tmpl /main/11 1996/09/28 16:07:06 rws $
|
||||
|
||||
/*
|
||||
* For a multi-threaded application or library,
|
||||
* Define LocalThreadsDefines in your Imakefile (unless you like the
|
||||
* project default), then include this file.
|
||||
* Everything else should be automatic.
|
||||
*/
|
||||
|
||||
#ifndef LocalThreadsDefines
|
||||
#ifdef ProjectThreadsDefines
|
||||
#define LocalThreadsDefines ProjectThreadsDefines
|
||||
#else
|
||||
#define LocalThreadsDefines /**/
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef LocalThreads
|
||||
#ifdef ThreadedProject
|
||||
#define LocalThreads ThreadedProject
|
||||
#else
|
||||
#define LocalThreads YES
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef ThreadTypeDefines
|
||||
#if HasCThreads
|
||||
#define ThreadTypeDefines -DCTHREADS
|
||||
#else
|
||||
#define ThreadTypeDefines /**/
|
||||
#endif
|
||||
#endif
|
||||
#ifndef SystemMTDefines
|
||||
#define SystemMTDefines /**/
|
||||
#endif
|
||||
#ifndef LibraryMTDefines
|
||||
#define LibraryMTDefines /**/
|
||||
#endif
|
||||
#ifndef HasThreadSafeAPI /* does it have getpwnam_r, etc. */
|
||||
#define HasThreadSafeAPI YES
|
||||
#endif
|
||||
#ifndef MTSafeAPIDefines
|
||||
#if HasThreadSafeAPI
|
||||
#define MTSafeAPIDefines -DXUSE_MTSAFE_API
|
||||
#else
|
||||
#define MTSafeAPIDefines /**/
|
||||
#endif
|
||||
#endif
|
||||
#ifndef ThreadPreStdAPIDefines
|
||||
#define ThreadPreStdAPIDefines /* nominally for POSIX P1003.4a (Draft 4) API */
|
||||
#endif
|
||||
#ifndef CplusplusSystemMTDefines
|
||||
#define CplusplusSystemMTDefines /**/
|
||||
#endif
|
||||
#ifndef ThreadsCompileFlags
|
||||
#define ThreadsCompileFlags /**/
|
||||
#endif
|
||||
#ifndef ThreadsCplusplusCompileFlags
|
||||
#define ThreadsCplusplusCompileFlags /**/
|
||||
#endif
|
||||
|
||||
#ifndef ThreadsLibraries
|
||||
#define ThreadsLibraries /**/
|
||||
#endif
|
||||
#ifndef ThreadsCplusplusLibraries
|
||||
#define ThreadsCplusplusLibraries /**/
|
||||
#endif
|
||||
#ifndef ThreadsLoadFlags
|
||||
#define ThreadsLoadFlags ThreadsCompileFlags
|
||||
#endif
|
||||
#ifndef ThreadsCplusplusLoadFlags
|
||||
#define ThreadsCplusplusLoadFlags ThreadsCplusplusCompileFlags
|
||||
#endif
|
||||
|
||||
#if LocalThreads
|
||||
THREADS_CFLAGS = ThreadsCompileFlags
|
||||
THREADS_DEFINES = LocalThreadsDefines ThreadTypeDefines SystemMTDefines MTSafeAPIDefines ThreadPreStdAPIDefines $(LIB_MT_DEFINES)
|
||||
THREADS_LDFLAGS = ThreadsLoadFlags
|
||||
THREADS_LIBS = ThreadsLibraries
|
||||
|
||||
THREADS_CXXFLAGS = ThreadsCplusplusCompileFlags
|
||||
THREADS_CXXDEFINES = LocalThreadsDefines ThreadTypeDefines CplusplusSystemMTDefines MTSafeAPIDefines ThreadPreStdAPIDefines $(LIB_MT_DEFINES)
|
||||
THREADS_CXXLDFLAGS = ThreadsCplusplusLoadFlags
|
||||
THREADS_CXXLIBS = ThreadsCplusplusLibraries
|
||||
#endif
|
|
@ -1,13 +0,0 @@
|
|||
XCOMM $XConsortium: WinLib.tmpl /main/3 1996/11/13 14:43:09 lehors $
|
||||
|
||||
#define SharedOldXReqs $(LDPRELIBS) $(XLIBONLY)
|
||||
#define SharedXtReqs $(LDPRELIBS) $(XLIBONLY)
|
||||
#define SharedXawReqs $(LDPRELIBS) $(XMULIB) $(XTOOLLIB) $(XLIB)
|
||||
#define SharedXmuReqs $(LDPRELIBS) $(XTOOLLIB) $(XLIB)
|
||||
#define SharedXextReqs $(LDPRELIBS) $(XLIBONLY)
|
||||
#define SharedXiReqs $(LDPRELIBS) $(XLIB)
|
||||
#define SharedPexReqs $(LDPRELIBS) $(XLIBONLY) MathLibrary
|
||||
#define SharedXtstReqs $(LDPRELIBS) $(XLIB)
|
||||
#define SharedXieReqs $(LDPRELIBS) $(XLIBONLY)
|
||||
#define SharedSMReqs $(LDPRELIBS) $(ICELIB)
|
||||
#define SharedXpReqs $(LDPRELIBS) $(XAUTHLIB) $(EXTENSIONLIB) $(XLIBONLY)
|
|
@ -1,104 +0,0 @@
|
|||
XCOMM $TOG: X11.rules /main/4 1997/04/30 15:23:24 kaleb $
|
||||
|
||||
/* Note whether we are the top level project. */
|
||||
#ifndef SeenTopLevelProject
|
||||
# define SeenTopLevelProject YES
|
||||
# define X11IsTopLevelProject YES
|
||||
#else
|
||||
# define X11IsTopLevelProject NO
|
||||
#endif
|
||||
|
||||
/*
|
||||
* If no clues are given assume X11 is in the tree, otherwise
|
||||
* UseInstalled overrides UseImports. Do not do both.
|
||||
*/
|
||||
#ifndef UseInstalledX11
|
||||
# define UseInstalledX11 NO
|
||||
#endif
|
||||
#ifdef UseInstalled
|
||||
# undef UseInstalledX11
|
||||
# define UseInstalledX11 YES
|
||||
#endif
|
||||
|
||||
#ifndef ImportX11
|
||||
# ifdef UseImports
|
||||
# define ImportX11 YES
|
||||
# else
|
||||
# define ImportX11 NO
|
||||
# endif
|
||||
#endif
|
||||
#if UseInstalledX11
|
||||
# undef ImportX11
|
||||
# define ImportX11 NO
|
||||
#endif
|
||||
|
||||
#ifdef X11ProjectRoot
|
||||
# define XUsrLibDirPath $(USRLIBDIR):$(XPROJECTROOT)/lib
|
||||
#else
|
||||
# define XUsrLibDirPath $(USRLIBDIR)
|
||||
#endif
|
||||
#ifdef UsrLibDirPath
|
||||
# undef UsrLibDirPath
|
||||
#endif
|
||||
#define UsrLibDirPath XUsrLibDirPath
|
||||
|
||||
#if ImportX11
|
||||
# define XLdPreLibs -L$(LIBSRC)
|
||||
#elif defined(UseInstalledX11) && defined(X11ProjectRoot)
|
||||
# define XLdPreLibs -L$(XPROJECTROOT)/lib
|
||||
#else
|
||||
# define XLdPreLibs /**/
|
||||
#endif
|
||||
#ifdef LdPreLibs
|
||||
# undef LdPreLibs
|
||||
#endif
|
||||
#define LdPreLibs LdPreLib XLdPreLibs
|
||||
|
||||
#ifdef X11ProjectRoot
|
||||
# define XLdPostLibs -L$(XPROJECTROOT)/lib
|
||||
#else
|
||||
# define XLdPostLibs /**/
|
||||
#endif
|
||||
#ifdef LdPostLibs
|
||||
# undef LdPostLibs
|
||||
#endif
|
||||
#define LdPostLibs LdPostLib XLdPostLibs
|
||||
|
||||
#if ImportX11
|
||||
# ifndef TopXInclude
|
||||
# define TopXInclude -I$(TOP)/imports/x11/include
|
||||
# endif
|
||||
#elif !UseInstalledX11
|
||||
# define TopXInclude -I$(TOP)/exports/include
|
||||
#else
|
||||
# define TopXInclude -I$(XPROJECTROOT)/include
|
||||
#endif
|
||||
#ifdef TopIncludes
|
||||
# undef TopIncludes
|
||||
#endif
|
||||
#define TopIncludes TopInclude $(TOP_X_INCLUDES)
|
||||
|
||||
#if UseInstalledX11 && defined(X11ProjectRoot)
|
||||
# define X11BuildLibPath $(XPROJECTROOT)/lib
|
||||
#elif UseInstalledX11
|
||||
# define X11BuildLibPath $(USRLIBDIR)
|
||||
#elif ImportX11
|
||||
# define X11BuildLibPath $(XTOP)/lib
|
||||
#else
|
||||
# define X11BuildLibPath $(TOP)/exports/lib
|
||||
#endif
|
||||
#ifdef SystemBuildLibPath
|
||||
# define BuildLibPath $(XENVLIBDIR):$(SYSTEMENVLIBDIR)
|
||||
#else
|
||||
# define BuildLibPath $(XENVLIBDIR)
|
||||
#endif
|
||||
|
||||
#ifndef X11ProjectDefines
|
||||
# define X11ProjectDefines /**/
|
||||
#endif
|
||||
#define ProjectDefines X11ProjectDefines
|
||||
|
||||
#ifndef X11CplusplusProjectDefines
|
||||
# define X11CplusplusProjectDefines X11ProjectDefines
|
||||
#endif
|
||||
#define CplusplusProjectDefines X11CplusplusProjectDefines
|
File diff suppressed because it is too large
Load diff
|
@ -1,29 +0,0 @@
|
|||
XCOMM platform: $XConsortium: bsd.cf /main/24 1996/09/28 16:09:13 rws $
|
||||
|
||||
#ifndef OSName
|
||||
#define OSName 4.3bsd
|
||||
#endif
|
||||
XCOMM operating system: OSName
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion 4
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion 3
|
||||
#endif
|
||||
|
||||
#define BootstrapCFlags -DNOSTDHDRS
|
||||
#define StandardDefines -DNOSTDHDRS -DCSRG_BASED
|
||||
#define HasVoidSignalReturn NO
|
||||
#define HasBsearch NO
|
||||
#define DirFailPrefix -
|
||||
#define AvoidNullMakeCommand YES
|
||||
|
||||
#define BuildServer NO
|
||||
|
||||
#ifdef VaxArchitecture
|
||||
#define UnalignedReferencesAllowed YES /* if arbitrary deref is okay */
|
||||
#endif
|
||||
|
||||
#if OSMajorVersion >= 4 && OSMinorVersion >= 3
|
||||
#define SetTtyGroup YES
|
||||
#endif
|
|
@ -1,97 +0,0 @@
|
|||
XCOMM $XConsortium: bsdLib.rules /main/3 1996/09/28 16:09:18 rws $
|
||||
|
||||
/*
|
||||
* NetBSD/FreeBSD shared library rules
|
||||
*/
|
||||
|
||||
#ifndef HasSharedLibraries
|
||||
#define HasSharedLibraries YES
|
||||
#endif
|
||||
#ifndef SharedDataSeparation
|
||||
#define SharedDataSeparation NO
|
||||
#endif
|
||||
#ifndef SharedCodeDef
|
||||
#define SharedCodeDef
|
||||
#endif
|
||||
#ifndef SharedLibraryDef
|
||||
#define SharedLibraryDef -DBSDSHLIB
|
||||
#endif
|
||||
#ifndef ShLibIncludeFile
|
||||
#define ShLibIncludeFile <bsdLib.tmpl>
|
||||
#endif
|
||||
#ifndef SharedLibraryLoadFlags
|
||||
#define SharedLibraryLoadFlags -shared
|
||||
#endif
|
||||
#ifndef PositionIndependentCFlags
|
||||
#define PositionIndependentCFlags -fPIC
|
||||
#endif
|
||||
|
||||
/*
|
||||
* InstallSharedLibrary - generate rules to install the shared library.
|
||||
*/
|
||||
#ifndef InstallSharedLibrary
|
||||
#define InstallSharedLibrary(libname,rev,dest) @@\
|
||||
install:: Concat(lib,libname.so.rev) @@\
|
||||
MakeDir($(DESTDIR)dest) @@\
|
||||
$(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
|
||||
$(LN) Concat(lib,libname.so.rev) Concat($(DESTDIR)dest/lib,libname.so)
|
||||
|
||||
#endif /* InstallSharedLibrary */
|
||||
|
||||
/*
|
||||
* SharedLibraryTarget - generate rules to create a shared library;
|
||||
* build it into a different name so that we do not hose people by having
|
||||
* the library gone for long periods.
|
||||
*/
|
||||
#ifndef SharedLibraryTarget
|
||||
#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
|
||||
AllTarget(Concat(lib,libname.so.rev)) @@\
|
||||
@@\
|
||||
Concat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\
|
||||
$(RM) $@~ @@\
|
||||
(cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$@ solist $(REQUIREDLIBS)) @@\
|
||||
$(RM) $@ @@\
|
||||
$(MV) $@~ $@ @@\
|
||||
$(RM) Concat(lib,libname.so) @@\
|
||||
$(LN) $@ Concat(lib,libname.so) @@\
|
||||
LinkBuildLibrary($@) @@\
|
||||
(cd $(BUILDLIBDIR) && $(RM) Concat(lib,libname.so) && \
|
||||
$(LN) $@ Concat(lib,libname.so)) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
|
||||
|
||||
#endif /* SharedLibraryTarget */
|
||||
|
||||
/*
|
||||
* SharedLibraryDataTarget - generate rules to create shlib data file;
|
||||
*/
|
||||
#ifndef SharedLibraryDataTarget
|
||||
#define SharedLibraryDataTarget(libname,rev,salist)
|
||||
#endif /* SharedLibraryDataTarget */
|
||||
|
||||
#ifndef InstallSharedLibraryData
|
||||
#define InstallSharedLibraryData(libname,rev,dest)
|
||||
#endif /* InstallSharedLibraryData */
|
||||
|
||||
/*
|
||||
* SharedLibReferences - variables for shared libraries
|
||||
*/
|
||||
#ifndef SharedLibReferences
|
||||
#define SharedLibReferences(varname,libname,libsource,revname,rev) @@\
|
||||
revname = rev @@\
|
||||
Concat3(DEP,varname,LIB) = SharedLibDependencies(libname,libsource,revname) @@\
|
||||
Concat(varname,LIB) = LoaderLibPrefix Concat(-l,libname) @@\
|
||||
LintLibReferences(varname,libname,libsource)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* SharedDSLibReferences - variables for shared libraries
|
||||
*/
|
||||
#ifndef SharedDSLibReferences
|
||||
#define SharedDSLibReferences(varname,libname,libsource,revname,rev) @@\
|
||||
revname = rev @@\
|
||||
Concat3(DEP,varname,LIB) = SharedDSLibDependencies(libname,libsource,revname) @@\
|
||||
Concat(varname,LIB) = LoaderLibPrefix Concat(-l,libname) Concat3(Shared,libname,Reqs) @@\
|
||||
LintLibReferences(varname,libname,libsource)
|
||||
#endif
|
|
@ -1,39 +0,0 @@
|
|||
XCOMM $XConsortium: bsdLib.tmpl /main/3 1996/09/28 16:09:25 rws $
|
||||
|
||||
/*
|
||||
* NetBSD/FreeBSD shared library template
|
||||
*/
|
||||
|
||||
#ifndef SharedXtReqs
|
||||
#define SharedXtReqs /**/
|
||||
#endif
|
||||
#ifndef SharedXawReqs
|
||||
#define SharedXawReqs /**/
|
||||
#endif
|
||||
#ifndef SharedXmuReqs
|
||||
#define SharedXmuReqs $(LDPRELIBS) $(XTOOLONLYLIB) $(XONLYLIB)
|
||||
#endif
|
||||
|
||||
#ifndef SharedXReqs
|
||||
# define SharedXReqs $(XTOOLLIB) $(XLIB) $(LDPOSTLIBS)
|
||||
#endif
|
||||
|
||||
#ifndef SharedXmReqs
|
||||
# define SharedXmReqs $(LDPRELIBS) SharedXReqs -lc
|
||||
#endif
|
||||
|
||||
#ifndef SharedTtReqs
|
||||
# define SharedTtReqs $(LDPRELIBS) SharedXReqs $(CXXLIB)
|
||||
#endif
|
||||
|
||||
#ifndef SharedDtSvcReqs
|
||||
# define SharedDtSvcReqs $(LDPRELIBS) SharedXReqs $(CXXLIB)
|
||||
#endif
|
||||
|
||||
#ifndef SharedDtHelpReqs
|
||||
# define SharedDtHelpReqs $(LDPRELIBS) $(ICONVSYSLIB) SharedXReqs
|
||||
#endif
|
||||
|
||||
#ifndef SharedCsaReqs
|
||||
# define SharedCsaReqs -lXt $(LDPOSTLIBS)
|
||||
#endif
|
|
@ -1,226 +0,0 @@
|
|||
/*
|
||||
* @OSF_COPYRIGHT@
|
||||
* COPYRIGHT NOTICE
|
||||
* Copyright (c) 1990, 1991, 1992, 1993, 1998 The Open Group , Inc.
|
||||
* ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for
|
||||
* the full copyright text.
|
||||
*
|
||||
* (c) Copyright 1996 Digital Equipment Corporation.
|
||||
* (c) Copyright 1996 Hewlett-Packard Company.
|
||||
* (c) Copyright 1996 International Business Machines Corp.
|
||||
* (c) Copyright 1996 Sun Microsystems, Inc.
|
||||
* (c) Copyright 1996 Novell, Inc.
|
||||
* (c) Copyright 1996 FUJITSU LIMITED.
|
||||
* (c) Copyright 1996 Hitachi.
|
||||
*/
|
||||
XCOMM $TOG: cde.rules /main/4 1998/02/06 10:53:52 kaleb $
|
||||
|
||||
/* Note whether we are the top level project. */
|
||||
#ifndef SeenTopLevelProject
|
||||
# define SeenTopLevelProject YES
|
||||
# define CDEIsTopLevelProject YES
|
||||
#else
|
||||
# define CDEIsTopLevelProject NO
|
||||
#endif
|
||||
|
||||
/* Include the Motif project rules file. */
|
||||
#include <Motif.rules>
|
||||
|
||||
|
||||
/* Use the in-tree CDE by default. */
|
||||
#ifndef UseInstalledCDE
|
||||
# define UseInstalledCDE NO
|
||||
#endif
|
||||
#ifdef UseInstalled
|
||||
# undef UseInstalledCDE
|
||||
# define UseInstalledCDE YES
|
||||
#endif
|
||||
|
||||
#ifndef ImportCDE
|
||||
# ifdef UseImports
|
||||
# define ImportCDE YES
|
||||
# else
|
||||
# define ImportCDE NO
|
||||
# endif
|
||||
#endif
|
||||
#if UseInstalledCDE
|
||||
# undef ImportCDE
|
||||
# define ImportCDE NO
|
||||
#endif
|
||||
|
||||
/* If CDE has a different ProjectRoot we need to search the regular ones too. */
|
||||
#ifdef CDEProjectRoot
|
||||
# define CUsrLibDirPath Concat(MUsrLibDirPath,:$(CDEPROJECTROOT)/lib)
|
||||
#else
|
||||
# define CUsrLibDirPath MUsrLibDirPath
|
||||
#endif
|
||||
#ifdef UsrLibDirPath
|
||||
# undef UsrLibDirPath
|
||||
#endif
|
||||
#define UsrLibDirPath CUsrLibDirPath
|
||||
|
||||
#if ImportCDE
|
||||
# define CLdPreLibs -L$(CDELIBSRC)
|
||||
#elif defined(UseInstalledCDE) && defined(CDEProjectRoot)
|
||||
# define CLdPreLibs -L$(CDEPROJECTROOT)/lib
|
||||
#else
|
||||
# define CLdPreLibs /**/
|
||||
#endif
|
||||
#ifdef LdPreLibs
|
||||
# undef LdPreLibs
|
||||
#endif
|
||||
#define LdPreLibs LdPreLib CLdPreLibs MLdPreLibs XLdPreLibs
|
||||
|
||||
#ifdef CDEProjectRoot
|
||||
# define CLdPostLibs -L$(CDEPROJECTROOT)/lib
|
||||
#else
|
||||
# define CLdPostLibs /**/
|
||||
#endif
|
||||
#ifdef LdPostLibs
|
||||
# undef LdPostLibs
|
||||
#endif
|
||||
#define LdPostLibs LdPostLib CLdPostLibs MLdPostLibs XLdPostLibs
|
||||
|
||||
#ifdef TopIncludes
|
||||
# undef TopIncludes
|
||||
#endif
|
||||
#define TopIncludes TopInclude $(TOP_CDE_INCLUDES) $(TOP_MOTIF_INCLUDES) $(TOP_X_INCLUDES)
|
||||
|
||||
#if UseInstalledCDE && defined(CDEProjectRoot)
|
||||
# define CDEBuildLibPath $(CDEPROJECTROOT)/lib
|
||||
#elif UseInstalledCDE
|
||||
# define CDEBuildLibPath $(USRLIBDIR)
|
||||
#elif ImportCDE
|
||||
# define CDEBuildLibPath $(CDELIBSRC)
|
||||
#else
|
||||
# define CDEBuildLibPath $(TOP)/exports/lib
|
||||
#endif
|
||||
#ifdef BuildLibPath
|
||||
# undef BuildLibPath
|
||||
#endif
|
||||
#ifdef SystemBuildLibPath
|
||||
# define BuildLibPath \
|
||||
$(DTENVLIBDIR):$(MOTIFENVLIBDIR):$(XENVLIBDIR):$(SYSTEMENVLIBDIR)
|
||||
#else
|
||||
# define BuildLibPath $(DTENVLIBDIR):$(MOTIFENVLIBDIR):$(XENVLIBDIR)
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef CdeInstallationTop
|
||||
# define CdeInstallationTop /usr/dt
|
||||
#endif
|
||||
#ifndef CdeConfigurationTop
|
||||
# define CdeConfigurationTop /etc/dt
|
||||
#endif
|
||||
#ifndef CdeLogFilesTop
|
||||
# define CdeLogFilesTop /var/dt
|
||||
#endif
|
||||
#ifndef CdeUserTop
|
||||
# define CdeUserTop .dt
|
||||
#endif
|
||||
|
||||
#ifndef CdeProjectDefines
|
||||
# define CdeProjectDefines \
|
||||
-DANSICPP -DMULTIBYTE -DNLS16 \
|
||||
-DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion
|
||||
#endif
|
||||
#ifdef ProjectDefines
|
||||
# undef ProjectDefines
|
||||
#endif
|
||||
#define ProjectDefines X11ProjectDefines MotifProjectDefines CdeProjectDefines
|
||||
|
||||
#ifndef CdeCplusplusProjectDefines
|
||||
# define CdeCplusplusProjectDefines CdeProjectDefines
|
||||
#endif
|
||||
#ifdef CplusplusProjectDefines
|
||||
# undef CplusplusProjectDefines
|
||||
#endif
|
||||
#define CplusplusProjectDefines \
|
||||
X11CplusplusProjectDefines MotifCplusplusProjectDefines CdeCplusplusProjectDefines
|
||||
|
||||
/*
|
||||
* Doc build rules
|
||||
*/
|
||||
|
||||
/*
|
||||
* MakeSdlVolume - generate rules to create an SDL volume, in the specified
|
||||
* directory, from an SGML source doc.
|
||||
* Note: the volume name must match the directory name.
|
||||
*/
|
||||
#ifndef MakeSdlVolume
|
||||
#define MakeSdlVolume(vol,dir,env,opts,dep) @@\
|
||||
all:: dir/vol.sdl @@\
|
||||
@@\
|
||||
dir/vol.sdl: dep @@\
|
||||
MakeDir(dir) @@\
|
||||
env $(DTDOCBOOK) $(DTDOCBOOKOPTIONS) opts -o dir/vol.sdl vol/book.sgm @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) dir/vol.sdl vol/book.log
|
||||
#endif
|
||||
|
||||
/*
|
||||
* MakeTocFile - generate rules to create an SGML TOC file.
|
||||
* Note: the volume name must match the directory name.
|
||||
*/
|
||||
#ifndef MakeTocFile
|
||||
#define MakeTocFile(vol,env,opts,ttle,ident,dep) @@\
|
||||
all:: vol/TOC.sgm @@\
|
||||
@@\
|
||||
vol/TOC.sgm: dep @@\
|
||||
MakeDir($(DTINFOGENTMPDIR)) @@\
|
||||
env $(DTINFOGEN) tocgen -T $(DTINFOGENTMPDIR) $(DTINFOGENOPTIONS) opts -f vol/TOC.sgm -id ident -title ttle vol/book.sgm @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) vol/TOC.sgm
|
||||
#endif
|
||||
|
||||
#ifndef MakeTocFile3
|
||||
#define MakeTocFile3(vol,env,opts,ttle,ident,dep1,dep2,dep3) @@\
|
||||
all:: vol/TOC.sgm @@\
|
||||
@@\
|
||||
vol/TOC.sgm: dep1 @@\
|
||||
vol/TOC.sgm: dep2 @@\
|
||||
vol/TOC.sgm: dep3 @@\
|
||||
MakeDir($(DTINFOGENTMPDIR)) @@\
|
||||
env $(DTINFOGEN) tocgen -T $(DTINFOGENTMPDIR) $(DTINFOGENOPTIONS) opts -f vol/TOC.sgm -id ident -title ttle vol/book.sgm @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) vol/TOC.sgm
|
||||
#endif
|
||||
|
||||
/*
|
||||
* TocFileDep - generate TOC file dependency rule
|
||||
*/
|
||||
#ifndef TocFileDep
|
||||
#define TocFileDep(vol,dep) @@\
|
||||
vol/TOC.sgm: dep
|
||||
#endif
|
||||
|
||||
/*
|
||||
* MakeInfolib - generate rules to create an infolib.
|
||||
*/
|
||||
#ifndef MakeInfolib
|
||||
#define MakeInfolib(infolib,bkcase,env,opts,dep) @@\
|
||||
all:: infolib/bkcase/dtsearch/dtsearch.ocf @@\
|
||||
@@\
|
||||
infolib/bkcase/dtsearch/dtsearch.ocf: dep @@\
|
||||
MakeDir($(DTINFOGENTMPDIR)) @@\
|
||||
MakeDir(infolib) @@\
|
||||
env $(DTINFOGEN) build -v -T $(DTINFOGENTMPDIR) $(DTINFOGENOPTIONS) opts -l infolib bookcase.bc
|
||||
#endif
|
||||
|
||||
/*
|
||||
* InfolibDep - generate infolib dependency rule - Highly depending on MMDB!
|
||||
*/
|
||||
#ifndef InfolibDep
|
||||
#define InfolibDep(infolib,bkcase,dep) @@\
|
||||
infolib/bkcase/dtsearch/dtsearch.ocf: dep
|
||||
#endif
|
||||
|
||||
#ifndef InfolibDep3
|
||||
#define InfolibDep3(infolib,bkcase,dep1,dep2,dep3) @@\
|
||||
infolib/bkcase/dtsearch/dtsearch.ocf: dep1 @@\
|
||||
infolib/bkcase/dtsearch/dtsearch.ocf: dep2 @@\
|
||||
infolib/bkcase/dtsearch/dtsearch.ocf: dep3
|
||||
#endif
|
|
@ -1,461 +0,0 @@
|
|||
XCOMM $XConsortium: cde.tmpl /main/2 1996/12/04 10:13:09 swick $
|
||||
|
||||
/* Include the Motif project template file. */
|
||||
#include <Motif.tmpl>
|
||||
|
||||
#ifndef _CUse
|
||||
# if UseInstalledCDE
|
||||
# define _CUse(a,b) a
|
||||
# else
|
||||
# define _CUse(a,b) b
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef _CUseCat
|
||||
# if (__STDC__ && !defined(UnixCpp)) || defined(AnsiCpp) || defined(__llvm__)
|
||||
# if UseInstalledCDE
|
||||
# define _CUseCat(a,b,c) a##c
|
||||
# else
|
||||
# define _CUseCat(a,b,c) b##c
|
||||
# endif
|
||||
# else
|
||||
# if UseInstalledCDE
|
||||
# define _CUseCat(a,b,c) a/**/c
|
||||
# else
|
||||
# define _CUseCat(a,b,c) b/**/c
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef CDETop
|
||||
# if ImportCDE
|
||||
# define CDETop $(TOP)/imports/cde
|
||||
# else
|
||||
# define CDETop $(TOP)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef CDESharedRev
|
||||
#define CDESharedRev 2.1
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibPam
|
||||
# define SharedLibPam HasSharedLibraries
|
||||
#endif
|
||||
#ifndef NormalLibPam
|
||||
# define NormalLibPam (!SharedLibPam | ForceNormalLib)
|
||||
#endif
|
||||
#ifndef DebugLibPam
|
||||
# define DebugLibPam NO
|
||||
#endif
|
||||
#ifndef ProfileLibPam
|
||||
# define ProfileLibPam NO
|
||||
#endif
|
||||
#ifndef SharedPamRev
|
||||
# define SharedPamRev CDESharedRev
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibDtPamSvc
|
||||
# define SharedLibDtPamSvc HasSharedLibraries
|
||||
#endif
|
||||
#ifndef NormalLibDtPamSvc
|
||||
# define NormalLibDtPamSvc (!SharedLibDtPamSvc | ForceNormalLib)
|
||||
#endif
|
||||
#ifndef DebugLibDtPamSvc
|
||||
# define DebugLibDtPamSvc NO
|
||||
#endif
|
||||
#ifndef ProfileLibDtPamSvc
|
||||
# define ProfileLibDtPamSvc NO
|
||||
#endif
|
||||
#ifndef SharedDtPamSvcRev
|
||||
# define SharedDtPamSvcRev CDESharedRev
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibTt
|
||||
# define SharedLibTt HasSharedLibraries
|
||||
#endif
|
||||
#ifndef NormalLibTt
|
||||
# define NormalLibTt (!SharedLibTt | ForceNormalLib)
|
||||
#endif
|
||||
#ifndef DebugLibTt
|
||||
# define DebugLibTt NO
|
||||
#endif
|
||||
#ifndef ProfileLibTt
|
||||
# define ProfileLibTt NO
|
||||
#endif
|
||||
#ifndef SharedTtRev
|
||||
# define SharedTtRev CDESharedRev
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibDtSvc
|
||||
# define SharedLibDtSvc HasSharedLibraries
|
||||
#endif
|
||||
#ifndef NormalLibDtSvc
|
||||
# define NormalLibDtSvc (!SharedLibDtSvc | ForceNormalLib)
|
||||
#endif
|
||||
#ifndef DebugLibDtSvc
|
||||
# define DebugLibDtSvc NO
|
||||
#endif
|
||||
#ifndef ProfileLibDtSvc
|
||||
# define ProfileLibDtSvc NO
|
||||
#endif
|
||||
#ifndef SharedDtSvcRev
|
||||
# define SharedDtSvcRev CDESharedRev
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibDtSearch
|
||||
# define SharedLibDtSearch HasSharedLibraries
|
||||
#endif
|
||||
#ifndef NormalLibDtSearch
|
||||
# define NormalLibDtSearch (!SharedLibDtSearch | ForceNormalLib)
|
||||
#endif
|
||||
#ifndef DebugLibDtSearch
|
||||
# define DebugLibDtSearch NO
|
||||
#endif
|
||||
#ifndef ProfileLibDtSearch
|
||||
# define ProfileLibDtSearch NO
|
||||
#endif
|
||||
#ifndef SharedDtSearchRev
|
||||
# define SharedDtSearchRev CDESharedRev
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibDtWidget
|
||||
# define SharedLibDtWidget HasSharedLibraries
|
||||
#endif
|
||||
#ifndef NormalLibDtWidget
|
||||
# define NormalLibDtWidget (!SharedLibDtWidget | ForceNormalLib)
|
||||
#endif
|
||||
#ifndef DebugLibDtWidget
|
||||
# define DebugLibDtWidget NO
|
||||
#endif
|
||||
#ifndef ProfileLibDtWidget
|
||||
# define ProfileLibDtWidget NO
|
||||
#endif
|
||||
#ifndef SharedDtWidgetRev
|
||||
# define SharedDtWidgetRev CDESharedRev
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibDtHelp
|
||||
# define SharedLibDtHelp HasSharedLibraries
|
||||
#endif
|
||||
#ifndef NormalLibDtHelp
|
||||
# define NormalLibDtHelp (!SharedLibDtHelp | ForceNormalLib)
|
||||
#endif
|
||||
#ifndef DebugLibDtHelp
|
||||
# define DebugLibDtHelp NO
|
||||
#endif
|
||||
#ifndef ProfileLibDtHelp
|
||||
# define ProfileLibDtHelp NO
|
||||
#endif
|
||||
#ifndef SharedDtHelpRev
|
||||
# define SharedDtHelpRev CDESharedRev
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibDtPrint
|
||||
# define SharedLibDtPrint HasSharedLibraries
|
||||
#endif
|
||||
#ifndef NormalLibDtPrint
|
||||
# define NormalLibDtPrint (!SharedLibDtPrint | ForceNormalLib)
|
||||
#endif
|
||||
#ifndef DebugLibDtPrint
|
||||
# define DebugLibDtPrint NO
|
||||
#endif
|
||||
#ifndef ProfileLibDtPrint
|
||||
# define ProfileLibDtPrint NO
|
||||
#endif
|
||||
#ifndef SharedDtPrintRev
|
||||
# define SharedDtPrintRev CDESharedRev
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibDtTerm
|
||||
# define SharedLibDtTerm HasSharedLibraries
|
||||
#endif
|
||||
#ifndef NormalLibDtTerm
|
||||
# define NormalLibDtTerm (!SharedLibDtTerm | ForceNormalLib)
|
||||
#endif
|
||||
#ifndef DebugLibDtTerm
|
||||
# define DebugLibDtTerm NO
|
||||
#endif
|
||||
#ifndef ProfileLibDtTerm
|
||||
# define ProfileLibDtTerm NO
|
||||
#endif
|
||||
#ifndef SharedDtTermRev
|
||||
# define SharedDtTermRev CDESharedRev
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibDtMrm
|
||||
# define SharedLibDtMrm HasSharedLibraries
|
||||
#endif
|
||||
#ifndef NormalLibDtMrm
|
||||
# define NormalLibDtMrm (!SharedLibDtMrm | ForceNormalLib)
|
||||
#endif
|
||||
#ifndef DebugLibDtMrm
|
||||
# define DebugLibDtMrm NO
|
||||
#endif
|
||||
#ifndef ProfileLibDtMrm
|
||||
# define ProfileLibDtMrm NO
|
||||
#endif
|
||||
#ifndef SharedDtMrmRev
|
||||
# define SharedDtMrmRev CDESharedRev
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibDtMmdb
|
||||
# define SharedLibDtMmdb HasSharedLibraries
|
||||
#endif
|
||||
#ifndef NormalLibDtMmdb
|
||||
# define NormalLibDtMmdb (!SharedLibDtMmdb | ForceNormalLib)
|
||||
#endif
|
||||
#ifndef DebugLibDtMmdb
|
||||
# define DebugLibDtMmdb NO
|
||||
#endif
|
||||
#ifndef ProfileLibDtMmdb
|
||||
# define ProfileLibDtMmdb NO
|
||||
#endif
|
||||
#ifndef SharedDtMmdbRev
|
||||
# define SharedDtMmdbRev CDESharedRev
|
||||
#endif
|
||||
|
||||
#ifndef SharedLibCsa
|
||||
# define SharedLibCsa HasSharedLibraries
|
||||
#endif
|
||||
#ifndef NormalLibCsa
|
||||
# define NormalLibCsa (!SharedLibCsa | ForceNormalLib)
|
||||
#endif
|
||||
#ifndef DebugLibCsa
|
||||
# define DebugLibCsa NO
|
||||
#endif
|
||||
#ifndef ProfileLibCsa
|
||||
# define ProfileLibCsa NO
|
||||
#endif
|
||||
#ifndef SharedCsaRev
|
||||
# define SharedCsaRev CDESharedRev
|
||||
#endif
|
||||
|
||||
#ifndef DtLocalesToBuild
|
||||
#define DtLocalesToBuild de_DE.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 it_IT.UTF-8 ja_JP.dt-eucJP
|
||||
#endif
|
||||
|
||||
#ifndef DtCodeGen
|
||||
# if UseInstalledCDE
|
||||
# define DtCodeGen dtcodegen
|
||||
# else
|
||||
# define DtCodeGen $(CLIENTENVSETUP) $(DTCODEGENCAT) $(CDESRC)/dtappbuilder/src/abmf/dtcodegen
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef BuildCDEDoc
|
||||
# define BuildCDEDoc YES
|
||||
#endif
|
||||
|
||||
#ifndef UseNSGMLS
|
||||
# define UseNSGMLS YES
|
||||
#endif
|
||||
|
||||
#ifndef SGMLParser
|
||||
# if UseNSGMLS
|
||||
# define SGMLDir $(NSGMLSSRC)
|
||||
# define SGMLParser $(NSGMLSSRC)/nsgmls
|
||||
# else
|
||||
# define SGMLDir $(SGMLSSRC)
|
||||
# define SGMLParser $(SGMLSSRC)/sgmls
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef DtInfoGen
|
||||
# if UseInstalledCDE
|
||||
# define DtInfoGen dtinfogen
|
||||
# else
|
||||
# define DtInfoGen $(CLIENTENVSETUP) $(DTLCXENVSETUP) DTINFO_HOME=$(DTINFOGENSRC) DTINFO_BIN=$(DTINFOGENSRC)/install:$(DTINFOGENSRC)/mmdb/StyleSheet:$(DTINFOGENSRC)/mmdb/src:SGMLDir:$(CDESRC)/dtsr $(DTINFOGENSRC)/infolib/etc/dtinfogen
|
||||
# endif
|
||||
#endif
|
||||
#ifndef DtInfoGenTmpDir
|
||||
# define DtInfoGenTmpDir $(TOP)/doc/tmp
|
||||
#endif
|
||||
|
||||
#ifndef DtDocBook
|
||||
# if UseInstalledCDE
|
||||
# define DtDocBook dtdocbook
|
||||
# else
|
||||
# define DtDocBook $(CLIENTENVSETUP) $(DTLCXENVSETUP) $(KORNSHELL) $(CDESRC)/dtdocbook/doc2sdl/dtdocbook
|
||||
# endif
|
||||
#endif
|
||||
#ifndef DtDocBookOptions
|
||||
# if UseInstalledCDE
|
||||
# define DtDocBookOptions
|
||||
# else
|
||||
# define DtDocBookOptions -t $(CDESRC)/dtdocbook/doc2sdl -H $(HELPTAGPASS2DEF) -I $(CDESRC)/dtdocbook/instant/instant -L $(CDESRC)/dtdocbook/xlate_locale/xlate_locale -S SGMLParser
|
||||
# endif
|
||||
#endif
|
||||
|
||||
CDETOP = CDETop
|
||||
#if ImportCDE || UseInstalledCDE
|
||||
CDEINCLUDESRC = $(CDETOP)/include
|
||||
#else
|
||||
CDEINCLUDESRC = $(CDETOP)/exports/include
|
||||
#endif
|
||||
TOP_CDE_INCLUDES = -I$(CDEINCLUDESRC)
|
||||
CDELIBSRC = $(CDETOP)/lib
|
||||
PAMSRC = $(CDELIBSRC)/pam/libpam
|
||||
DTPAMSVCSRC = $(CDELIBSRC)/DtPamSvc
|
||||
TTSRC = $(CDELIBSRC)/tt
|
||||
DTSVCSRC = $(CDELIBSRC)/DtSvc
|
||||
DTSEARCHSRC = $(CDELIBSRC)/DtSearch
|
||||
DTWIDGETSRC = $(CDELIBSRC)/DtWidget
|
||||
DTHELPSRC = $(CDELIBSRC)/DtHelp
|
||||
DTPRINTSRC = $(CDELIBSRC)/DtPrint
|
||||
DTTERMSRC = $(CDELIBSRC)/DtTerm
|
||||
DTMRMSRC = $(CDELIBSRC)/DtMrm
|
||||
DTMMDBSRC = $(CDELIBSRC)/DtMmdb
|
||||
CSASRC = $(CDELIBSRC)/csa
|
||||
CDESRC = $(CDETOP)/programs
|
||||
#ifdef BuildLibPathVar
|
||||
DTENVLIBDIR = CDEBuildLibPath
|
||||
#endif
|
||||
#ifdef CDEProjectRoot
|
||||
CDEPROJECTROOT = CDEProjectRoot
|
||||
#endif
|
||||
CDE_INSTALLATION_TOP = CdeInstallationTop
|
||||
CDE_CONFIGURATION_TOP = CdeConfigurationTop
|
||||
CDE_LOGFILES_TOP = CdeLogFilesTop
|
||||
CDE_USER_TOP = CdeUserTop
|
||||
|
||||
DTCODEGEN = DtCodeGen
|
||||
HELPPARSERSRC = $(CDESRC)/dthelp/parser
|
||||
HELPTAG = _CUseCat($(BINDIR),$(HELPPARSERSRC)/helptag,/dthelptag)
|
||||
HELPTAGPASS1DEF = _CUseCat($(BINDIR),$(HELPPARSERSRC)/pass1/helptag,/dthelp_htag1)
|
||||
HELPTAGPASS2DEF = _CUseCat($(BINDIR),$(HELPPARSERSRC)/pass2/htag2,/dthelp_htag2)
|
||||
DTDOCBOOK = DtDocBook
|
||||
DTDOCBOOKOPTIONS = DtDocBookOptions
|
||||
#if UseNSGMLS
|
||||
NSGMLSSRC = $(CDESRC)/nsgmls
|
||||
#else
|
||||
SGMLSSRC = $(CDESRC)/dtdocbook/sgmls
|
||||
#endif
|
||||
DTINFOGENSRC = $(CDESRC)/dtinfo/dtinfogen
|
||||
DTINFOGEN = DtInfoGen
|
||||
DTINFOGENTMPDIR = DtInfoGenTmpDir
|
||||
#ifdef DtInfoGenOptions
|
||||
DTINFOGENOPTIONS = DtInfoGenOptions
|
||||
#endif
|
||||
#ifdef ArchitectureDefines
|
||||
ARCHITECTURE_DEFINES = ArchitectureDefines
|
||||
#endif
|
||||
#if !UseInstalledCDE
|
||||
DTLCXENVSETUP = DTLCXSEARCHPATH=$(DTHELPSRC)
|
||||
#endif
|
||||
|
||||
#ifndef TtClientLibs
|
||||
# define TtClientLibs $(TTLIB) $(XLIB)
|
||||
#endif
|
||||
#ifndef TtClientDepLibs
|
||||
# define TtClientDepLibs $(DEPTTLIB) $(DEPXLIB)
|
||||
#endif
|
||||
|
||||
/* These libraries use UseInstalledCDE instead of UseInstalled. */
|
||||
#undef _Use
|
||||
#undef _UseCat
|
||||
#define _Use _CUse
|
||||
#define _UseCat _CUseCat
|
||||
|
||||
#ifndef CDEBuildLibDir
|
||||
# define CDEBuildLibDir BuildLibDir
|
||||
#endif
|
||||
|
||||
#if SharedLibPam
|
||||
SharedLibReferences(PAM,pam,$(PAMSRC),SOPAMREV,SharedPamRev)
|
||||
#else
|
||||
ProjectUnsharedLibReferences(PAM,pam,$(PAMSRC),CDEBuildLibDir)
|
||||
#endif
|
||||
|
||||
#if SharedLibDtPamSvc
|
||||
SharedLibReferences(DTPAMSVC,dtpamsvc,$(DTPAMSVCSRC),SODTPAMSVCREV,SharedDtPamSvcRev)
|
||||
#else
|
||||
ProjectUnsharedLibReferences(DTPAMSVC,dtpamsvc,$(DTPAMSVCSRC),CDEBuildLibDir)
|
||||
#endif
|
||||
|
||||
#if SharedLibTt
|
||||
SharedLibReferences(TT,tt,$(TTSRC)/lib,SOTTREV,SharedTtRev)
|
||||
#else
|
||||
ProjectUnsharedLibReferences(TT,tt,$(TTSRC)/lib,CDEBuildLibDir)
|
||||
#endif
|
||||
|
||||
#if SharedLibDtSvc
|
||||
SharedLibReferences(DTSVC,DtSvc,$(DTSVCSRC),SODTSVCREV,SharedDtSvcRev)
|
||||
#else
|
||||
ProjectUnsharedLibReferences(DTSVC,DtSvc,$(DTSVCSRC),CDEBuildLibDir)
|
||||
#endif
|
||||
|
||||
#if SharedLibDtSearch
|
||||
SharedLibReferences(DTSEARCH,DtSearch,$(DTSEARCHSRC),SODTSEARCHREV,SharedDtSearchRev)
|
||||
#else
|
||||
ProjectUnsharedLibReferences(DTSEARCH,DtSearch,$(DTSEARCHSRC),CDEBuildLibDir)
|
||||
#endif
|
||||
|
||||
#if SharedLibDtWidget
|
||||
SharedLibReferences(DTWIDGET,DtWidget,$(DTWIDGETSRC),SODTWIDGETREV,SharedDtWidgetRev)
|
||||
#else
|
||||
ProjectUnsharedLibReferences(DTWIDGET,DtWidget,$(DTWIDGETSRC),CDEBuildLibDir)
|
||||
#endif
|
||||
|
||||
#if SharedLibDtHelp
|
||||
SharedLibReferences(DTHELP,DtHelp,$(DTHELPSRC),SODTHELPREV,SharedDtHelpRev)
|
||||
#else
|
||||
ProjectUnsharedLibReferences(DTHELP,DtHelp,$(DTHELPSRC),CDEBuildLibDir)
|
||||
#endif
|
||||
|
||||
#if SharedLibDtPrint
|
||||
SharedLibReferences(DTPRINT,DtPrint,$(DTPRINTSRC),SODTPRINTREV,SharedDtPrintRev)
|
||||
#else
|
||||
ProjectUnsharedLibReferences(DTPRINT,DtPrint,$(DTPRINTSRC),CDEBuildLibDir)
|
||||
#endif
|
||||
|
||||
#if SharedLibDtTerm
|
||||
SharedLibReferences(DTTERM,DtTerm,$(DTTERMSRC),SODTTERMREV,SharedDtTermRev)
|
||||
#else
|
||||
ProjectUnsharedLibReferences(DTTERM,DtTerm,$(DTTERMSRC),CDEBuildLibDir)
|
||||
#endif
|
||||
|
||||
#if SharedLibDtMrm
|
||||
SharedLibReferences(DTMRM,DtMrm,$(DTMRMSRC),SODTMRMREV,SharedDtMrmRev)
|
||||
#else
|
||||
ProjectUnsharedLibReferences(DTMRM,DtMrm,$(DTMRMSRC),CDEBuildLibDir)
|
||||
#endif
|
||||
|
||||
#if SharedLibDtMmdb
|
||||
SharedLibReferences(DTMMDB,DtMmdb,$(DTMMDBSRC),SODTMMDBREV,SharedDtMmdbRev)
|
||||
#else
|
||||
ProjectUnsharedLibReferences(DTMMDB,DtMmdb,$(DTMMDBSRC),CDEBuildLibDir)
|
||||
#endif
|
||||
|
||||
#if SharedLibDtCm
|
||||
SharedLibReferences(DTCM,DtCm,$(DTCMSRC),SODTCMREV,SharedDtCmRev)
|
||||
#else
|
||||
ProjectUnsharedLibReferences(DTCM,DtCm,$(DTCMSRC),CDEBuildLibDir)
|
||||
#endif
|
||||
|
||||
#if SharedLibCsa
|
||||
SharedLibReferences(CSA,csa,$(CSASRC),SOCSAREV,SharedCsaRev)
|
||||
#else
|
||||
ProjectUnsharedLibReferences(CSA,csa,$(CSASRC),CDEBuildLibDir)
|
||||
#endif
|
||||
|
||||
|
||||
/* Revert to the normal library rules. */
|
||||
#undef _Use
|
||||
#undef _UseCat
|
||||
#define _Use _XUse
|
||||
#define _UseCat _XUseCat
|
||||
|
||||
|
||||
#ifndef DtClientLibs
|
||||
# define DtClientLibs $(DTPRINTLIB) $(DTHELPLIB) $(DTWIDGETLIB) $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XLIB)
|
||||
#endif
|
||||
#ifndef DepDtClientLibs
|
||||
# define DepDtClientLibs $(DEPDTPRINTLIB) $(DEPDTHELPLIB) $(DEPDTWIDGETLIB) $(DEPDTSVCLIB) $(DEPTTLIB) $(DEPXMLIB) $(DEPXTOOLLIB) $(DEPXLIB)
|
||||
#endif
|
||||
#ifndef DtClientSysLibs
|
||||
# define DtClientSysLibs $(DYNLIBSYSLIB) $(ICONVSYSLIB) $(REGEXSYSLIB) -lm
|
||||
#endif
|
||||
#ifndef DtClientExtraLibs
|
||||
# define DtClientExtraLibs /**/
|
||||
#endif
|
|
@ -1,102 +0,0 @@
|
|||
XCOMM platform: $XConsortium: convex.cf /main/4 1996/09/28 16:09:50 rws $
|
||||
|
||||
#ifndef OSName
|
||||
#define OSName ConvexOS V9.0
|
||||
#endif
|
||||
XCOMM operating system: OSName
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion 9
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion 0
|
||||
#endif
|
||||
#ifndef VersionNumber
|
||||
#define VersionNumber 0.0.0.0
|
||||
#endif
|
||||
|
||||
#define BootstrapCFlags -tm c1
|
||||
#define SetTtyGroup YES
|
||||
#define BuildServer NO
|
||||
#define ConnectionFlags -DTCPCONN -DUNIXCONN -DCOVUENETCONN
|
||||
#define InstallXdmConfig YES
|
||||
#define XdmDir $(LIBDIR)/xdm-sample
|
||||
#define XdmServersType fs /* one tab here */
|
||||
#define HasXmWidgets NO
|
||||
#define InstKmemFlags -g kmem -m 2711 -v $(VERSION)
|
||||
#define InstScriptFlags -m 0755 -g bin
|
||||
#define InstManFlags -m 0444 -g bin
|
||||
#define DefaultCCOptions -fn -tm c1
|
||||
#define LibraryCCOptions -fx -tm c1
|
||||
#define StripFlags -r -x
|
||||
#define HasSecureOS YES
|
||||
#define BuildExamples YES
|
||||
#define BuildMotif NO
|
||||
#define BuildConvexClients YES
|
||||
#define MotifBC YES
|
||||
#define UilCommand uil
|
||||
#define ExampleDir $(LIBDIR)/examples
|
||||
#define UnSupDir $(LIBDIR)/unsupported
|
||||
#define BuildTestExt YES
|
||||
#define DefaultScreenSaverTime 0
|
||||
|
||||
#if BuildTestExt
|
||||
#define TestDefines -DXTESTEXT1
|
||||
#else
|
||||
#define TestDefines /**/
|
||||
#endif
|
||||
|
||||
#define ExtensionOSDefines TestDefines
|
||||
|
||||
VERSION = VersionNumber
|
||||
UIL = UilCommand
|
||||
UNSUPDIR = UnSupDir /* unsupported examples and code */
|
||||
|
||||
/*
|
||||
* _Use - makes a choice based on UseInstalled.
|
||||
*/
|
||||
#ifndef _Use
|
||||
#ifdef UseInstalled
|
||||
#define _Use(a,b) a
|
||||
#else
|
||||
#define _Use(a,b) b
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* _UseCat - combination of _Use and Concat.
|
||||
* exists to avoid problems with some preprocessors
|
||||
*/
|
||||
#ifndef _UseCat
|
||||
#if (defined(__STDC__) || (defined(__convex__) && defined(__stdc__)))
|
||||
&& !defined(UnixCpp)
|
||||
#ifdef UseInstalled
|
||||
#define _UseCat(a,b,c) a##c
|
||||
#else
|
||||
#define _UseCat(a,b,c) b##c
|
||||
#endif
|
||||
#else
|
||||
#ifdef UseInstalled
|
||||
#define _UseCat(a,b,c) a/**/c
|
||||
#else
|
||||
#define _UseCat(a,b,c) b/**/c
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if HasXmWidgets
|
||||
MRESOURCESRC = $(LIBSRC)/Mrm
|
||||
DEPMRESOURCELIB = _UseCat($(USRLIBDIR),$(MRESOURCESRC),/libMrm.a)
|
||||
MRESOURCELIB = LoaderLibPrefix _Use(-lMrm,$(DEPMRESOURCELIB))
|
||||
LINTMRESOURCELIB= _UseCat($(LINTLIBDIR),$(MRESOURCESRC),/llib-lMrm.ln)
|
||||
|
||||
XMLIBSRC = $(LIBSRC)/Xm
|
||||
DEPXMLIB = _UseCat($(USRLIBDIR),$(XMLIBSRC),/libXm.a)
|
||||
XMLIB = LoaderLibPrefix _Use(-lXm,$(DEPXMLIB))
|
||||
LINTXMLIB = _UseCat($(LINTLIBDIR),$(XMLIBSRC),/llib-lXm.ln)
|
||||
|
||||
UILLIBSRC = $(LIBSRC)/uil
|
||||
DEPUILLIB = _UseCat($(USRLIBDIR),$(UILLIBSRC),/libUil.a)
|
||||
UILLIB = LoaderLibPrefix _Use(-lUil,$(DEPUILLIB))
|
||||
LINTUILLIB = _UseCat($(LINTLIBDIR),$(UILLIBSRC),/llib-lUil.ln)
|
||||
|
||||
#endif
|
|
@ -1,50 +0,0 @@
|
|||
XCOMM platform: $XConsortium: cray.cf /main/52 1996/09/28 16:09:55 rws $
|
||||
|
||||
#ifndef OSName
|
||||
#define OSName UNICOS 8.0
|
||||
#endif
|
||||
XCOMM operating system: OSName
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion 8
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion 0
|
||||
#endif
|
||||
|
||||
#define SystemV YES
|
||||
#define Malloc0ReturnsNull YES
|
||||
#define RemoveTargetProgramByMoving YES
|
||||
#define ArCmd bld cr
|
||||
#define StandardDefines -DSYSV -DUSG
|
||||
#define ExecableScripts NO
|
||||
#define HasPoll NO
|
||||
#define HasXServer NO
|
||||
#define ConnectionFlags -DTCPCONN
|
||||
#define HasShm NO
|
||||
#define PexNativeFPFormat PEXCRAY_Floating
|
||||
#define NativeFPFormat CRAY_Float
|
||||
#ifdef UseInstalled
|
||||
#define InstallCmd install
|
||||
#else
|
||||
#define InstallCmd $(SHELL) $(CONFIGSRC)/util/install.sh
|
||||
#endif
|
||||
|
||||
#ifdef _CRAY2
|
||||
#define DefaultCCOptions -hpagelm -hlimitlm
|
||||
#endif
|
||||
|
||||
#if OSMajorVersion >= 6
|
||||
#define PreProcessCmd /lib/pcpp
|
||||
#define CppCmd /lib/pcpp
|
||||
#else
|
||||
# if OSMajorVersion == 5
|
||||
# define PreProcessCmd /lib/cpp
|
||||
# define CppCmd /lib/cpp
|
||||
# define ExtraLoadFlags -lnet
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* XKB library code does not work here yet */
|
||||
#define BuildXKBlib NO
|
||||
|
||||
#define MotifDefines -DNO_REGEX -DNO_REGCOMP
|
|
@ -1,45 +0,0 @@
|
|||
/* $XFree86: xc/config/cf/cross.def,v 1.1 2000/12/08 22:09:34 keithp Exp $ */
|
||||
/*
|
||||
* This file contains redefinitions of some symbols to enable
|
||||
* cross compilation: e.g. paths for include files and paths to
|
||||
* compiler images. It will have to be edited to reflect these
|
||||
* given your local configuration.
|
||||
*/
|
||||
#if 0
|
||||
#undef i386Architecture
|
||||
#define Arm32Architecture
|
||||
|
||||
#undef OptimizedCDebugFlags
|
||||
#define OptimizedCDebugFlags -O2
|
||||
#define ServerCDebugFlags -O2
|
||||
#undef StandardDefines
|
||||
#define StandardDefines -Dlinux -D__arm__ -D_POSIX_SOURCE \
|
||||
-D_BSD_SOURCE -D_GNU_SOURCE -DX_LOCALE
|
||||
#undef CcCmd
|
||||
#define StdIncDir /skiff/local/arm-linux/include
|
||||
#define PreIncDir
|
||||
#undef PostIncDir
|
||||
#define PostIncDir /skiff/local/lib/gcc-lib/arm-linux/2.95.2/include
|
||||
#define CcCmd /skiff/local/bin/arm-linux-gcc
|
||||
#undef CplusplusCmd
|
||||
#define HasCplusplus YES
|
||||
#define CplusplusCmd /skiff/local/bin/arm-linux-g++
|
||||
#define DoRanlibCmd YES
|
||||
#define RanlibCmd /skiff/local/bin/arm-linux-ranlib
|
||||
#undef ExtraLoadFlags
|
||||
#define ExtraLoadFlags
|
||||
#define FbNoPixelAddrCode
|
||||
#undef TermcapLibrary
|
||||
#define TermcapLibrary -ltermcap
|
||||
|
||||
#undef LdPostLib
|
||||
#define LdPostLib -L/skiff/local/arm-linux/lib
|
||||
|
||||
#undef ExtensionOSDefines
|
||||
#define ExtensionOSDefines
|
||||
|
||||
#define ServerXdmcpDefines /**/
|
||||
|
||||
#define HostCcCmd cc
|
||||
#endif
|
||||
#include <cross.rules>
|
|
@ -1,147 +0,0 @@
|
|||
XCOMM $XFree86: xc/config/cf/cross.rules,v 1.7 2002/04/04 14:05:33 eich Exp $
|
||||
|
||||
#ifndef HostCcCmd
|
||||
#define HostCcCmd cc
|
||||
#endif
|
||||
|
||||
#define HostLinkRule(target,flags,objs,libs) HostCcCmd -I$(BUILDINCDIR) -o target flags objs libs
|
||||
|
||||
/* ComplexHostProgramTarget - Compile a program such that we can run
|
||||
* it on this host, i.e., don't use the default cross compiler.
|
||||
*/
|
||||
#ifndef ComplexHostProgramTarget
|
||||
#define ComplexHostProgramTarget(program) @@\
|
||||
CC=HostCcCmd @@\
|
||||
STD_INCLUDES= @@\
|
||||
CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS)\ @@\
|
||||
$(CROSSCOMPILEDEFINES) $(CROSSCOMPILEBOOTSTRAPDEFINES) @@\
|
||||
EXTRA_LOAD_FLAGS= @@\
|
||||
PROGRAM = program @@\
|
||||
@@\
|
||||
AllTarget(HostProgramTargetName(program)) @@\
|
||||
@@\
|
||||
HostProgramTargetName(program): $(OBJS) $(DEPLIBS) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
HostLinkRule($@,$(_NOOP_),$(OBJS),$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
|
||||
@@\
|
||||
DependTarget() @@\
|
||||
@@\
|
||||
LintTarget() @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
RemoveFile(HostProgramTargetName(program))
|
||||
#endif /* ComplexHostProgramTarget */
|
||||
|
||||
|
||||
#ifndef SimpleHostProgramTarget
|
||||
#define SimpleHostProgramTarget(program) @@\
|
||||
SRCS = program.c @@\
|
||||
@@\
|
||||
CC=HostCcCmd @@\
|
||||
STD_INCLUDES= @@\
|
||||
CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS)\ @@\
|
||||
$(CROSSCOMPILEDEFINES) $(CROSSCOMPILEBOOTSTRAPDEFINES) @@\
|
||||
EXTRA_LOAD_FLAGS= @@\
|
||||
PROGRAM = program @@\
|
||||
@@\
|
||||
AllTarget(HostProgramTargetName(program)) @@\
|
||||
@@\
|
||||
HostProgramTargetName(program): program.o $(DEPLIBS) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
HostLinkRule($@,$(_NOOP_),program.o,$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
|
||||
@@\
|
||||
DependTarget() @@\
|
||||
@@\
|
||||
LintTarget() @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
RemoveFile(HostProgramTargetName(program))
|
||||
#endif /* SimpleHostProgramTarget */
|
||||
|
||||
#ifndef SimpleHostProgramTarget_1
|
||||
#define SimpleHostProgramTarget_1(program) @@\
|
||||
SRCS = program.c @@\
|
||||
@@\
|
||||
CC=HostCcCmd @@\
|
||||
STD_INCLUDES= @@\
|
||||
CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS)\ @@\
|
||||
$(CROSSCOMPILEDEFINES) $(CROSSCOMPILEBOOTSTRAPDEFINES) @@\
|
||||
EXTRA_LOAD_FLAGS= @@\
|
||||
PROGRAM = program @@\
|
||||
@@\
|
||||
AllTarget(HostProgramTargetName(program)) @@\
|
||||
@@\
|
||||
HostProgramTargetName(program): program.o $(DEPLIBS) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
HostLinkRule($@,$(_NOOP_),program.o,$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
|
||||
@@\
|
||||
DependTarget() @@\
|
||||
LintTarget() @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
RemoveFile(HostProgramTargetName(program))
|
||||
#endif /* SimpleHostProgramTarget_1 */
|
||||
|
||||
|
||||
#ifndef SimpleHostProgramTarget_2
|
||||
#define SimpleHostProgramTarget_2(program) @@\
|
||||
SRCS = program.c @@\
|
||||
@@\
|
||||
CC=HostCcCmd @@\
|
||||
STD_INCLUDES= @@\
|
||||
CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS)\ @@\
|
||||
$(CROSSCOMPILEDEFINES) $(CROSSCOMPILEBOOTSTRAPDEFINES) @@\
|
||||
EXTRA_LOAD_FLAGS= @@\
|
||||
PROGRAM = program @@\
|
||||
@@\
|
||||
AllTarget(HostProgramTargetName(program)) @@\
|
||||
@@\
|
||||
HostProgramTargetName(program): program.o $(DEPLIBS) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
HostLinkRule($@,$(_NOOP_),program.o,$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
RemoveFile(HostProgramTargetName(program))
|
||||
#endif /* SimpleHostProgramTarget_2 */
|
||||
|
||||
#ifndef SimpleHostProgramTarget_3
|
||||
#define SimpleHostProgramTarget_3(program) @@\
|
||||
SRCS = program.c @@\
|
||||
@@\
|
||||
CC=HostCcCmd @@\
|
||||
STD_INCLUDES= @@\
|
||||
CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS)\ @@\
|
||||
$(CROSSCOMPILEDEFINES) $(CROSSCOMPILEBOOTSTRAPDEFINES) @@\
|
||||
EXTRA_LOAD_FLAGS= @@\
|
||||
PROGRAM = program @@\
|
||||
@@\
|
||||
AllTarget(HostProgramTargetName(program)) @@\
|
||||
@@\
|
||||
HostProgramTargetName(program): program.o $(DEPLIBS) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
HostLinkRule($@,$(_NOOP_),program.o,$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
RemoveFile(HostProgramTargetName(program))
|
||||
#endif /* SimpleHostProgramTarget_3 */
|
||||
|
||||
#ifndef SimpleHostProgramTarget_4
|
||||
#define SimpleHostProgramTarget_4(program) @@\
|
||||
SRCS = program.c @@\
|
||||
@@\
|
||||
CC=HostCcCmd @@\
|
||||
STD_INCLUDES= @@\
|
||||
CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS)\ @@\
|
||||
$(CROSSCOMPILEDEFINES) $(CROSSCOMPILEBOOTSTRAPDEFINES) @@\
|
||||
EXTRA_LOAD_FLAGS= @@\
|
||||
PROGRAM = program @@\
|
||||
@@\
|
||||
AllTarget(HostProgramTargetName(program)) @@\
|
||||
@@\
|
||||
HostProgramTargetName(program): program.o $(DEPLIBS) @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
HostLinkRule($@,$(_NOOP_),program.o,$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
RemoveFile(HostProgramTargetName(program))
|
||||
#endif /* SimpleHostProgramTarget_4 */
|
|
@ -1,338 +0,0 @@
|
|||
XCOMM $XdotOrg: xc/config/cf/darwin.cf,v 1.7 2005/03/17 01:12:07 torrey Exp $
|
||||
XCOMM platform: $XFree86: xc/config/cf/darwin.cf,v 1.50 2004/01/20 23:54:50 torrey Exp $
|
||||
|
||||
/* Darwin / Mac OS X configuration by John Carmack <johnc@idsoftware.com> */
|
||||
|
||||
/* imake determines the default values by parsing uname */
|
||||
#ifndef OSName
|
||||
#define OSName DefaultOSName
|
||||
#endif
|
||||
#ifndef OSVendor
|
||||
#define OSVendor Apple Computer, Inc.
|
||||
#endif
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion DefaultOSMajorVersion
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion DefaultOSMinorVersion
|
||||
#endif
|
||||
#ifndef OSTeenyVersion
|
||||
#define OSTeenyVersion DefaultOSTeenyVersion
|
||||
#endif
|
||||
|
||||
XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
|
||||
|
||||
/*
|
||||
* Define the operating system's capabilities
|
||||
*/
|
||||
#define HasSnprintf YES
|
||||
#define HasPutenv YES
|
||||
#define HasBSD44Sockets YES
|
||||
#define Malloc0ReturnsNull NO
|
||||
#define HasShadowPasswd NO
|
||||
#define HasUsableFileMmap YES
|
||||
#define HasZlib YES
|
||||
#ifndef HasShm
|
||||
# define HasShm YES
|
||||
#endif
|
||||
#define HasNdbm YES
|
||||
#if OSMajorVersion >= 6
|
||||
# define HasNCurses YES
|
||||
# define HasArc4Random YES
|
||||
# define HasGetIfAddrs YES
|
||||
# define HasStrlcat YES
|
||||
#else
|
||||
# define HasBasename NO
|
||||
# define HasNCurses NO
|
||||
#endif
|
||||
#ifndef HasGroff
|
||||
# define HasGroff YES
|
||||
#endif
|
||||
#ifndef HasGcc3
|
||||
# define HasGcc3 NO
|
||||
#endif
|
||||
#ifndef HasExpat
|
||||
# define HasExpat NO
|
||||
#endif
|
||||
#ifndef HasLibpng
|
||||
# define HasLibpng NO
|
||||
#endif
|
||||
|
||||
/* Older versions don't really support IPv6, but #define AF_INET6. */
|
||||
#if OSMajorVersion < 6
|
||||
# define BuildIPv6 NO
|
||||
#endif
|
||||
|
||||
/* Thread support */
|
||||
#define HasPosixThreads YES
|
||||
#define SystemMTDefines -D_REENTRANT
|
||||
#if OSMajorVersion >= 6
|
||||
# define HasThreadSafeAPI YES
|
||||
# define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXNO_MTSAFE_UNISTDAPI
|
||||
#else
|
||||
# define HasThreadSafeAPI NO
|
||||
# define MTSafeAPIDefines -DXOS_USE_MTSAFE_NETDBAPI
|
||||
#endif
|
||||
|
||||
/* Libtool on Darwin always uses minor numbers */
|
||||
#define LibtoolMinorVersions YES
|
||||
|
||||
/* The most common file system, HFS+, is not case sensitive. */
|
||||
#ifndef CaseSensitiveFileSystem
|
||||
# define CaseSensitiveFileSystem NO
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This enables some settings for developers.
|
||||
*/
|
||||
#ifndef XFree86Devel
|
||||
# define XFree86Devel NO
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This enables Quartz compatibility.
|
||||
* Turn off to build on raw Darwin systems.
|
||||
*/
|
||||
#ifndef DarwinQuartzSupport
|
||||
# define DarwinQuartzSupport YES
|
||||
#endif
|
||||
|
||||
#if DarwinQuartzSupport
|
||||
|
||||
# if OSMajorVersion >= 7
|
||||
PROJ_BUILD = xcodebuild
|
||||
# else
|
||||
PROJ_BUILD = pbxbuild
|
||||
# endif
|
||||
|
||||
# ifndef HasXplugin
|
||||
# if OSMajorVersion >= 7
|
||||
# define HasXplugin YES
|
||||
# else
|
||||
# define HasXplugin NO
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# if HasXplugin
|
||||
# ifndef XpLibDir
|
||||
# define XpLibDir /usr/lib
|
||||
# endif
|
||||
# ifndef XpIncDir
|
||||
# define XpIncDir $(SERVERSRC)/hw/darwin/quartz/xpr
|
||||
# endif
|
||||
XPLIBDIR = XpLibDir
|
||||
XPINCDIR = XpIncDir
|
||||
# define XpluginLibrary Concat(-L,$(XPLIBDIR)) -lXplugin
|
||||
# else
|
||||
# define XpluginLibrary /**/
|
||||
# endif
|
||||
|
||||
# ifndef BuildAppleDRI
|
||||
# if HasXplugin
|
||||
# define BuildAppleDRI YES
|
||||
# else
|
||||
# define BuildAppleDRI NO
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# if BuildAppleDRI
|
||||
# define GlxExtraDefines -DGLX_DIRECT_RENDERING -DGLX_USE_APPLEGL GlxArchDefines
|
||||
# endif
|
||||
|
||||
# define BuildRootless YES
|
||||
# define BuildAppleWMLibrary YES
|
||||
|
||||
#endif /* DarwinQuartzSupport */
|
||||
|
||||
/* we don't need -lm */
|
||||
#define MathLibrary /**/
|
||||
|
||||
#define TermcapLibrary -lcurses
|
||||
#define SetTtyGroup YES /* for xterm */
|
||||
|
||||
/* we don't have a dbm library */
|
||||
#define DBMLibrary /**/
|
||||
|
||||
#define MkdirHierCmd mkdir -p
|
||||
|
||||
/* Use flex -l for compatibility with various versions of flex. */
|
||||
#ifndef LexCmd
|
||||
# define LexCmd flex -l
|
||||
#endif
|
||||
#define HasFlex YES
|
||||
|
||||
/*
|
||||
* Our cpp isn't in /lib/cpp and early versions don't like -undef.
|
||||
* The gcc 3.3 cpp that Apple ships inserts spurious #pragmas,
|
||||
* so we use the 3.1-based version in this case.
|
||||
*/
|
||||
#if (GccMajorVersion == 3) && (GccMinorVersion == 3)
|
||||
# define CppCmd /usr/bin/cpp3
|
||||
#else
|
||||
# define CppCmd /usr/bin/cpp
|
||||
#endif
|
||||
#if (GccMajorVersion == 3) && (GccMinorVersion == 3) || (GccMajorVersion > 3)
|
||||
# define StandardCppOptions -traditional -D__GNUC__
|
||||
#endif
|
||||
#if HasGcc3
|
||||
# define RawCppCmd CppCmd -undef
|
||||
#else
|
||||
# define RawCppCmd CppCmd
|
||||
#endif
|
||||
|
||||
/* we have a gcc compatible compiler, but its not called gcc */
|
||||
#define CcCmd /usr/bin/cc
|
||||
#define CplusplusCmd /usr/bin/c++
|
||||
|
||||
/* default flags to pass to cc */
|
||||
#ifndef DefaultCCOptions
|
||||
#if XFree86Devel
|
||||
# define DefaultCCOptions -Wall -Wpointer-arith -Wstrict-prototypes \
|
||||
-Wmissing-prototypes -Wmissing-declarations \
|
||||
-Wredundant-decls -Wnested-externs \
|
||||
-no-cpp-precomp
|
||||
#else
|
||||
# define DefaultCCOptions -Wall -Wpointer-arith -no-cpp-precomp
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* flags to pass to cc when building libraries */
|
||||
#ifndef LibraryCCOptions
|
||||
# define LibraryCCOptions DefaultCCOptions -fno-common
|
||||
#endif
|
||||
|
||||
/* The cr implementation does not build with NEED_SCREEN_REGIONS,
|
||||
so play it safe. */
|
||||
#ifndef ServerCCOptions
|
||||
# define ServerCCOptions DefaultCCOptions -UNEED_SCREEN_REGIONS
|
||||
#endif
|
||||
|
||||
#ifdef PpcDarwinArchitecture
|
||||
# define DarwinMachineDefines -D__powerpc__
|
||||
# if HasGcc3
|
||||
# define OptimizedCDebugFlags -Os
|
||||
# else
|
||||
# define OptimizedCDebugFlags -O2
|
||||
# endif
|
||||
# define ByteOrder X_BIG_ENDIAN
|
||||
#endif /* PpcDarwinArchitecture */
|
||||
|
||||
#ifdef i386DarwinArchitecture
|
||||
# define DarwinMachineDefines -D__i386__
|
||||
# if HasGcc3
|
||||
# define OptimizedCDebugFlags -Os
|
||||
# else
|
||||
# define OptimizedCDebugFlags -O2 -fno-strength-reduce
|
||||
# endif
|
||||
# define ByteOrder X_LITTLE_ENDIAN
|
||||
#endif /* i386DarwinArchitecture */
|
||||
|
||||
|
||||
#ifdef x86_64DarwinArchitecture
|
||||
# define DarwinMachineDefines -D__x86_64__
|
||||
# if HasGcc3
|
||||
# define OptimizedCDebugFlags -Os
|
||||
# else
|
||||
# define OptimizedCDebugFlags -O2 -fno-strength-reduce
|
||||
# endif
|
||||
# define ByteOrder X_LITTLE_ENDIAN
|
||||
#endif /* x86_64DarwinArchitecture */
|
||||
|
||||
#if OSMajorVersion < 7
|
||||
# define DarwinLocaleDefines -DX_LOCALE
|
||||
#else
|
||||
# define DarwinLocaleDefines /**/
|
||||
# define XawI18nDefines -DHAS_WCHAR_H -DHAS_WCTYPE_H -DNO_WIDEC_H
|
||||
#endif
|
||||
|
||||
/*
|
||||
* __DARWIN__ will be used for platform specific #ifdefs that can't
|
||||
* be handled by existing X defines.
|
||||
*
|
||||
* Darwin's alloca() seg faults (rather than returning NULL) on failed
|
||||
* allocations, so we can't use it.
|
||||
*/
|
||||
#define StandardDefines DarwinMachineDefines -D__DARWIN__ \
|
||||
-DNO_ALLOCA -DCSRG_BASED DarwinLocaleDefines
|
||||
|
||||
/*
|
||||
* Set this to NO to just build the client libs, which should work without
|
||||
* having to write any platform specific code.
|
||||
*/
|
||||
#ifndef BuildServer
|
||||
# define BuildServer YES
|
||||
|
||||
/* our custom X server */
|
||||
# define XDarwinServer YES
|
||||
#endif
|
||||
|
||||
/* Thanks to the IOKit, the X server does not have to be SetUID. */
|
||||
#ifndef InstallXserverSetUID
|
||||
# define InstallXserverSetUID NO
|
||||
#endif
|
||||
|
||||
/* Allow Xtrans to work with non-SetUID server. */
|
||||
#ifndef XtransFailSoft
|
||||
# define XtransFailSoft YES
|
||||
#endif
|
||||
|
||||
/* disable XKB by default as it can cause problems */
|
||||
#define DfltDisableXKB YES
|
||||
|
||||
/* no direct graphics extension */
|
||||
#define BuildXF86DGA NO
|
||||
|
||||
/* Support for tablets and other non-standard input devices */
|
||||
#ifndef BuildXInputExt
|
||||
# define BuildXInputExt YES
|
||||
#endif
|
||||
#define BuildXInputLib YES
|
||||
|
||||
/* no Display Power Management extension */
|
||||
#define BuildDPMS NO
|
||||
|
||||
/* no XFree86-Misc extension */
|
||||
#define BuildXF86MiscExt NO
|
||||
|
||||
/* no XFree86-VidMode extension */
|
||||
#define BuildXF86VidModeExt NO
|
||||
|
||||
#ifndef BuildXterm
|
||||
# define BuildXterm BuildClients /* Not enabled by default */
|
||||
#endif
|
||||
|
||||
#define BuildLibPathVar DYLD_LIBRARY_PATH
|
||||
|
||||
/* include rules to build shared libraries */
|
||||
#include <darwinLib.rules>
|
||||
|
||||
/*
|
||||
* BundleProgramTarget - Generate rules for compiling, linking and
|
||||
* installing a bundle executable.
|
||||
*/
|
||||
#ifndef BundleProgramTarget
|
||||
#define BundleProgramTarget(program,loader,subdirs,objs,deplib,syslib,dstdir) @@\
|
||||
@@\
|
||||
AllTarget(program) @@\
|
||||
@@\
|
||||
program: loader subdirs objs deplib @@\
|
||||
RemoveTargetProgram($@) @@\
|
||||
LinkRule($@,-bundle $(LDOPTIONS),objs,deplib $(LDLIBS) syslib -bundle_loader loader) @@\
|
||||
@@\
|
||||
InstallProgram(program,dstdir/program.bundle/Contents/MacOS) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
RemoveFile(program)
|
||||
#endif /* BundleProgramTarget */
|
||||
|
||||
/*
|
||||
* Darwin specific Imake Config files
|
||||
*/
|
||||
#ifndef LocalConfigFiles
|
||||
#define LocalConfigFiles \
|
||||
darwinLib.rules \
|
||||
darwinLib.tmpl
|
||||
#endif
|
||||
|
||||
/* include all the X.Org rules */
|
||||
#include <xorg.cf>
|
|
@ -1,167 +0,0 @@
|
|||
XCOMM $XFree86: xc/config/cf/darwinLib.rules,v 1.8 2003/10/09 22:43:18 herrb Exp $
|
||||
/*
|
||||
* Darwin/Mac OS X shared library rules
|
||||
*/
|
||||
|
||||
#ifndef UseElfFormat
|
||||
#define UseElfFormat NO
|
||||
#endif
|
||||
#ifndef HasSharedLibraries
|
||||
#define HasSharedLibraries YES
|
||||
#endif
|
||||
#ifndef ForceNormalLib
|
||||
#define ForceNormalLib YES
|
||||
#endif
|
||||
|
||||
#ifndef SharedDataSeparation
|
||||
#define SharedDataSeparation NO
|
||||
#endif
|
||||
#ifndef SharedCodeDef
|
||||
#define SharedCodeDef /**/
|
||||
#endif
|
||||
#ifndef SharedLibraryDef
|
||||
#define SharedLibraryDef /**/
|
||||
#endif
|
||||
#ifndef ShLibIncludeFile
|
||||
#define ShLibIncludeFile <darwinLib.tmpl>
|
||||
#endif
|
||||
#ifndef SharedLibraryLoadFlags
|
||||
#define SharedLibraryLoadFlags -dynamiclib
|
||||
#endif
|
||||
#ifndef PositionIndependentCFlags
|
||||
#define PositionIndependentCFlags -dynamic
|
||||
#endif
|
||||
#ifndef ExtraLoadFlags
|
||||
#define ExtraLoadFlags /**/
|
||||
#endif
|
||||
|
||||
/*
|
||||
* InstallSharedLibrary - generate rules to install the shared library.
|
||||
*/
|
||||
#ifndef InstallSharedLibrary
|
||||
#define InstallSharedLibrary(libname,rev,dest) @@\
|
||||
install:: Concat(lib,libname.rev.dylib) @@\
|
||||
MakeDir($(DESTDIR)dest) @@\
|
||||
$(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) Concat(lib,libname.rev.dylib) $(DESTDIR)dest @@\
|
||||
@MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
|
||||
set -x; $(RM) Concat($(DESTDIR)dest/lib,libname.$$MAJREV.dylib) && \ @@\
|
||||
$(LN) Concat(lib,libname.rev.dylib) Concat($(DESTDIR)dest/lib,libname.$$MAJREV.dylib) @@\
|
||||
@if $(SOSYMLINK); then (set -x; \ @@\
|
||||
$(RM) Concat($(DESTDIR)dest/lib,libname.dylib); \ @@\
|
||||
$(LN) Concat(lib,libname.rev.dylib) Concat($(DESTDIR)dest/lib,libname.dylib)); fi
|
||||
#endif /* InstallSharedLibrary */
|
||||
|
||||
/*
|
||||
* SharedLibraryTarget - generate rules to create a shared library;
|
||||
* build it into a different name so that we do not hose people by having
|
||||
* the library gone for long periods.
|
||||
*/
|
||||
#ifndef SharedLibraryTarget
|
||||
# define SharedLibraryTarget(libname,rev,solist,down,up) @@\
|
||||
AllTarget(Concat(lib,libname.rev.dylib)) @@\
|
||||
@@\
|
||||
Concat(lib,libname.rev.dylib): solist $(EXTRALIBRARYDEPS) @@\
|
||||
$(RM) $@~ @@\
|
||||
@MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
|
||||
INSTALLNAME=Concat(lib,libname.$$MAJREV.dylib); \ @@\
|
||||
set -x; (cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -install_name $(USRLIBDIR)/$$INSTALLNAME -current_version rev -compatibility_version rev solist $(REQUIREDLIBS)); \ @@\
|
||||
$(RM) $$INSTALLNAME; $(LN) $@ $$INSTALLNAME; \ @@\
|
||||
LinkBuildSonameLibrary($$INSTALLNAME) @@\
|
||||
$(RM) $@ @@\
|
||||
$(MV) $@~ $@ @@\
|
||||
@if $(SOSYMLINK); then (set -x; \ @@\
|
||||
$(RM) Concat(lib,libname.dylib); \ @@\
|
||||
$(LN) $@ Concat(lib,libname.dylib)); fi @@\
|
||||
LinkBuildLibrary($@) @@\
|
||||
LinkBuildLibraryMaybe(Concat(lib,libname.dylib),$(SOSYMLINK)) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
@MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
|
||||
set -x; $(RM) Concat(lib,libname.$$MAJREV.dylib) @@\
|
||||
$(RM) Concat(lib,libname.rev.dylib) Concat(lib,libname.dylib)
|
||||
|
||||
#endif /* SharedLibraryTarget */
|
||||
|
||||
/*
|
||||
* SharedDepLibraryTarget - generate rules to create a shared library.
|
||||
*/
|
||||
#ifndef SharedDepLibraryTarget
|
||||
# define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
|
||||
AllTarget(Concat(lib,libname.rev.dylib)) @@\
|
||||
@@\
|
||||
Concat(lib,libname.rev.dylib): deplist $(EXTRALIBRARYDEPS) @@\
|
||||
$(RM) $@~ @@\
|
||||
@MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
|
||||
INSTALLNAME=Concat(lib,libname.$$MAJREV.dylib); \ @@\
|
||||
set -x; (cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -install_name $(USRLIBDIR)/$$INSTALLNAME -current_version rev -compatibility_version rev solist $(REQUIREDLIBS)); \ @@\
|
||||
$(RM) $$INSTALLNAME; $(LN) $@ $$INSTALLNAME; \ @@\
|
||||
LinkBuildSonameLibrary($$INSTALLNAME) @@\
|
||||
$(RM) $@ @@\
|
||||
$(MV) $@~ $@ @@\
|
||||
@if $(SOSYMLINK); then (set -x; \ @@\
|
||||
$(RM) Concat(lib,libname.dylib); \ @@\
|
||||
$(LN) $@ Concat(lib,libname.dylib)); fi @@\
|
||||
LinkBuildLibrary($@) @@\
|
||||
LinkBuildLibraryMaybe(Concat(lib,libname.dylib),$(SOSYMLINK)) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
@MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
|
||||
set -x; $(RM) Concat(lib,libname.$$MAJREV.dylib) @@\
|
||||
$(RM) Concat(lib,libname.rev.dylib) Concat(lib,libname.dylib)
|
||||
|
||||
#endif /* SharedDepLibraryTarget */
|
||||
|
||||
/*
|
||||
* SharedDepCplusplusLibraryTarget - generate rules to create a shared library.
|
||||
*/
|
||||
#ifndef SharedDepCplusplusLibraryTarget
|
||||
# define SharedDepCplusplusLibraryTarget(libname,rev,deplist,solist,down,up) @@\
|
||||
AllTarget(Concat(lib,libname.rev.dylib)) @@\
|
||||
@@\
|
||||
Concat(lib,libname.rev.dylib): deplist $(EXTRALIBRARYDEPS) @@\
|
||||
$(RM) $@~ @@\
|
||||
@MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
|
||||
INSTALLNAME=Concat(lib,libname.$$MAJREV.dylib); \ @@\
|
||||
set -x; (cd down; $(CXX) -o up/$@~ $(SHLIBLDFLAGS) -install_name $(USRLIBDIR)/$$INSTALLNAME -current_version rev -compatibility_version rev solist $(REQUIREDLIBS)); \ @@\
|
||||
$(RM) $$INSTALLNAME; $(LN) $@ $$INSTALLNAME; \ @@\
|
||||
LinkBuildSonameLibrary($$INSTALLNAME) @@\
|
||||
$(RM) $@ @@\
|
||||
$(MV) $@~ $@ @@\
|
||||
@if $(SOSYMLINK); then (set -x; \ @@\
|
||||
$(RM) Concat(lib,libname.dylib); \ @@\
|
||||
$(LN) $@ Concat(lib,libname.dylib)); fi @@\
|
||||
LinkBuildLibrary($@) @@\
|
||||
LinkBuildLibraryMaybe(Concat(lib,libname.dylib),$(SOSYMLINK)) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
@MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
|
||||
set -x; $(RM) Concat(lib,libname.$$MAJREV.dylib) @@\
|
||||
$(RM) Concat(lib,libname.rev.dylib) Concat(lib,libname.dylib)
|
||||
|
||||
#endif /* SharedDepCplusplusLibraryTarget */
|
||||
|
||||
#ifndef SharedDepModuleTarget
|
||||
#define SharedDepModuleTarget(name,deps,solist) @@\
|
||||
AllTarget(name) @@\
|
||||
@@\
|
||||
name: deps @@\
|
||||
$(RM) $@~ @@\
|
||||
$(CC) -o $@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) @@\
|
||||
$(RM) $@ @@\
|
||||
$(MV) $@~ $@ @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) name
|
||||
|
||||
#endif /* SharedDepModuleTarget */
|
||||
|
||||
/*
|
||||
* SharedLibraryDataTarget - generate rules to create shlib data file;
|
||||
*/
|
||||
#ifndef SharedLibraryDataTarget
|
||||
#define SharedLibraryDataTarget(libname,rev,salist)
|
||||
#endif /* SharedLibraryDataTarget */
|
||||
|
||||
#ifndef InstallSharedLibraryData
|
||||
#define InstallSharedLibraryData(libname,rev,dest)
|
||||
#endif /* InstallSharedLibraryData */
|
|
@ -1,61 +0,0 @@
|
|||
XCOMM $XFree86: xc/config/cf/darwinLib.tmpl,v 1.19 2003/11/04 00:24:36 torrey Exp $
|
||||
/*
|
||||
* Darwin/Mac OS X shared library template
|
||||
*/
|
||||
|
||||
#ifndef FixupLibReferences
|
||||
#define FixupLibReferences() @@\
|
||||
XMULIBONLY = -lXmu @@\
|
||||
XMULIB = $(XMULIBONLY) $(XTOOLLIB) $(XLIB)
|
||||
#endif
|
||||
|
||||
#ifndef XawClientLibs
|
||||
#define XawClientLibs $(XAWLIB) $(XMULIBONLY) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWCLIENTLIBS) $(XLIB)
|
||||
#endif
|
||||
|
||||
/* Allow for libpthread, as overridden by OS definitions */
|
||||
#if !defined(SharedX11Reqs)
|
||||
#define SharedX11Reqs
|
||||
#endif
|
||||
#define SharedXlibi18nReqs $(LDPRELIB) $(XLIBONLY)
|
||||
|
||||
#define SharedXfontReqs $(LDPRELIB) $(FONTSTUBLIB) GzipLibrary -flat_namespace
|
||||
|
||||
#define SharedAppleWMReqs $(LDPRELIB) $(XLIB)
|
||||
#define SharedFontencReqs $(LDPRELIB) GzipLibrary
|
||||
#define SharedGLReqs $(LDPRELIB) $(XLIB)
|
||||
#define SharedGLUReqs $(LDPRELIB) $(XLIB) $(GLXLIB)
|
||||
#define SharedOSMesaReqs $(LDPRELIB) $(XLIB) $(GLXLIB)
|
||||
#define SharedSMReqs $(LDPRELIB) $(ICELIB)
|
||||
#define SharedXawReqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWREQS) $(XLIB)
|
||||
#define SharedXaw7Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB)
|
||||
#define SharedXaw6Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
|
||||
#define SharedXcursorReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB)
|
||||
#define SharedXextReqs $(LDPRELIB) $(XONLYLIB)
|
||||
#define SharedXiReqs $(LDPRELIB) $(XLIB)
|
||||
#define SharedXmuReqs $(LDPRELIB) $(XTOOLLIB) $(XLIB)
|
||||
#define SharedXmuuReqs $(LDPRELIB) $(XONLYLIB)
|
||||
#define SharedXpReqs $(LDPRELIB) $(XLIB)
|
||||
#define SharedXpmReqs $(LDPRELIB) $(XLIB)
|
||||
#define SharedXrandrReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB)
|
||||
#define SharedXrenderReqs $(LDPRELIB) $(XLIB)
|
||||
#define SharedXtReqs $(LDPRELIB) $(XONLYLIB) $(SMLIB) $(ICELIB) -flat_namespace
|
||||
#define SharedXtstReqs $(LDPRELIB) $(XLIB)
|
||||
#define SharedXvReqs $(LDPRELIB) $(XLIB)
|
||||
#define SharedDPSReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIB)
|
||||
#define SharedDPSTKReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(DPSLIB) $(XLIB)
|
||||
#define SharedOldXReqs $(LDPRELIB) $(XONLYLIB)
|
||||
#define SharedpsresReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIB)
|
||||
#define SharedXResReqs $(LDPRELIB) $(XLIB)
|
||||
#define SharedXfontcacheReqs $(LDPRELIB) $(XLIB)
|
||||
#define SharedXineramaReqs $(LDPRELIB) $(XLIB)
|
||||
#define SharedXssReqs $(LDPRELIB) $(XLIB)
|
||||
#define SharedXvMCReqs $(LDPRELIB) $(XLIB)
|
||||
#define SharedXxf86miscReqs $(LDPRELIB) $(XLIB)
|
||||
#define SharedXxf86vmReqs $(LDPRELIB) $(XLIB)
|
||||
#define SharedxkbfileReqs $(LDPRELIB) $(XONLYLIB)
|
||||
#define SharedxkbuiReqs $(LDPRELIB) $(XKBFILELIB) $(XONLYLIB)
|
||||
#define SharedXfixesReqs $(LDPRELIB) $(XLIB)
|
||||
#define SharedXdamageReqs $(LDPRELIB) $(XFIXESLIB) $(XLIB)
|
||||
#define SharedXcompositeReqs $(LDPRELIB) $(XDAMAGELIB) $(XFIXESLIB) $(XLIB)
|
||||
#define SharedXevieReqs $(LDPRELIB) $(XLIB)
|
|
@ -1,21 +0,0 @@
|
|||
XCOMM platform: $XConsortium: generic.cf /main/8 1996/09/28 16:10:06 rws $
|
||||
|
||||
#ifndef OSName
|
||||
#define OSName Unknown Operating System
|
||||
#endif
|
||||
XCOMM operating system: OSName
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion 0
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion 0
|
||||
#endif
|
||||
|
||||
#ifdef SYSV
|
||||
#define SystemV YES
|
||||
#endif
|
||||
#ifdef SVR4
|
||||
#define SystemV4 YES
|
||||
#endif
|
||||
|
||||
#define BuildServer NO
|
|
@ -1,211 +0,0 @@
|
|||
XCOMM platform: $TOG: hp.cf /main/88 1997/11/12 07:16:22 kaleb $
|
||||
|
||||
#ifndef OSName
|
||||
# define OSName DefaultOSName
|
||||
#endif
|
||||
#ifndef OSMajorVersion
|
||||
# define OSMajorVersion DefaultOSMajorVersion
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
# define OSMinorVersion DefaultOSMinorVersion
|
||||
#endif
|
||||
#ifndef OSTeenyVersion
|
||||
# define OSTeenyVersion DefaultOSTeenyVersion
|
||||
#endif
|
||||
XCOMM operating system: OSName (OSMajorVersion.OSMinorVersion.OSTeenyVersion)
|
||||
|
||||
|
||||
/* The default yacc options are too small for Uil.y. */
|
||||
#define YaccFlags -Nm15000
|
||||
|
||||
/*
|
||||
* C++ compiler setup. This file knows what options to use with
|
||||
* certain compilers, including HP C++ and CenterLine C++.
|
||||
*
|
||||
* For HP C++, define HasHPCplusplus to YES in site.def.
|
||||
* For CenterLine C++, define HasCenterLineCplusplus to YES in site.def.
|
||||
* For other compilers, define HasCplusplus to YES in site.def, and
|
||||
* check to see if you need to provide values for CplusplusOptions
|
||||
* and/or DefaultCplusplusOptions.
|
||||
*
|
||||
* In any case, you may also need to set CplusplusDependIncludes.
|
||||
*/
|
||||
|
||||
#if HasHPCplusplus
|
||||
# ifndef HasCplusplus
|
||||
# define HasCplusplus YES
|
||||
# endif
|
||||
# ifndef DefaultCplusplusOptions
|
||||
# define DefaultCplusplusOptions -Aa
|
||||
# endif
|
||||
# ifndef CplusplusOptions
|
||||
# define CplusplusOptions -Aa
|
||||
# endif
|
||||
# ifndef CplusplusCmd
|
||||
# define CplusplusCmd /opt/CC/bin/CC
|
||||
# endif
|
||||
# ifndef CplusplusDependIncludes
|
||||
# define CplusplusDependIncludes -I/opt/CC/include/CC
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef CcCmd
|
||||
# define CcCmd /opt/ansic/bin/cc
|
||||
#endif
|
||||
#ifndef YaccCmd
|
||||
# define YaccCmd /opt/langtools/bin/yacc
|
||||
#endif
|
||||
#ifndef LexCmd
|
||||
# define LexCmd /opt/langtools/bin/lex
|
||||
#endif
|
||||
#ifndef LintCmd
|
||||
# define LintCmd /opt/ansic/bin/lint
|
||||
#endif
|
||||
|
||||
#if HasCenterLineCplusplus
|
||||
# ifndef HasCplusplus
|
||||
# define HasCplusplus YES
|
||||
# endif
|
||||
# ifndef OptimizedCplusplusDebugFlags
|
||||
# define OptimizedCplusplusDebugFlags -O
|
||||
# endif
|
||||
# ifndef CplusplusDependIncludes
|
||||
# define CplusplusDependIncludes -I/usr/local/CenterLine/clc++/pa-hpux8/incl
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
#define SystemV YES
|
||||
#define Malloc0ReturnsNull YES
|
||||
#if OSMajorVersion > 9
|
||||
# define AllocateLocalDefines -DINCLUDE_ALLOCA_H
|
||||
#else
|
||||
# define AllocateLocalDefines -DNO_ALLOCA
|
||||
#endif
|
||||
|
||||
#ifdef __hp9000s800
|
||||
# ifndef OptimizedCDebugFlags
|
||||
# define OptimizedCDebugFlags +O1
|
||||
# endif
|
||||
# ifndef DefaultCCOptions
|
||||
# define DefaultCCOptions -Ae +ESlit
|
||||
# endif
|
||||
# ifndef SharedLibraryCCOptions
|
||||
# define SharedLibraryCCOptions -Ae
|
||||
# endif
|
||||
# define StandardDefines -Dhpux -DSYSV
|
||||
# define ServerExtraDefines -DXOS -DBSTORE -DSOFTWARE_CURSOR -DSCREEN_PIXMAPS -DMERGE_SAVE_UNDERS -DHAS_IFREQ -DFORCE_SEPARATE_PRIVATE AllocateLocalDefines
|
||||
|
||||
# if OSMajorVersion > 9
|
||||
# include <hpLib.rules>
|
||||
# endif
|
||||
|
||||
#else /* __hp9000s800 */
|
||||
# define StandardDefines -Dhpux -DSYSV
|
||||
# if OSMajorVersion < 8
|
||||
# define DefaultCCOptions -Wc,-Nd4000,-Ns4100,-Ne700,-Np200,-Nw300
|
||||
# define PexCCOptions -Wp,-H150000 -Wc,-Nd4000,-Ns8100,-Ne700,-Np200
|
||||
# else
|
||||
# define OptimizedCDebugFlags +O1
|
||||
# define PexCCOptions -Wp,-H250000
|
||||
# endif
|
||||
# define PexShmIPC NO
|
||||
# define LintOpts -ax -Nd4000 -Ns8000 -Ne700 -Np200 -Na25000
|
||||
#endif
|
||||
#define MvCmd mv -f
|
||||
#define LdCombineFlags -r
|
||||
#define ExecableScripts YES
|
||||
#define HasVFork YES
|
||||
#define HasPoll YES
|
||||
#define RemoveTargetProgramByMoving YES
|
||||
#define ExpandManNames YES
|
||||
#define HasPutenv YES
|
||||
#define HasNdbm YES
|
||||
#define DBMLibrary /usr/lib/libdbm.a
|
||||
#define PrimaryScreenResolution 91
|
||||
#define ExtensionOSDefines -DHPINPUT -DXTESTEXT1
|
||||
#define XhpServer YES
|
||||
#define ServerExtraSysLibs -ldld
|
||||
#ifndef BuildXInputExt
|
||||
# define BuildXInputExt YES
|
||||
#endif
|
||||
#define HPFastScrolling YES
|
||||
#ifndef BuildServer
|
||||
# define BuildServer __hp9000s700
|
||||
#endif
|
||||
#if OSMajorVersion < 10
|
||||
#define NeedBerklib (BuildServer|BuildFontServer)
|
||||
#endif
|
||||
#define XawI18nDefines -DHAS_WCHAR_H -DHAS_ISW_FUNCS
|
||||
|
||||
#if OSMajorVersion < 6 || (OSMajorVersion == 6 && OSMinorVersion < 2)
|
||||
# define ConnectionFlags -DTCPCONN /* no unix sockets */
|
||||
#endif
|
||||
|
||||
#if OSMajorVersion > 8
|
||||
#define HasWChar32 YES
|
||||
#define HasPlugin YES
|
||||
#endif
|
||||
|
||||
#ifdef __hp9000s300
|
||||
# ifndef CompatabilityDefines
|
||||
# define CompatabilityDefines -D__hp9000s300 -Dhp9000s300
|
||||
# endif
|
||||
#elif defined(__hp9000s700)
|
||||
# ifndef CompatabilityDefines
|
||||
# define CompatabilityDefines -D__hp9000s800 -Dhp9000s800 -D__hp9000s700
|
||||
# endif
|
||||
#else
|
||||
# ifndef CompatabilityDefines
|
||||
# define CompatabilityDefines -D__hp9000s800 -Dhp9000s800
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef OsDefines
|
||||
# if OSMajorVersion > 9
|
||||
# define OsDefines -DhpV4 -DHPUX
|
||||
# else
|
||||
# define OsDefines -DHPUX
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if OSMajorVersion > 9
|
||||
# if ThreadedX
|
||||
# define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXUSE_NETDB_R_API
|
||||
# endif
|
||||
# define CppCmd /opt/langtools/lbin/cpp
|
||||
#endif
|
||||
|
||||
/* CC does not recognize -Ae, and has a different meaning for +e. */
|
||||
/* +e also confuses cpp. */
|
||||
#define AnsiDefines -Ae -D_HPUX_SOURCE
|
||||
#define CplusplusAnsiDefines -Aa -D_HPUX_SOURCE
|
||||
|
||||
#define BuildLibPathVar SHLIB_PATH
|
||||
|
||||
#define CdeBaseProjectDefines \
|
||||
-DNLS16 -DMALLOC_0_RETURNS_NULL -DMERGE -D__hpux \
|
||||
-DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion \
|
||||
CompatabilityDefines OsDefines
|
||||
|
||||
#define CdeProjectDefines CdeBaseProjectDefines AnsiDefines
|
||||
#define CdeCplusplusProjectDefines \
|
||||
CdeBaseProjectDefines CplusplusAnsiDefines
|
||||
|
||||
#define DtSvcDefines -DMULTIBYTE -DMESSAGE_CAT
|
||||
#define DtSearchDefines -DI18N_MSG DtSvcDefines
|
||||
#define DtWidgetDefines DtSearchDefines
|
||||
#define DtPrintDefines DtSearchDefines
|
||||
#if OSMajorVersion > 9
|
||||
#define DtMailDefines \
|
||||
-DBIG_ENDIAN -DDO_ANONYMOUS_MAP -DNEED_MMAP_WRAPPER -DSENDMAIL_LOCKS \
|
||||
-DMAILGROUP_REQUIRED -DMAIL_SPOOL_PATH=\"/var/mail/%s\"
|
||||
#else
|
||||
#define DtMailDefines \
|
||||
-DBIG_ENDIAN -DDO_ANONYMOUS_MAP -DNEED_MMAP_WRAPPER -DSENDMAIL_LOCKS \
|
||||
-DMAILGROUP_REQUIRED -DMAIL_SPOOL_PATH=\"/usr/mail/%s\"
|
||||
#endif
|
||||
|
||||
#define ArchitectureDefines -DHP_ARCHITECTURE
|
||||
|
||||
#define ExportListGenSource elistgen.hp
|
|
@ -1,119 +0,0 @@
|
|||
XCOMM $XConsortium: hpLib.rules /main/16 1996/12/04 11:44:35 swick $
|
||||
|
||||
/*
|
||||
* HP shared library rules
|
||||
*/
|
||||
|
||||
#ifndef HasSharedLibraries
|
||||
# define HasSharedLibraries YES
|
||||
#endif
|
||||
#ifndef SharedDataSeparation
|
||||
# define SharedDataSeparation NO
|
||||
#endif
|
||||
#ifndef SharedCodeDef
|
||||
# define SharedCodeDef /**/
|
||||
#endif
|
||||
#ifndef SharedLibraryDef
|
||||
# define SharedLibraryDef /**/
|
||||
#endif
|
||||
#ifndef ShLibIncludeFile
|
||||
# define ShLibIncludeFile <hpLib.tmpl>
|
||||
#endif
|
||||
#ifndef SharedLibraryLoadFlags
|
||||
# define SharedLibraryLoadFlags -b
|
||||
#endif
|
||||
#ifndef PositionIndependentCFlags
|
||||
# define PositionIndependentCFlags +z
|
||||
#endif
|
||||
#ifndef LargePositionIndependentCFlags
|
||||
# define LargePositionIndependentCFlags +Z
|
||||
#endif
|
||||
#ifndef InstLibFlags
|
||||
# define InstLibFlags -m 0555
|
||||
#endif
|
||||
#ifndef UseInstalled
|
||||
/* assert: LdPostLib pulls in -L$(USRLIBDIR), so it doesn't need to be here */
|
||||
# define ExtraLoadFlags -Wl,+s -Wl,+b$(USRLIBDIRPATH)
|
||||
#endif
|
||||
#ifndef UseExportLists
|
||||
# define UseExportLists YES
|
||||
#endif
|
||||
|
||||
/* Pre-linking shared libraries is supported in HP/UX 10. */
|
||||
#if OSMajorVersion > 9
|
||||
# define HPRequiredLibs $(LDPRELIBS) $(REQUIREDLIBS) +s +b $(USRLIBDIRPATH)
|
||||
#else
|
||||
# define HPRequiredLibs $(REQUIREDLIBS)
|
||||
#endif
|
||||
|
||||
#ifndef LinkWithExports
|
||||
# if UseExportLists
|
||||
# define LinkWithExports(libname,rev,solist,down,up) \
|
||||
(cd down; $(LD) -o up/$@~ $(SHLIBLDFLAGS) +h $@ solist HPRequiredLibs) @@\
|
||||
if [ -f Concat(lib,libname.elist) ]; then \ @@\
|
||||
RemoveFiles($@.exports $@.list); \ @@\
|
||||
$(CPP) $(ALLINCLUDES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(DEFINES) Concat(lib,libname.elist) | CppSedMagic >$@.list; \ @@\
|
||||
$(EXPORTLISTGEN) $@~ $@.list > $@.exports; \ @@\
|
||||
(cd down; $(LD) -c up/$@.exports -o up/$@~ $(SHLIBLDFLAGS) +h $@ solist HPRequiredLibs); \ @@\
|
||||
RemoveFiles($@.exports $@.list); \ @@\
|
||||
fi
|
||||
# else
|
||||
# define LinkWithExports(libname,rev,solist,down,up) \
|
||||
(cd down; $(LD) -o up/$@~ $(SHLIBLDFLAGS) +h $@ solist HPRequiredLibs)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* InstallSharedLibrary - generate rules to install the shared library.
|
||||
*/
|
||||
#ifndef InstallSharedLibrary
|
||||
# define InstallSharedLibrary(libname,rev,dest) @@\
|
||||
install:: Concat(lib,libname.sl.rev) @@\
|
||||
MakeDir($(DESTDIR)dest) @@\
|
||||
RMoveToBakFile(Concat($(DESTDIR)dest/lib,libname.sl.rev)) @@\
|
||||
$(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) Concat(lib,libname.sl.rev) $(DESTDIR)dest @@\
|
||||
$(RM) Concat($(DESTDIR)dest/lib,libname.sl) @@\
|
||||
cd $(DESTDIR)dest; $(LN) Concat(lib,libname.sl.rev) Concat(lib,libname.sl) @@\
|
||||
-RemoveFile(Concat(lib,libname.sl.rev.bak))
|
||||
|
||||
#endif /* InstallSharedLibrary */
|
||||
|
||||
/*
|
||||
* InstallSharedLibraryData - generate rules to install the shared library data
|
||||
*/
|
||||
#ifndef InstallSharedLibraryData
|
||||
# define InstallSharedLibraryData(libname,rev,dest)
|
||||
#endif /* InstallSharedLibraryData */
|
||||
|
||||
|
||||
/*
|
||||
* SharedLibraryTarget - generate rules to create a shared library;
|
||||
* build it into a different name so that we do not hose people by having
|
||||
* the library gone for long periods.
|
||||
*/
|
||||
#ifndef SharedLibraryTarget
|
||||
# define SharedLibraryTarget(libname,rev,solist,down,up) @@\
|
||||
AllTarget(Concat(lib,libname.sl.rev)) @@\
|
||||
@@\
|
||||
Concat(lib,libname.sl.rev): solist $(EXTRALIBRARYDEPS) @@\
|
||||
$(RM) $@~ @@\
|
||||
LinkWithExports(libname,rev,solist,down,up) @@\
|
||||
-RemoveFiles($@ $@.bak) @@\
|
||||
MoveToBakFile($@) @@\
|
||||
$(MV) $@~ $@ @@\
|
||||
$(RM) Concat(lib,libname.sl) @@\
|
||||
$(LN) $@ Concat(lib,libname.sl) @@\
|
||||
LinkBuildLibrary($@) @@\
|
||||
LinkBuildLibrary(Concat(lib,libname.sl)) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) Concat(lib,libname.sl.rev) Concat(lib,libname.sl)
|
||||
|
||||
#endif /* SharedLibraryTarget */
|
||||
|
||||
/*
|
||||
* SharedLibraryDataTarget - generate rules to create shlib data file;
|
||||
*/
|
||||
#ifndef SharedLibraryDataTarget
|
||||
# define SharedLibraryDataTarget(libname,rev,salist)
|
||||
#endif /* SharedLibraryTarget */
|
|
@ -1,37 +0,0 @@
|
|||
XCOMM $XConsortium: hpLib.tmpl /main/10 1996/12/04 11:57:22 swick $
|
||||
|
||||
/*
|
||||
* HP shared library template
|
||||
*/
|
||||
|
||||
#define SharedThreadReqs /**/
|
||||
#define SharedOldXReqs $(XLIBONLY)
|
||||
#define SharedX11Reqs SharedThreadReqs
|
||||
#define SharedXtReqs $(XLIBONLY) $(SMLIB) $(ICELIB) SharedThreadReqs
|
||||
#define SharedXawReqs $(XMULIB) $(XTOOLLIB) $(XLIB)
|
||||
#define SharedXmuReqs $(XTOOLLIB) $(XLIB)
|
||||
#define SharedXextReqs $(XLIBONLY)
|
||||
#define SharedXiReqs $(XLIB)
|
||||
#define SharedPexReqs $(XLIBONLY) MathLibrary
|
||||
#define SharedXtstReqs $(XLIB)
|
||||
#define SharedXieReqs $(XLIBONLY)
|
||||
#define SharedSMReqs $(ICELIB)
|
||||
#define SharedXpReqs $(XLIB)
|
||||
|
||||
#define SharedXReqs $(XTOOLLIB) $(XLIB) SharedThreadReqs
|
||||
#define SharedXmReqs SharedXReqs
|
||||
#define SharedMrmReqs $(XMLIB) SharedXReqs
|
||||
#define SharedUilReqs $(MRESOURCELIB) $(XMLIB) SharedXReqs
|
||||
|
||||
/* #define SharedPamReqs */
|
||||
#define SharedTtReqs $(XTOOLLIB) $(XLIB) SharedThreadReqs $(CXXLIB)
|
||||
#define SharedDtSvcReqs $(TTLIB) $(XMLIB) SharedXReqs -lm $(CXXLIB)
|
||||
#define SharedDtMmdbReqs $(DTSVCLIB) $(TTLIB) $(XMLIB) SharedXReqs -lm $(CXXLIB)
|
||||
#define SharedDtSearchReqs -lm
|
||||
#define SharedDtWidgetReqs $(DTSVCLIB) $(XMLIB) SharedXReqs -lm $(CXXLIB)
|
||||
#define SharedDtHelpReqs $(DTSVCLIB) $(XMLIB) SharedXReqs -lm
|
||||
#define SharedDtPrintReqs $(DTSVCLIB) $(DTHELPLIB) $(XMLIB) SharedXReqs -lm $(CXXLIB)
|
||||
#define SharedDtTermReqs $(DTHELPLIB) $(DTSVCLIB) $(XMLIB) SharedXReqs -lm
|
||||
#define SharedDtMrmReqs $(DTTERMLIB) $(DTPRINTLIB) $(DTHELPLIB) $(DTWIDGETLIB) $(MRESOURCELIB) $(XMLIB) SharedXReqs -lm
|
||||
#define SharedDtMailReqs $(DTHELPLIB) $(DTSVCLIB) $(XMLIB) SharedXReqs -lm $(CXXLIB)
|
||||
#define SharedCsaReqs $(DTSVCLIB) $(XMLIB) SharedXReqs -lm
|
|
@ -1,167 +0,0 @@
|
|||
XCOMM platform: $TOG: ibm.cf /main/82 1998/02/26 17:03:51 kaleb $
|
||||
|
||||
#ifndef OSName
|
||||
# define OSName DefaultOSName
|
||||
#endif
|
||||
#ifndef OSMajorVersion
|
||||
# define OSMajorVersion DefaultOSMajorVersion
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
# define OSMinorVersion DefaultOSMinorVersion
|
||||
#endif
|
||||
#ifndef OSTeenyVersion
|
||||
# ifdef DefaultOSTeenyVersion
|
||||
# define OSTeenyVersion DefaultOSTeenyVersion
|
||||
# elif (OSMajorVersion == 4) && (OSMinorVersion == 1)
|
||||
# define OSTeenyVersion 3
|
||||
# else
|
||||
# define OSTeenyVersion 0
|
||||
# endif
|
||||
#endif
|
||||
XCOMM operating system: OSName (OSMajorVersion.OSMinorVersion.OSTeenyVersion)
|
||||
|
||||
#if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion >= 2)
|
||||
#define HasBSD44Sockets YES
|
||||
#define HasPutenv YES
|
||||
#define HasPlugin YES
|
||||
/*
|
||||
* If you do not have threads support installed, put
|
||||
* #define HasPosixThreads NO
|
||||
* in the BeforeVendorCF section of your site.def.
|
||||
*/
|
||||
#if !defined(HasPosixThreads) && ((OSMajorVersion == 3 && (OSMinorVersion > 2 || (OSMinorVersion == 2 && OSTeenyVersion > 4))) || (OSMajorVersion == 4 && (OSMinorVersion > 1 || (OSMinorVersion == 1 && OSTeenyVersion > 1))))
|
||||
#define HasPosixThreads YES
|
||||
#endif
|
||||
#if HasPosixThreads
|
||||
#ifndef ThreadedX
|
||||
#define ThreadedX YES
|
||||
#define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXUSE_NETDB_R_API
|
||||
#endif
|
||||
#endif
|
||||
#endif /* OS > 3.2 */
|
||||
|
||||
/*
|
||||
* For IBM platforms, we must define both the location of the compiler
|
||||
* and the location of its standard C++ library. The library location
|
||||
* is needed to resolve dependent library symbols if we build our own
|
||||
* C++ shared libraries.
|
||||
*/
|
||||
|
||||
#if !HasGcc2ForCplusplus
|
||||
# ifndef CplusplusCmd
|
||||
# if ThreadedX
|
||||
# define CplusplusCmd xlC_r
|
||||
# else
|
||||
# define CplusplusCmd xlC
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef CplusplusFilt
|
||||
# define CplusplusFilt /usr/lpp/xlC/bin/c++filt
|
||||
#endif
|
||||
#ifndef CplusplusLibC
|
||||
# if ThreadedX
|
||||
# define CplusplusLibC /usr/lpp/xlC/lib/libC.a
|
||||
# else
|
||||
# define CplusplusLibC /usr/lpp/xlC/lib/libC_r.a
|
||||
# endif
|
||||
#endif
|
||||
#if !HasGcc2ForCplusplus
|
||||
# ifndef CplusplusDependIncludes
|
||||
# define CplusplusDependIncludes -I/usr/lpp/xlC/include
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* IBM's xlC refuses to compile files unless their names end in ".C".
|
||||
* As an alternative to this fix, one could edit /etc/xlC.cfg
|
||||
* to change the suffix accepted by the compiler, but we prefer not
|
||||
* requiring users to reconfigure their C++ compilers to make them work.
|
||||
* We also have to override the default SUFFIXES to defeat the use of
|
||||
* the builtin .C -> .o file, which doesn't use the right flags.
|
||||
*/
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .o .c .y .l .s .sh .h .f .Y .L .cxx
|
||||
|
||||
#define NormalLibObjCplusplusCompile(options) test -r $*.C || $(LN) $*.CCsuf $*.C @@\
|
||||
$(CXX) -c $(CXXFLAGS) options $*.C
|
||||
|
||||
#define SpecialCplusplusObjectRule(baseobj,basedep,options) @@\
|
||||
baseobj.Osuf: basedep.CCsuf @@\
|
||||
test -r basedep.C || $(LN) basedep.CCsuf basedep.C @@\
|
||||
$(CXX) -c $(CXXFLAGS) options basedep.C
|
||||
|
||||
|
||||
#define BuildLibPathVar LIBPATH
|
||||
#define SystemV YES
|
||||
#define LdCombineFlags -r
|
||||
#define ExecableScripts YES
|
||||
#define Malloc0ReturnsNull YES
|
||||
#define CppCmd /usr/ccs/lib/cpp
|
||||
#define ExpandManNames YES
|
||||
#define ExtensionOSDefines -DXTESTEXT1
|
||||
|
||||
/* IBM cpp has slightly non-standard line directives, but supports -P */
|
||||
#define CppNoLineInfoOption -P
|
||||
|
||||
#if OSMajorVersion > 3
|
||||
#define StandardDefines -DSYSV -DAIXV3 -DAIXV4 -D_ALL_SOURCE
|
||||
#define XawI18nDefines -DHAS_WCHAR_H -DHAS_ISW_FUNCS
|
||||
#define ServerExtraDefines -D_IBM_LFT
|
||||
#if ThreadedX
|
||||
#define CcCmd xlc_r
|
||||
#else
|
||||
#define CcCmd xlc
|
||||
#endif
|
||||
#define SystemMTDefines /* xlc_r defines -D_THREAD_SAFE */
|
||||
#define ThreadsLibraries -lpthreads /* xlc_r does -lc_r */
|
||||
#define ThreadsCplusplusLibraries -lpthreads
|
||||
#define AvoidNullMakeCommand YES
|
||||
#define NullMakeCommand @ echo
|
||||
/* AIX 4 appends all MAKEFLAGS (even dups), so cannot pass on command line. */
|
||||
#define ConstructMFLAGS NO
|
||||
#define LdPreLib _Use(-L$(USRLIBDIR),-L$(BUILDLIBDIR))
|
||||
#define ExtraFilesToClean *.inp
|
||||
#else /* OSMajorVersion < 4 */
|
||||
#define StandardDefines -DSYSV -DAIXV3 -D_ALL_SOURCE
|
||||
#define ServerExtraDefines -D_IBM_HFT
|
||||
#define CcCmd xlc
|
||||
#define ThreadPreStdAPIDefines -DXPRE_STANDARD_API
|
||||
#define SystemMTDefines -D_THREAD_SAFE
|
||||
#define ThreadsLibraries -lpthreads -lc_r
|
||||
#endif /* OSMajorVersion */
|
||||
|
||||
#define OPERATING_SYSTEM AIX /* directory name under server/ddx/ibm/ */
|
||||
#define InstallCmd /usr/ucb/install
|
||||
#include <ibmLib.rules>
|
||||
|
||||
#ifndef ManKeywordsTarget
|
||||
#define ManKeywordsTarget(manpath) @@\
|
||||
man_keywords:: @@\
|
||||
/usr/lib/makewhatis $(DESTDIR)manpath
|
||||
#endif
|
||||
|
||||
#define DtMailDefines \
|
||||
-DI_HAVE_NO_BOOL -DI_HAVE_SELECT_H \
|
||||
-DBIG_ENDIAN -DSTRCASECMP_NOT_DEFINED -DDO_ANONYMOUS_MAP -DSENDMAIL_LOCKS \
|
||||
-DMAILGROUP_REQUIRED -DMAIL_SPOOL_PATH=\"/var/spool/mail/%s\"
|
||||
|
||||
#define ArchitectureDefines -DIBM_ARCHITECTURE
|
||||
|
||||
#define ExportListGenSource elistgen.ibm
|
||||
|
||||
#define CdeProjectDefines \
|
||||
-D_AIX -D__AIX -D__aix -D_aix -Daix -DMULTIBYTE -DNLS16 -DMESSAGE_CAT \
|
||||
-DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion -DAIX
|
||||
|
||||
/*
|
||||
* -D__STR31__ disables inlining of memcpy to work around optimization bug
|
||||
* in XLC v1.2.0.7. Bug report filed as PMR 8X196, branch 060.
|
||||
*/
|
||||
#ifndef OptimizedCDebugFlags
|
||||
#define OptimizedCDebugFlags -O -D__STR31__ -DNDEBUG
|
||||
#endif
|
||||
|
||||
#define CdeTicDefines -DHAS_KNL -DHAS_KTAB
|
|
@ -1,204 +0,0 @@
|
|||
XCOMM $XConsortium: ibmLib.rules /main/15 1996/12/30 16:06:05 kaleb $
|
||||
|
||||
/*
|
||||
* AIX shared library rules
|
||||
*/
|
||||
|
||||
#ifndef HasSharedLibraries
|
||||
# define HasSharedLibraries YES
|
||||
#endif
|
||||
#ifndef ForceNormalLib
|
||||
# define ForceNormalLib NO
|
||||
#endif
|
||||
#ifndef SharedDataSeparation
|
||||
# define SharedDataSeparation NO
|
||||
#endif
|
||||
#ifndef SharedCodeDef
|
||||
# define SharedCodeDef -DSHAREDCODE
|
||||
#endif
|
||||
#ifndef SharedLibraryDef
|
||||
# define SharedLibraryDef -DAIXSHLIB
|
||||
#endif
|
||||
#ifndef ShLibIncludeFile
|
||||
# define ShLibIncludeFile <ibmLib.tmpl>
|
||||
#endif
|
||||
#ifndef PositionIndependentCFlags
|
||||
# define PositionIndependentCFlags -bM\:SRE
|
||||
#endif
|
||||
#ifndef ExtraLoadFlags
|
||||
# define ExtraLoadFlags -bnodelcsect
|
||||
#endif
|
||||
#if !defined(LdPostLib) && !defined(UseInstalled) && OSMajorVersion > 3
|
||||
# if ThreadedX
|
||||
# define LdPostLib -blibpath:$(USRLIBDIRPATH):/usr/lib/threads:/usr/lib:/lib
|
||||
# else
|
||||
# define LdPostLib -blibpath:$(USRLIBDIRPATH):/usr/lib:/lib
|
||||
# endif
|
||||
# define SharedLibPostRef $(LDPOSTLIBS)
|
||||
#endif
|
||||
#ifndef SharedLibPostRef
|
||||
# define SharedLibPostRef $(LDPOSTLIBS)
|
||||
#endif
|
||||
#if ThreadedX
|
||||
# define BaseShLibReqs -lc_r -lm
|
||||
#else
|
||||
# define BaseShLibReqs -lc -lm
|
||||
#endif
|
||||
#ifndef UseExportLists
|
||||
# define UseExportLists YES
|
||||
#endif
|
||||
|
||||
/*
|
||||
* MakeExportList - generate an export list file for linking libraries.
|
||||
*/
|
||||
#ifndef MakeExportList
|
||||
# if UseExportLists
|
||||
# define MakeExportList(libname,result) \
|
||||
@-RemoveFile(result) @@\
|
||||
case ,$(SHR4OBJLIBS), in *,libname,*) shr4obj=shr4.o;; esac &&\ @@\
|
||||
echo "#! $@ ($${shr4obj:-shr.o})" > result @@\
|
||||
if [ -f Concat(lib,libname.elist) ]; then \ @@\
|
||||
$(CPP) $(ALLINCLUDES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(DEFINES) Concat(lib,libname.elist) | CppSedMagic > $@.list; \ @@\
|
||||
$(EXPORTLISTGEN) $@~ $@.list >> result; \ @@\
|
||||
RemoveFile($@.list); \ @@\
|
||||
else \ @@\
|
||||
dump -g $@~ | sed -n -e 's/^[ ]*[0-9][0-9]*[ ]*\([^ .][^ ]*\)$$/\1/p' >> result; \ @@\
|
||||
fi;
|
||||
# else
|
||||
# define MakeExportList(libname,result) \
|
||||
@-RemoveFile(result) @@\
|
||||
case ,$(SHR4OBJLIBS), in *,libname,*) shr4obj=shr4.o;; esac &&\ @@\
|
||||
echo "#! $@ ($${shr4obj:-shr.o})" > result @@\
|
||||
dump -g $@~ | sed -n -e 's/^[ ]*[0-9][0-9]*[ ]*\([^ .][^ ]*\)$$/\1/p' >> result;
|
||||
# endif
|
||||
#endif /* MakeExportList */
|
||||
|
||||
|
||||
#if !defined(UseInstalled) && !defined(UseInstalledX11) \
|
||||
&& !defined(UseImports) && !defined(ImportX11)
|
||||
/* we want this to be defined only when building X */
|
||||
|
||||
# if OSMajorVersion < 4
|
||||
/*
|
||||
* SharedDSLibReferences - variables for shared libraries
|
||||
*/
|
||||
|
||||
# ifndef SharedLibReferences
|
||||
# define SharedLibReferences(varname,libname,libsource,revname,rev) @@\
|
||||
Concat3(DEP,varname,LIB) = /**/ @@\
|
||||
Concat(varname,LIB) = _Use(Concat(-l,libname),Concat(libsource/lib,libname.a)) @@\
|
||||
LintLibReferences(varname,libname,libsource)
|
||||
# endif
|
||||
|
||||
# else
|
||||
|
||||
# ifndef SharedLibReferences
|
||||
# define SharedLibReferences(varname,libname,libsource,revname,rev) @@\
|
||||
Concat3(DEP,varname,LIB) = /**/ @@\
|
||||
Concat(varname,LIB) = _Use(Concat(-l,libname),Concat($(BUILDLIBDIR),/libname.imp) Concat3($(BUILDLIBDIR),/lib,libname.a)) @@\
|
||||
LintLibReferences(varname,libname,libsource)
|
||||
# endif
|
||||
|
||||
# endif
|
||||
|
||||
/*
|
||||
* SharedDSLibReferences - variables for shared libraries
|
||||
*/
|
||||
# ifndef SharedDSLibReferences
|
||||
# define SharedDSLibReferences(varname,libname,libsource,revname,rev) @@\
|
||||
SharedLibReferences(varname,libname,libsource,revname,rev)
|
||||
# endif
|
||||
|
||||
# if OSMajorVersion == 4
|
||||
/*
|
||||
* UnsharedLibReferences - variables for unshared libraries
|
||||
*/
|
||||
# ifndef UnsharedLibReferences
|
||||
# define UnsharedLibReferences(varname,libname,libsource) @@\
|
||||
Concat3(DEP,varname,LIB) = _UseCat($(USRLIBDIR)/lib,$(BUILDLIBDIR)/lib,libname.a) @@\
|
||||
Concat(varname,LIB) = _Use(Concat(-l,libname),Concat($(BUILDLIBDIR)/lib,libname.a)) @@\
|
||||
LintLibReferences(varname,libname,libsource)
|
||||
# endif
|
||||
# endif
|
||||
|
||||
#endif /* !defined(UseInstalled) && !defined(UseInstalledX11) ... */
|
||||
|
||||
|
||||
/*
|
||||
* InstallSharedLibrary - generate rules to install the shared library.
|
||||
*/
|
||||
#ifndef InstallSharedLibrary
|
||||
# define InstallSharedLibrary(libname,rev,dest) @@\
|
||||
InstallLibrary(libname,dest)
|
||||
#endif /* InstallSharedLibrary */
|
||||
|
||||
/*
|
||||
* InstallSharedLibraryData - generate rules to install the shared library data
|
||||
*/
|
||||
#ifndef InstallSharedLibraryData
|
||||
# define InstallSharedLibraryData(libname,rev,dest)
|
||||
#endif /* InstallSharedLibraryData */
|
||||
|
||||
/*
|
||||
* SharedLibraryTarget - generate rules to create a shared library;
|
||||
* build it into a different name so that the we do not hose people by having
|
||||
* the library gone for long periods.
|
||||
*
|
||||
* IBM uses an unusual shared object file name (shr4.o) in some libraries.
|
||||
* Duplicate this behavior to preserve compatibility with IBM's libraries.
|
||||
*/
|
||||
#if OSMajorVersion < 4
|
||||
|
||||
# ifndef SharedLibraryTarget
|
||||
# define SharedLibraryTarget(libname,rev,solist,down,up) @@\
|
||||
AllTarget(Concat(lib,libname.a)) @@\
|
||||
@@\
|
||||
Concat(lib,libname.a): solist $(UNSHAREDOBJS) $(EXTRALIBRARYDEPS) @@\
|
||||
$(RM) $@~ shr.o shr4.o @@\
|
||||
(cd down; $(AR) up/$@~ solist) @@\
|
||||
dump -g $@~ | sed -n -e 's/^[ ]*[0-9][0-9]*[ ]*\([^ .][^ ]*\)$$/\1/p' > $@.syms @@\
|
||||
$(LD) -o shr.o $@~ -H512 -T512 -bM\:SRE -bE\:$@.syms $(REQUIREDLIBS) BaseShLibReqs SharedLibPostRef @@\
|
||||
$(LN) shr.o shr4.o @@\
|
||||
$(RM) $@~ @@\
|
||||
case ,$(SHR4OBJLIBS), in *,libname,*) shr4obj=shr4.o;; esac &&\ @@\
|
||||
$(AR) $@~ $${shr4obj} shr.o $(UNSHAREDOBJS) @@\
|
||||
$(RM) $@.syms $@ shr.o shr4.o @@\
|
||||
$(MV) $@~ $@ @@\
|
||||
LinkBuildLibrary($@) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) Concat(lib,libname.a)
|
||||
# endif /* SharedLibraryTarget */
|
||||
|
||||
#else /* OSMajorVersion >= 4 */
|
||||
|
||||
# ifndef SharedLibraryTarget
|
||||
# define SharedLibraryTarget(libname,rev,solist,down,up) @@\
|
||||
AllTarget(Concat(lib,libname.a)) @@\
|
||||
@@\
|
||||
Concat(lib,libname.a): solist $(UNSHAREDOBJS) $(EXTRALIBRARYDEPS) @@\
|
||||
RemoveFiles($@~ shr.o shr4.o) @@\
|
||||
(cd down; $(AR) up/$@~ solist) @@\
|
||||
MakeExportList(libname,libname.imp) @@\
|
||||
$(LD) -o shr.o $@~ -H512 -T512 -bM\:SRE -bE\:libname.imp -bnoentry $(REQUIREDLIBS) BaseShLibReqs $(LDPOSTLIBS) @@\
|
||||
$(LN) shr.o shr4.o @@\
|
||||
RemoveFile($@~) @@\
|
||||
case ,$(SHR4OBJLIBS), in *,libname,*) shr4obj=shr4.o;; esac &&\ @@\
|
||||
$(AR) $@~ $${shr4obj} shr.o $(UNSHAREDOBJS) @@\
|
||||
RemoveFile($@) @@\
|
||||
$(MV) $@~ $@ @@\
|
||||
LinkBuildLibrary($@) @@\
|
||||
LinkBuildLibrary(libname.imp) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) Concat(lib,libname.a)
|
||||
# endif /* SharedLibraryTarget */
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* SharedLibraryDataTarget - generate rules to create shlib data file;
|
||||
*/
|
||||
#ifndef SharedLibraryDataTarget
|
||||
# define SharedLibraryDataTarget(libname,rev,salist)
|
||||
#endif /* SharedLibraryTarget */
|
|
@ -1,76 +0,0 @@
|
|||
XCOMM $XConsortium: ibmLib.tmpl /main/21 1996/12/04 12:21:49 swick $
|
||||
|
||||
/*
|
||||
* AIX shared library template
|
||||
*/
|
||||
|
||||
/*
|
||||
* IBM used an unusual shared object file name in some librares.
|
||||
* Mimic this behavior to preserve compatibility with IBM's libraries.
|
||||
*/
|
||||
#ifndef IBMShr4Compatibility
|
||||
#define IBMShr4Compatibility YES
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Imake thinks lines with colons are the result of a broken cpp
|
||||
* inserting extra leading whitespace, so use ',' as a separator.
|
||||
*/
|
||||
#if IBMShr4Compatibility
|
||||
SHR4OBJLIBS = X11,Xt,oldX,Xm,Mrm,Uil
|
||||
#endif
|
||||
|
||||
#if ThreadedX
|
||||
#define SharedThreadReqs -lpthreads
|
||||
#define SharedX11Reqs -lpthreads
|
||||
#else
|
||||
#define SharedThreadReqs /**/
|
||||
#endif
|
||||
|
||||
#define SharedXextReqs $(XLIBONLY)
|
||||
#define SharedXmuReqs $(XTOOLLIB) $(XLIB)
|
||||
#define SharedOldXReqs $(XLIBONLY)
|
||||
#define SharedXtReqs $(XLIBONLY) $(SMLIB) $(ICELIB) SharedThreadReqs
|
||||
#define SharedXawReqs $(XMULIB) $(XTOOLLIB) $(XLIB)
|
||||
#define SharedXiReqs $(XLIB)
|
||||
#define SharedXtstReqs $(XLIB)
|
||||
#define SharedPexReqs $(XLIBONLY)
|
||||
#define SharedXieReqs $(XLIBONLY)
|
||||
#define SharedSMReqs $(ICELIB)
|
||||
#define SharedXpReqs $(XLIB)
|
||||
|
||||
#define SharedXReqs $(XTOOLLIB) $(XLIB) SharedThreadReqs
|
||||
#define SharedXmReqs $(LDPRELIBS) SharedXReqs
|
||||
#define SharedMrmReqs $(LDPRELIBS) $(XMLIB) SharedXReqs
|
||||
#define SharedUilReqs $(LDPRELIBS) $(MRESOURCELIB) $(XMLIB) SharedXReqs
|
||||
|
||||
/* #define SharedPamReqs */
|
||||
#define SharedTtReqs $(LDPRELIBS) SharedXReqs $(CXXLIB)
|
||||
#define SharedDtSvcReqs $(LDPRELIBS) $(TTLIB) $(XMLIB) SharedXReqs $(CXXLIB)
|
||||
#define SharedDtMmdbReqs $(LDPRELIBS) $(DTSVCLIB) $(TTLIB) $(XMLIB) SharedXReqs $(CXXLIB)
|
||||
#define SharedDtSearchReqs $(LDPRELIBS) -lisode
|
||||
#define SharedDtWidgetReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) SharedXReqs
|
||||
#define SharedDtHelpReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) SharedXReqs -liconv
|
||||
#define SharedDtPrintReqs $(LDPRELIBS) $(DTSVCLIB) $(DTHELPLIB) $(XMLIB) SharedXReqs
|
||||
#define SharedDtTermReqs $(LDPRELIBS) $(DTHELPLIB) $(DTSVCLIB) $(XMLIB) SharedXReqs -liconv -lm
|
||||
#define SharedDtMrmReqs $(LDPRELIBS) $(DTTERMLIB) $(DTPRINTLIB) $(DTHELPLIB) $(DTWIDGETLIB) $(MRESOURCELIB) $(XMLIB) SharedXReqs
|
||||
#define SharedCsaReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) SharedXReqs
|
||||
|
||||
#if !defined(UseInstalled) && !defined(UseInstalledX11) \
|
||||
&& !defined(UseImports) && !defined(ImportX11)
|
||||
/* we want this to be defined only when building X */
|
||||
# ifndef FixupLibReferences
|
||||
# define FixupLibReferences() @@\
|
||||
DEPXTOOLLIB = _UseCat($(USRLIBDIR),$(TOOLKITSRC),/libXt.a)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* The inbuf paramter to iconv(3) is "const char**", not "char **" */
|
||||
ICONV_INBUF_DEFINE = -DICONV_INBUF_CONST
|
||||
|
||||
ICONVSYSLIB = -liconv
|
||||
|
||||
#if (OSMajorVersion > 4) || ((OSMajorVersion == 4) && (OSMinorVersion >= 2))
|
||||
DYNLIBSYSLIB = -ldl
|
||||
#endif
|
||||
|
|
@ -1,323 +0,0 @@
|
|||
XCOMM platform: $TOG: linux.cf /main/47 1998/04/17 11:32:51 mgreess $
|
||||
|
||||
#ifndef OSName
|
||||
# define OSName DefaultOSName
|
||||
#endif
|
||||
#ifndef OSMajorVersion
|
||||
# define OSMajorVersion DefaultOSMajorVersion
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
# define OSMinorVersion DefaultOSMinorVersion
|
||||
#endif
|
||||
#ifndef OSTeenyVersion
|
||||
# define OSTeenyVersion DefaultOSTeenyVersion
|
||||
#endif
|
||||
|
||||
#ifndef LinuxDistribution
|
||||
#define LinuxDistribution DefaultLinuxDistribution
|
||||
/*
|
||||
Add "#define LinuxDistribution Linux<mumble>" to your site.def or host.def.
|
||||
Currently only LinuxSuSE will be figured out automatically.
|
||||
Valid values are (from the list at www.linux.org in Oct. 1997):
|
||||
LinuxUnknown (0)
|
||||
LinuxSuSE (1)
|
||||
LinuxCaldera (2)
|
||||
LinuxCraftworks (3)
|
||||
LinuxDebian (4)
|
||||
LinuxInfoMagic (5)
|
||||
LinuxKheops (6)
|
||||
LinuxPro (7)
|
||||
LinuxRedHat (8)
|
||||
LinuxSlackware (9)
|
||||
LinuxTurbo (10)
|
||||
LinuxWare (11)
|
||||
LinuxYggdrasil (12)
|
||||
*/
|
||||
#endif
|
||||
|
||||
#ifndef DefaultLinuxCLibMajorVersion
|
||||
# define DefaultLinuxCLibMajorVersion 6
|
||||
#endif
|
||||
#ifndef DefaultLinuxCLibMinorVersion
|
||||
# define DefaultLinuxCLibMinorVersion 0
|
||||
#endif
|
||||
#ifndef DefaultLinuxCLibTeenyVersion
|
||||
# define DefaultLinuxCLibTeenyVersion 0
|
||||
#endif
|
||||
|
||||
#ifndef LinuxCLibMajorVersion
|
||||
# define LinuxCLibMajorVersion DefaultLinuxCLibMajorVersion
|
||||
#endif
|
||||
#ifndef LinuxCLibMinorVersion
|
||||
# define LinuxCLibMinorVersion DefaultLinuxCLibMinorVersion
|
||||
#endif
|
||||
#ifndef LinuxCLibTeenyVersion
|
||||
# define LinuxCLibTeenyVersion DefaultLinuxCLibTeenyVersion
|
||||
#endif
|
||||
|
||||
#ifndef LinuxBinUtilsMajorVersion
|
||||
# define LinuxBinUtilsMajorVersion DefaultLinuxBinUtilsMajorVersion
|
||||
#endif
|
||||
|
||||
XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
|
||||
XCOMM libc: (LinuxCLibMajorVersion./**/LinuxCLibMinorVersion./**/LinuxCLibTeenyVersion)
|
||||
XCOMM binutils: (LinuxBinUtilsMajorVersion)
|
||||
|
||||
#ifndef UseElfFormat
|
||||
# if OSMajorVersion > 1 || (OSMajorVersion == 1 && OSMinorVersion > 1)
|
||||
# define UseElfFormat YES
|
||||
# else
|
||||
# define UseElfFormat NO
|
||||
# error "Only ELF format is supported on linux"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define BuildLibPathVar LD_LIBRARY_PATH
|
||||
#define HasGcc YES
|
||||
#define HasGcc2 YES
|
||||
#define HasGcc2ForCplusplus YES
|
||||
#define GccUsesGas YES
|
||||
#define UseGas YES
|
||||
#define GnuCpp YES
|
||||
#define HasShadowPasswd YES
|
||||
#define HasPutenv YES
|
||||
#define HasShm YES
|
||||
#define HasSockets YES
|
||||
|
||||
#define HasMakefileSafeInclude YES
|
||||
#define DependFileName .depend
|
||||
#define DependCmd $(CC) -E -MM -MG
|
||||
#define M4Cmd /usr/bin/m4
|
||||
|
||||
#ifdef IncludeMakefile
|
||||
# undef IncludeMakefile
|
||||
#endif
|
||||
|
||||
#define IncludeMakefile(file) -include file
|
||||
|
||||
#if (LinuxDistribution == LinuxRedHat)
|
||||
# define HasZlib YES
|
||||
#endif
|
||||
|
||||
#define AvoidNullMakeCommand YES
|
||||
#define StripInstalledPrograms NO
|
||||
#define CompressAllFonts YES
|
||||
#define Malloc0ReturnsNull YES
|
||||
#define NeedConstPrototypes YES
|
||||
#define NeedFunctionPrototypes YES
|
||||
#define NeedNestedPrototypes YES
|
||||
#define NeedVarargsPrototypes YES
|
||||
#define NeedWidePrototypes NO
|
||||
#define SetTtyGroup YES
|
||||
|
||||
#define CcCmd gcc -g -pipe
|
||||
#define CplusplusCmd g++ -g -pipe
|
||||
#define AsCmd as
|
||||
#define LdCmd ld
|
||||
|
||||
#define CplusplusLibC -lstdc++
|
||||
#define AsmDefines -D__ELF__
|
||||
|
||||
#define MkdirHierCmd mkdir -p
|
||||
#define CppCmd /lib/cpp
|
||||
#define YaccCmd bison -y
|
||||
#define LexCmd flex -l
|
||||
#define LexLib -lfl
|
||||
#define PreProcessCmd CcCmd -E
|
||||
#define PostIncDir DefaultGccIncludeDir
|
||||
#define LdCombineFlags -r
|
||||
#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
|
||||
#define HasWChar32 YES
|
||||
#define StandardCppDefines -traditional -nostdinc StandardDefines
|
||||
#define ExtensionOSDefines -DXTESTEXT1
|
||||
|
||||
#define LinuxLocaleDefines /**/
|
||||
|
||||
#define DefaultCCOptions -ansi
|
||||
|
||||
XCOMM Lets try XdmAuth instead of the ancient MIT/DES auth
|
||||
#define HasXdmAuth YES
|
||||
|
||||
XCOMM TIRPC is enabled by default now on Linux. The libtirpc-dev package is
|
||||
XCOMM required for this support. If you cannot use tirpc for some reason,
|
||||
XCOMM can disable it by defining HasTIRPCLib to NO in either
|
||||
XCOMM your host.def or site.def file. Not using the TIRPC lib will require
|
||||
XCOMM that you run rpcbind in insecure mode (ie: with the -i option).
|
||||
XCOMM The default is YES.
|
||||
|
||||
#ifndef HasTIRPCLib
|
||||
# define HasTIRPCLib YES
|
||||
#endif
|
||||
|
||||
#if HasTIRPCLib
|
||||
TIRPCLIB = -ltirpc
|
||||
TIRPCINC = -I/usr/include/tirpc
|
||||
#else
|
||||
TIRPCLIB =
|
||||
TIRPCINC =
|
||||
#endif
|
||||
|
||||
#if !defined(DefaultGcc2i386Opt)
|
||||
# define DefaultGcc2i386Opt -O2 -fno-strict-aliasing -Wno-write-strings \
|
||||
-Wno-unused-result
|
||||
#endif
|
||||
|
||||
#if LinuxCLibMajorVersion < 6
|
||||
# define LinuxSourceDefines -D_POSIX_SOURCE -D_DEFAULT_SOURCE \
|
||||
-D_BSD_SOURCE -D_SVID_SOURCE LinuxLocaleDefines
|
||||
# ifndef HasLibCrypt
|
||||
# define HasLibCrypt NO
|
||||
# endif
|
||||
|
||||
#else
|
||||
# define LinuxSourceDefines -D_POSIX_SOURCE -D_DEFAULT_SOURCE \
|
||||
-D_BSD_SOURCE -D_SVID_SOURCE \
|
||||
-D__NO_STRING_INLINES -D__NO_MATH_INLINES \
|
||||
LinuxLocaleDefines
|
||||
# define HasPosixThreads YES
|
||||
# define ThreadedX YES
|
||||
# define HasThreadSafeAPI YES
|
||||
# define ThreadsLibraries -lpthread
|
||||
# define SystemMTDefines -D_REENTRANT
|
||||
# ifndef HasLibCrypt
|
||||
# define HasLibCrypt YES
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef SparcArchitecture
|
||||
# define LinuxMachineDefines -Dsparc
|
||||
|
||||
# if UseElfFormat
|
||||
# define HasPlugin YES
|
||||
# define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
|
||||
# endif
|
||||
#endif /* SparcArchitecture */
|
||||
|
||||
#ifdef ARMArchitecture
|
||||
# ifndef OptimizedCDebugFlags
|
||||
# define OptimizedCDebugFlags DefaultGcc2i386Opt
|
||||
# endif
|
||||
# define LinuxMachineDefines -D__arm__
|
||||
# define LSBBitOrder YES
|
||||
|
||||
# if UseElfFormat
|
||||
# define HasPlugin YES
|
||||
# define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
|
||||
# endif
|
||||
#endif /* ARMArchitecture */
|
||||
|
||||
#ifdef i386Architecture
|
||||
# ifndef OptimizedCDebugFlags
|
||||
# define OptimizedCDebugFlags DefaultGcc2i386Opt
|
||||
# endif
|
||||
# define LinuxMachineDefines -D__i386__
|
||||
/* For DtHelp TIFF processing routines. */
|
||||
# define LSBBitOrder YES
|
||||
|
||||
# if UseElfFormat
|
||||
# define HasPlugin YES
|
||||
# define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
|
||||
# endif
|
||||
#endif /* i386Architecture */
|
||||
|
||||
#ifdef AMD64Architecture
|
||||
# ifndef OptimizedCDebugFlags
|
||||
# define OptimizedCDebugFlags DefaultGcc2i386Opt
|
||||
# endif
|
||||
# define LinuxMachineDefines -D__x86_64__
|
||||
/* For DtHelp TIFF processing routines. */
|
||||
# define LSBBitOrder YES
|
||||
|
||||
# if UseElfFormat
|
||||
# define HasPlugin YES
|
||||
# define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
|
||||
# endif
|
||||
#endif /* AMD64Architecture */
|
||||
|
||||
#ifdef AArch64Architecture
|
||||
# ifndef OptimizedCDebugFlags
|
||||
# define OptimizedCDebugFlags -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g -fno-strict-aliasing
|
||||
# endif
|
||||
# define LinuxMachineDefines -D__aarch64__
|
||||
# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
|
||||
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
|
||||
#endif /* AArch64Architecture */
|
||||
|
||||
|
||||
#ifdef PpcArchitecture
|
||||
# ifndef OptimizedCDebugFlags
|
||||
# define OptimizedCDebugFlags DefaultGcc2i386Opt
|
||||
# endif
|
||||
# define LinuxMachineDefines -D__powerpc__
|
||||
#endif /* PpcArchitecture */
|
||||
|
||||
#ifdef AlphaArchitecture
|
||||
# ifndef OptimizedCDebugFlags
|
||||
# define OptimizedCDebugFlags DefaultGcc2i386Opt
|
||||
# endif
|
||||
# define LinuxMachineDefines -D__alpha__
|
||||
#endif /* AlphaArchitecture */
|
||||
|
||||
#ifdef RISCVArchitecture
|
||||
# ifndef OptimizedCDebugFlags
|
||||
# define OptimizedCDebugFlags DefaultGcc2i386Opt
|
||||
# endif
|
||||
# define LinuxMachineDefines -D__riscv__
|
||||
# define LSBBitOrder YES
|
||||
#endif /* RISCVArchitecture */
|
||||
|
||||
#ifdef Mc68020Architecture
|
||||
# ifndef OptimizedCDebugFlags
|
||||
# define OptimizedCDebugFlags DefaultGcc2i386Opt
|
||||
# endif
|
||||
# define LinuxMachineDefines -D__mc68000__
|
||||
# define StandardCppDefines -traditional
|
||||
#endif /* Mc68020Architecture */
|
||||
|
||||
#define StandardDefines -D__linux__ LinuxMachineDefines LinuxSourceDefines
|
||||
|
||||
#define ConnectionFlags -DUNIXCONN -DTCPCONN
|
||||
|
||||
XCOMM This is needed for CDE currently
|
||||
#define CplusplusStandardDefines StandardDefines
|
||||
|
||||
/* Some of these man page defaults are overriden in the above OS sections */
|
||||
#ifndef ManSuffix
|
||||
# define ManSuffix 1x
|
||||
#endif
|
||||
#ifndef ManDir
|
||||
# define ManDir $(MANSOURCEPATH)1
|
||||
#endif
|
||||
#ifndef LibManSuffix
|
||||
# define LibManSuffix 3x
|
||||
#endif
|
||||
#ifndef LibmanDir
|
||||
# define LibmanDir $(MANSOURCEPATH)3
|
||||
#endif
|
||||
#ifndef FileManSuffix
|
||||
# define FileManSuffix 5x
|
||||
#endif
|
||||
#ifndef FileManDir
|
||||
# define FileManDir $(MANSOURCEPATH)5
|
||||
#endif
|
||||
|
||||
#define ArchitectureDefines -DLINUX_ARCHITECTURE
|
||||
|
||||
#define TtClientLibs $(TTLIB) $(TIRPCLIB) $(XTOOLLIB) $(XLIB)
|
||||
|
||||
#define SharedTtReqs $(TIRPCLIB) $(LDPRELIBS) SharedXReqs $(CXXLIB)
|
||||
|
||||
#if !defined(HasPamLibrary)
|
||||
#define HasPamLibrary YES
|
||||
#endif
|
||||
|
||||
#if !defined(HasPtsDriver)
|
||||
#define HasPtsDriver YES
|
||||
#endif
|
||||
|
||||
#if !defined(HasUtempterLibrary)
|
||||
#define HasUtempterLibrary YES
|
||||
#endif
|
||||
|
||||
#include <lnxDep.rules>
|
||||
#include <lnxLib.rules>
|
|
@ -1,37 +0,0 @@
|
|||
XCOMM dependency handling for linux, included by linux.cf.
|
||||
XCOMM We do not want builds to fail if dependencies cannot
|
||||
XCOMM be generated. In some cases, checking will always fail
|
||||
XCOMM because the relevant files have not been generated yet.
|
||||
XCOMM Not ignoring errors can cause make to go into an infinite
|
||||
XCOMM loop during depend processing.
|
||||
XCOMM
|
||||
|
||||
#ifndef DependDependency
|
||||
#define DependDependency() /**/
|
||||
#endif
|
||||
|
||||
#ifdef DependTarget
|
||||
# undef DependTarget
|
||||
#endif
|
||||
|
||||
#define DependTarget() @@@@\
|
||||
DependDependency() @@@@\
|
||||
@@@@\
|
||||
depend:: DependFileName @@@@\
|
||||
@@@@\
|
||||
DependFileName:: @@@@\
|
||||
-RunProgram(DEPEND,$(DEPENDFLAGS) $(ALLDEFINES) $(DEPEND_DEFINES) $(SRCS)) > $@
|
||||
|
||||
#ifdef DependTarget3
|
||||
# undef DependTarget3
|
||||
#endif
|
||||
|
||||
#define DependTarget3(srcs1,srcs2,srcs3) @@@@\
|
||||
DependDependency() @@@@\
|
||||
@@@@\
|
||||
depend:: DependFileName @@@@\
|
||||
@@@@\
|
||||
DependFileName:: @@@@\
|
||||
-RunProgram(DEPEND,$(DEPENDFLAGS) $(ALLDEFINES) $(DEPEND_DEFINES) srcs1) > $@ @@@@\
|
||||
-RunProgram(DEPEND,$(DEPENDFLAGS) $(ALLDEFINES) $(DEPEND_DEFINES) srcs2) >> $@ @@@@\
|
||||
-RunProgram(DEPEND,$(DEPENDFLAGS) $(ALLDEFINES) $(DEPEND_DEFINES) srcs3) >> $@
|
|
@ -1,500 +0,0 @@
|
|||
XCOMM $TOG: lnxLib.rules /main/14 1998/03/16 11:15:30 mgreess $
|
||||
|
||||
/*
|
||||
* Linux shared library rules (DLL & ELF versions)
|
||||
*/
|
||||
#ifndef HasSharedLibraries
|
||||
#define HasSharedLibraries YES
|
||||
#endif
|
||||
#ifndef ForceNormalLib
|
||||
#define ForceNormalLib NO
|
||||
#endif
|
||||
|
||||
#define SharedOldX NO
|
||||
|
||||
#if UseElfFormat
|
||||
|
||||
#ifndef SharedDataSeparation
|
||||
#define SharedDataSeparation NO
|
||||
#endif
|
||||
#ifndef SharedCodeDef
|
||||
#define SharedCodeDef /**/
|
||||
#endif
|
||||
#ifndef SharedLibraryDef
|
||||
#define SharedLibraryDef /**/
|
||||
#endif
|
||||
#ifndef ShLibIncludeFile
|
||||
#define ShLibIncludeFile <lnxLib.tmpl>
|
||||
#endif
|
||||
#ifndef SharedLibraryLoadFlags
|
||||
#define SharedLibraryLoadFlags -shared
|
||||
#endif
|
||||
#ifndef PositionIndependentCFlags
|
||||
#define PositionIndependentCFlags -fPIC
|
||||
#endif
|
||||
#ifndef PositionIndependentCplusplusFlags
|
||||
#define PositionIndependentCplusplusFlags -fPIC
|
||||
#endif
|
||||
#ifndef ExtraLoadFlags
|
||||
#define ExtraLoadFlags -Wl,-rpath,$(USRLIBDIRPATH)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* InstallSharedLibrary - generate rules to install the shared library.
|
||||
* NOTE: file must be executable, hence "INSTBINFLAGS"
|
||||
*/
|
||||
#ifndef InstallSharedLibrary
|
||||
#define InstallSharedLibrary(libname,rev,dest) @@\
|
||||
install:: Concat(lib,libname.so.rev) @@\
|
||||
MakeDir($(DESTDIR)dest) @@\
|
||||
$(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
|
||||
(T=`echo Concat($(DESTDIR)dest/lib,libname.so.rev) | sed 's/\.[^\.]*$$//'`;\
|
||||
$(RM) $$T && $(LN) Concat(lib,libname.so.rev) $$T) @@\
|
||||
$(RM) Concat($(DESTDIR)dest/lib,libname.so) @@\
|
||||
$(LN) Concat(lib,libname.so.rev) Concat($(DESTDIR)dest/lib,libname.so)
|
||||
#endif /* InstallSharedLibrary */
|
||||
|
||||
/*
|
||||
* InstallSharedLibraryData - generate rules to install the shared library data
|
||||
*/
|
||||
#ifndef InstallSharedLibraryData
|
||||
#define InstallSharedLibraryData(libname,rev,dest)
|
||||
#endif /* InstallSharedLibraryData */
|
||||
|
||||
|
||||
/*
|
||||
* SharedLibraryTarget - generate rules to create a shared library;
|
||||
* build it into a different name so that we do not hose people by having
|
||||
* the library gone for long periods.
|
||||
*/
|
||||
#ifndef SharedLibraryTarget
|
||||
#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
|
||||
AllTarget(Concat(lib,libname.so.rev)) @@\
|
||||
@@\
|
||||
Concat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\
|
||||
$(RM) $@~ @@\
|
||||
(cd down; T=`echo $@ | sed 's/\.[^\.]*$$//'`; \
|
||||
$(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$T solist $(REQUIREDLIBS); \
|
||||
$(RM) $$T && $(LN) $@ $$T) @@\
|
||||
$(RM) $@ @@\
|
||||
$(MV) $@~ $@ @@\
|
||||
$(RM) Concat(lib,libname.so) @@\
|
||||
$(LN) $@ Concat(lib,libname.so) @@\
|
||||
LinkBuildLibrary($@) @@\
|
||||
LinkBuildLibrary(Concat(lib,libname.so)) @@\
|
||||
(T=`echo $@ | sed 's/\.[^\.]*$$//'`; \
|
||||
$(RM) $(BUILDLIBDIR)/$$T; cd $(BUILDLIBDIR); $(LN) $(BUILDLIBTOP)/$(CURRENT_DIR)/$$T .) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
|
||||
|
||||
#endif /* SharedLibraryTarget */
|
||||
|
||||
/*
|
||||
* SharedLibraryDataTarget - generate rules to create shlib data file;
|
||||
*/
|
||||
#ifndef SharedLibraryDataTarget
|
||||
#define SharedLibraryDataTarget(libname,rev,salist)
|
||||
#endif /* SharedLibraryTarget */
|
||||
|
||||
#else /* UseElfFormat */
|
||||
|
||||
#ifndef SharedDataSeparation
|
||||
#define SharedDataSeparation NO
|
||||
#endif
|
||||
#ifndef SharedCodeDef
|
||||
#define SharedCodeDef /**/
|
||||
#endif
|
||||
#ifndef SharedLibraryDef
|
||||
#define SharedLibraryDef /**/
|
||||
#endif
|
||||
#ifndef ShLibIncludeFile
|
||||
#define ShLibIncludeFile <lnxLib.tmpl>
|
||||
#endif
|
||||
#ifndef SharedLibraryLoadFlags
|
||||
#define SharedLibraryLoadFlags /**/
|
||||
#endif
|
||||
#ifndef PositionIndependentCFlags
|
||||
#define PositionIndependentCFlags -B/usr/dll/jump/
|
||||
#endif
|
||||
|
||||
/*
|
||||
* These definitions are now extended to work with the X sources and
|
||||
* external sources wishing to build shared libs.
|
||||
*
|
||||
* A library can create it's own shlibs (.so) or can be incorporated into
|
||||
* another "host" lib. All libraries generate stub (.sa) files.
|
||||
* A "host" lib does all the work to generate the stubs for itself and its
|
||||
* "guests", invoking the "guest" Makefiles to create the objects for
|
||||
* inclusion into the "host" shlib. A "guest" lib will ask the "host" to
|
||||
* create the stubfiles, then copy its own into its directory.
|
||||
* Most external libs are "host" libs; the concept of "guest" is a holdover
|
||||
* from older libs during the days of scarce shared library address space.
|
||||
*
|
||||
* To create a simple "host" shared lib, Xfoo, define:
|
||||
*
|
||||
* JUMP_ROOT_Xfoo = <source directory>
|
||||
* JUMP_IS_HOST_Xfoo = YES
|
||||
* JUMP_STUBLIBS_Xfoo = libXfoo.sa
|
||||
* JUMP_DIR_Xfoo = $(JUMP_ROOT_Xfoo)/shared <work directory>
|
||||
* JUMP_DEFS_Xfoo = -DFOO <defs for jump files>
|
||||
* JUMP_VARS_Xfoo = $(JUMP_ROOT_Xfoo)/jump_vars <see DLL docs>
|
||||
* JUMP_FUNCS_Xfoo = $(JUMP_ROOT_Xfoo)/jump_funcs <see DLL docs>
|
||||
* JUMP_IGNORE_Xfoo = $(JUMP_ROOT_Xfoo)/jump_ignore <see DLL docs>
|
||||
* JUMP_EXPORT_Xfoo = $(JUMP_DIR_Xfoo)/jump.vars <exported symbols>
|
||||
* JUMP_IMPORT_Xfoo = $(JUMP_DIR_Xbar) <imported symbols>
|
||||
* JUMP_ADDRESS_Xfoo = 0xXXXXXXXX <fill in with address>
|
||||
* JUMP_JUMPTABLESIZE_Xfoo = 0x4000 <adjust if necessary>
|
||||
* JUMP_GOTSIZE_Xfoo = 4096 <adjust if necessary>
|
||||
* JUMP_STUBNAMES_Xfoo = libXfoo <and others>
|
||||
* JUMP_STUBS_IMPORT_Xfoo = /usr/lib/libc.sa <and others>
|
||||
* JUMP_LDLIBS_Xfoo = `$(CC) --print-libgcc-file-name` -lc <and others>
|
||||
*
|
||||
* To create a complex "host", you need to add
|
||||
* JUMP_SIBARS_Xt = jump/libXbar.a~ <and others>
|
||||
* These are the archives of the shared objects of the "guest" libs. They
|
||||
* need to be added to the JUMP_LDLIBS_Xfoo lines.
|
||||
*
|
||||
* For further clarification, study the definitions of libXaw, a simple "host"
|
||||
* lib, libXt, a complex "host" lib, and libXmu, one of libXts "guests".
|
||||
*
|
||||
* As a hint of how to start (with the DLL docs), touch jump_vars, jump_funcs
|
||||
* and jump_ignore, then compile. Then massage the jump.vars and jump.funcs
|
||||
* files in the shared subdirectory into jump_xxx files.
|
||||
*/
|
||||
|
||||
#ifndef UseInstalled
|
||||
XCOMM These are only needed to build the server
|
||||
|
||||
#if LinuxElfDefault
|
||||
LIBC_SA = /usr/i486-linuxaout/lib/libc.sa
|
||||
LIBM_SA = /usr/i486-linuxaout/lib/libm.sa
|
||||
#else
|
||||
LIBC_SA = /usr/lib/libc.sa
|
||||
LIBM_SA = /usr/lib/libm.sa
|
||||
#endif
|
||||
|
||||
JUMP_LDLIBS_libc = `$(CC) --print-libgcc-file-name` -lc
|
||||
|
||||
XCOMM libX11.so (X11, SM, ICE)
|
||||
JUMP_ROOT_X11 = $(XLIBSRC)
|
||||
JUMP_IS_HOST_X11 = YES
|
||||
JUMP_STUBLIBS_X11 = libX11.sa libSM.sa libICE.sa
|
||||
JUMP_SIBDIRS_X11 = $(JUMP_ROOT_SM) $(JUMP_ROOT_ICE)
|
||||
JUMP_DIR_X11 = $(JUMP_ROOT_X11)/shared
|
||||
JUMP_DEFS_X11 = $(XDMAUTHDEFS)
|
||||
JUMP_VARS_X11 = $(JUMP_ROOT_X11)/jump_vars
|
||||
JUMP_FUNCS_X11 = $(JUMP_ROOT_X11)/jump_funcs
|
||||
JUMP_IGNORE_X11 = $(JUMP_ROOT_X11)/jump_ignore
|
||||
JUMP_EXPORT_X11 = $(JUMP_DIR_X11)/jump.vars
|
||||
JUMP_ADDRESS_X11 = 0x60200000
|
||||
JUMP_JUMPTABLESIZE_X11 = 0x4000
|
||||
JUMP_GOTSIZE_X11 = 4096
|
||||
JUMP_STUBNAMES_X11 = libX11 libSM libICE
|
||||
JUMP_STUBS_IMPORT_X11 = $(LIBC_SA)
|
||||
JUMP_SIBARS_X11 = jump/libSM.a~ jump/libICE.a~
|
||||
JUMP_LDLIBS_X11 = $(JUMP_SIBARS_X11) $(JUMP_LDLIBS_libc)
|
||||
|
||||
XCOMM libSM (part of libX11.so)
|
||||
JUMP_ROOT_SM = $(SMSRC)
|
||||
JUMP_IS_HOST_SM = NO
|
||||
JUMP_HOST_SM = $(JUMP_ROOT_X11)
|
||||
JUMP_DIR_SM = $(JUMP_DIR_X11)
|
||||
|
||||
XCOMM libICE (part of libX11.so)
|
||||
JUMP_ROOT_ICE = $(ICESRC)
|
||||
JUMP_IS_HOST_ICE = NO
|
||||
JUMP_HOST_ICE = $(JUMP_ROOT_X11)
|
||||
JUMP_DIR_ICE = $(JUMP_DIR_X11)
|
||||
|
||||
XCOMM libXt.so (Xt, Xmu, Xext, Xi, Xtst)
|
||||
JUMP_ROOT_Xt = $(TOOLKITSRC)
|
||||
JUMP_IS_HOST_Xt = YES
|
||||
JUMP_STUBLIBS_Xt = libXt.sa libXmu.sa libXext.sa libXi.sa libXtst.sa
|
||||
JUMP_SUBDIRS_Xt = $(JUMP_ROOT_X11)
|
||||
JUMP_SIBDIRS_Xt = $(JUMP_ROOT_Xmu) $(JUMP_ROOT_Xext) \
|
||||
$(JUMP_ROOT_Xi) $(JUMP_ROOT_Xtst)
|
||||
JUMP_DIR_Xt = $(JUMP_ROOT_Xt)/shared
|
||||
JUMP_VARS_Xt = $(JUMP_ROOT_Xt)/jump_vars
|
||||
JUMP_FUNCS_Xt = $(JUMP_ROOT_Xt)/jump_funcs
|
||||
JUMP_IGNORE_Xt = $(JUMP_ROOT_Xt)/jump_ignore
|
||||
JUMP_EXPORT_Xt = $(JUMP_DIR_Xt)/jump.vars
|
||||
JUMP_IMPORT_Xt = $(JUMP_EXPORT_X11)
|
||||
JUMP_ADDRESS_Xt = 0x602a0000
|
||||
JUMP_JUMPTABLESIZE_Xt = 0x4000
|
||||
JUMP_GOTSIZE_Xt = 4096
|
||||
JUMP_STUBNAMES_Xt = libXt libXmu libXext libXi libXtst
|
||||
JUMP_STUBS_IMPORT_Xt = $(JUMP_STUBS_IMPORT_X11)
|
||||
JUMP_SIBARS_Xt = jump/libXmu.a~ jump/libXext.a~ jump/libXi.a~ jump/libXtst.a~
|
||||
JUMP_LDLIBS_Xt = $(JUMP_SIBARS_Xt) $(JUMP_ROOT_ICE)/libICE.sa \
|
||||
$(JUMP_ROOT_SM)/libSM.sa $(JUMP_ROOT_X11)/libX11.sa $(JUMP_LDLIBS_libc)
|
||||
|
||||
XCOMM libXmu (part of libXt.so)
|
||||
JUMP_ROOT_Xmu = $(XMUSRC)
|
||||
JUMP_IS_HOST_Xmu = NO
|
||||
JUMP_HOST_Xmu = $(JUMP_ROOT_Xt)
|
||||
JUMP_DIR_Xmu = $(JUMP_DIR_Xt)
|
||||
|
||||
XCOMM libXext (part of libXt.so)
|
||||
JUMP_ROOT_Xext = $(XEXTLIBSRC)
|
||||
JUMP_IS_HOST_Xext = NO
|
||||
JUMP_HOST_Xext = $(JUMP_ROOT_Xt)
|
||||
JUMP_DIR_Xext = $(JUMP_DIR_Xt)
|
||||
|
||||
XCOMM libXi (part of libXt.so)
|
||||
JUMP_ROOT_Xi = $(XILIBSRC)
|
||||
JUMP_IS_HOST_Xi = NO
|
||||
JUMP_HOST_Xi = $(JUMP_ROOT_Xt)
|
||||
JUMP_DIR_Xi = $(JUMP_DIR_Xt)
|
||||
|
||||
XCOMM libXtst (part of libXt.so)
|
||||
JUMP_ROOT_Xtst = $(XTESTLIBSRC)
|
||||
JUMP_IS_HOST_Xtst = NO
|
||||
JUMP_HOST_Xtst = $(JUMP_ROOT_Xt)
|
||||
JUMP_DIR_Xtst = $(JUMP_DIR_Xt)
|
||||
|
||||
XCOMM libXaw.so (Xaw)
|
||||
JUMP_ROOT_Xaw = $(AWIDGETSRC)
|
||||
JUMP_IS_HOST_Xaw = YES
|
||||
JUMP_STUBLIBS_Xaw = libXaw.sa
|
||||
JUMP_SUBDIRS_Xaw = $(JUMP_ROOT_Xt)
|
||||
JUMP_DIR_Xaw = $(JUMP_ROOT_Xaw)/shared
|
||||
JUMP_VARS_Xaw = $(JUMP_ROOT_Xaw)/jump_vars
|
||||
JUMP_FUNCS_Xaw = $(JUMP_ROOT_Xaw)/jump_funcs
|
||||
JUMP_IGNORE_Xaw = $(JUMP_ROOT_Xaw)/jump_ignore
|
||||
JUMP_EXPORT_Xaw = $(JUMP_DIR_Xaw)/jump.vars
|
||||
JUMP_IMPORT_Xaw = $(JUMP_EXPORT_Xt) $(JUMP_EXPORT_X11)
|
||||
JUMP_ADDRESS_Xaw = 0x60300000
|
||||
JUMP_JUMPTABLESIZE_Xaw = 0x4000
|
||||
JUMP_GOTSIZE_Xaw = 4096
|
||||
JUMP_STUBNAMES_Xaw = libXaw
|
||||
JUMP_STUBS_IMPORT_Xaw = $(JUMP_STUBS_IMPORT_X11)
|
||||
JUMP_LDLIBS_Xaw = $(JUMP_ROOT_Xt)/libXt.sa $(JUMP_ROOT_Xt)/libXmu.sa \
|
||||
$(JUMP_ROOT_Xt)/libXext.sa $(JUMP_ROOT_X11)/libX11.sa \
|
||||
$(JUMP_LDLIBS_libc)
|
||||
|
||||
# libPEX.so (PEX5)
|
||||
JUMP_ROOT_PEX5 = $(PEXLIBSRC)
|
||||
JUMP_IS_HOST_PEX5 = YES
|
||||
JUMP_STUBLIBS_PEX5 = libPEX5.sa
|
||||
JUMP_SUBDIRS_PEX5 = $(JUMP_ROOT_X11)
|
||||
JUMP_DIR_PEX5 = $(JUMP_ROOT_PEX5)/shared
|
||||
JUMP_VARS_PEX5 = $(JUMP_ROOT_PEX5)/jump_vars
|
||||
JUMP_FUNCS_PEX5 = $(JUMP_ROOT_PEX5)/jump_funcs
|
||||
JUMP_IGNORE_PEX5 = $(JUMP_ROOT_PEX5)/jump_ignore
|
||||
JUMP_EXPORT_PEX5 = $(JUMP_DIR_PEX5)/jump.vars
|
||||
JUMP_IMPORT_PEX5 = $(JUMP_EXPORT_X11)
|
||||
JUMP_ADDRESS_PEX5 = 0x60b00000
|
||||
JUMP_JUMPTABLESIZE_PEX5 = 0x4000
|
||||
JUMP_GOTSIZE_PEX5 = 4096
|
||||
JUMP_STUBNAMES_PEX5 = libPEX5
|
||||
JUMP_STUBS_IMPORT_PEX5 = $(JUMP_STUBS_IMPORT_X11) $(LIBM_SA)
|
||||
JUMP_LDLIBS_PEX5 = $(JUMP_ROOT_X11)/libX11.sa $(JUMP_LDLIBS_libc) -lm
|
||||
|
||||
# libXIE.so (XIE)
|
||||
JUMP_ROOT_XIE = $(XIELIBSRC)
|
||||
JUMP_IS_HOST_XIE = YES
|
||||
JUMP_STUBLIBS_XIE = libXIE.sa
|
||||
JUMP_SUBDIRS_XIE = $(JUMP_ROOT_X11)
|
||||
JUMP_DIR_XIE = $(JUMP_ROOT_XIE)/shared
|
||||
JUMP_VARS_XIE = $(JUMP_ROOT_XIE)/jump_vars
|
||||
JUMP_FUNCS_XIE = $(JUMP_ROOT_XIE)/jump_funcs
|
||||
JUMP_IGNORE_XIE = $(JUMP_ROOT_XIE)/jump_ignore
|
||||
JUMP_EXPORT_XIE = $(JUMP_DIR_XIE)/jump.vars
|
||||
JUMP_IMPORT_XIE = $(JUMP_EXPORT_X11)
|
||||
JUMP_ADDRESS_XIE = 0x60be0000
|
||||
JUMP_JUMPTABLESIZE_XIE = 0x4000
|
||||
JUMP_GOTSIZE_XIE = 4096
|
||||
JUMP_STUBNAMES_XIE = libXIE
|
||||
JUMP_STUBS_IMPORT_XIE = $(JUMP_STUBS_IMPORT_X11) $(LIBM_SA)
|
||||
JUMP_LDLIBS_XIE = $(JUMP_ROOT_X11)/libX11.sa $(JUMP_LDLIBS_libc) -lm
|
||||
|
||||
#endif /* !UseInstalled */
|
||||
|
||||
/*
|
||||
* SharedLibraryDataTarget - generate rules to create shared data file
|
||||
*/
|
||||
#ifndef SharedLibraryDataTarget
|
||||
#define SharedLibraryDataTarget(libname,rev,salist)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* SharedLibraryTarget - generate rules to create a shared library;
|
||||
* There are two basic flavors of libs: self-generating, which create
|
||||
* their own (and possibly other) libs, and hosted, which rely on another
|
||||
* lib for all the work.
|
||||
*/
|
||||
#ifndef SharedLibraryTarget
|
||||
#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
|
||||
XCOMM This logic is such to compile the libs in their proper order, @@\
|
||||
XCOMM remain dependent on subsidiary libs, and yet minimize local work @@\
|
||||
@@\
|
||||
JUMP_DIR=./jump @@\
|
||||
JUMP_LIB=Concat(lib,libname) @@\
|
||||
@@\
|
||||
XCOMM this is needed for newer gnumake versions @@\
|
||||
export JUMP_DIR JUMP_LIB @@\
|
||||
@@\
|
||||
JUMP_IS_HOST=$(Concat(JUMP_IS_HOST_,libname)) @@\
|
||||
JUMP_AR=$(JUMP_DIR)/Concat(lib,libname.a~) @@\
|
||||
JUMP_SA=Concat(lib,libname.sa) @@\
|
||||
JUMP_SO=Concat(lib,libname.so.rev) @@\
|
||||
@@\
|
||||
JUMP_HOST=$(Concat(JUMP_HOST_,libname)) @@\
|
||||
@@\
|
||||
INSTSOLIBFLAGS=-m 0555 @@\
|
||||
@@\
|
||||
AllTarget($(BUILDLIBDIR)/$(JUMP_SA)) @@\
|
||||
@@\
|
||||
$(BUILDLIBDIR)/$(JUMP_SA): $(JUMP_SA) @@\
|
||||
LinkBuildLibrary($(JUMP_SA)) @@\
|
||||
@@\
|
||||
$(JUMP_SA) $(Concat(JUMP_STUBLIBS_,libname)) do_JUMP_SA: \
|
||||
down/mk_JUMP_SA_$(JUMP_IS_HOST) @@\
|
||||
@@\
|
||||
down/mk_JUMP_SA_0:: mk_JUMP_HOST @@\
|
||||
@@\
|
||||
down/mk_JUMP_SA_0:: $(JUMP_HOST)/$(JUMP_SA) @@\
|
||||
$(RM) $(JUMP_SA) @@\
|
||||
$(LN) $(JUMP_HOST)/$(JUMP_SA) $(JUMP_SA) @@\
|
||||
touch $@ @@\
|
||||
@@\
|
||||
down/mk_JUMP_SA_1:: $(JUMP_SO) @@\
|
||||
@@\
|
||||
down/mk_JUMP_SA_1:: down/mk_JUMP_SO_2 @@\
|
||||
$(RM) $(Concat(JUMP_STUBLIBS_,libname)) @@\
|
||||
mkstubs -v rev -l $(JUMP_LIB) \
|
||||
-a $(Concat(JUMP_ADDRESS_,libname)) \
|
||||
-j $(Concat(JUMP_JUMPTABLESIZE_,libname)) \
|
||||
-g $(Concat(JUMP_GOTSIZE_,libname)) \
|
||||
-- $(Concat(JUMP_STUBNAMES_,libname)) @@\
|
||||
verify-shlib -l $(JUMP_SO) \
|
||||
$(Concat(JUMP_STUBLIBS_,libname)) @@\
|
||||
$(MV) verify.out $(JUMP_DIR) @@\
|
||||
touch $@ @@\
|
||||
@@\
|
||||
mk_JUMP_HOST: @@\
|
||||
@echo checking stub library $(JUMP_SA) in $(JUMP_HOST)... @@\
|
||||
@(cd $(JUMP_HOST); $(MAKE) $(MFLAGS) $(JUMP_SA)) || exit 1 @@\
|
||||
@echo ok. continuing in $(Concat(JUMP_ROOT_,libname))... @@\
|
||||
@@\
|
||||
$(JUMP_SO): down/mk_JUMP_SO_$(JUMP_IS_HOST) @@\
|
||||
@@\
|
||||
down/mk_JUMP_SO_0: @@\
|
||||
@@\
|
||||
down/mk_JUMP_SO_1:: $(JUMP_AR) mk_JUMP_SIBDIRS down/mk_JUMP_SO_2 @@\
|
||||
@@\
|
||||
down/mk_JUMP_SO_2: down/mk_JUMP_AR $(Concat(JUMP_SIBARS_,libname)) @@\
|
||||
$(RM) $(JUMP_SO) @@\
|
||||
mkimage -f -v rev -l $(JUMP_LIB) \
|
||||
-a $(Concat(JUMP_ADDRESS_,libname)) \
|
||||
-j $(Concat(JUMP_JUMPTABLESIZE_,libname)) \
|
||||
-g $(Concat(JUMP_GOTSIZE_,libname)) \
|
||||
-- $(JUMP_AR) $(Concat(JUMP_LDLIBS_,libname)) @@\
|
||||
$(RM) $(JUMP_DIR)/__jump.s $(JUMP_DIR)/__jump.o @@\
|
||||
LinkBuildLibrary($(JUMP_SO)) @@\
|
||||
touch $@ @@\
|
||||
@@\
|
||||
mk_JUMP_SIBDIRS: @@\
|
||||
@for d in $(Concat(JUMP_SIBDIRS_,libname)); do \
|
||||
echo checking ar library in $$d...; \
|
||||
(cd $$d ; $(MAKE) $(MFLAGS) fastdo_JUMP_AR) || exit 1; \
|
||||
echo ok. continuing in $(Concat(JUMP_ROOT_,libname))...;done@@\
|
||||
@@\
|
||||
fastdo_JUMP_AR: $(JUMP_DIR) down/mk_JUMP_AR @@\
|
||||
@@\
|
||||
$(JUMP_AR) do_JUMP_AR:: jumpsetup down/mk_JUMP_AR @@\
|
||||
@@\
|
||||
jumpsetup: $(JUMP_DIR) jumpsetup_$(JUMP_IS_HOST) @@\
|
||||
@@\
|
||||
$(JUMP_DIR): @@\
|
||||
$(RM) jump @@\
|
||||
LibMkdir($(Concat(JUMP_DIR_,libname))) @@\
|
||||
$(LN) $(Concat(JUMP_DIR_,libname)) jump @@\
|
||||
@@\
|
||||
jumpsetup_0: @@\
|
||||
@echo doing jump setup in host $(JUMP_HOST)... @@\
|
||||
@(cd $(JUMP_HOST); $(MAKE) $(MFLAGS) jumpsetup) || exit 1 @@\
|
||||
@echo ok. continuing in $(Concat(JUMP_ROOT_,libname))... @@\
|
||||
@@\
|
||||
jumpsetup_1:: @@\
|
||||
@for d in $(Concat(JUMP_SUBDIRS_,libname)); do \
|
||||
echo checking stub library in $$d...; \
|
||||
(cd $$d ; $(MAKE) $(MFLAGS) do_JUMP_SA) || exit 1; \
|
||||
echo ok. continuing in $(Concat(JUMP_ROOT_,libname))...;done@@\
|
||||
@@\
|
||||
jumpsetup_1:: $(JUMP_DIR)/jump.funcs $(JUMP_DIR)/jump.vars \
|
||||
$(JUMP_DIR)/jump.ignore $(JUMP_DIR)/jump.import @@\
|
||||
@@\
|
||||
$(JUMP_DIR)/jump.funcs: $(Concat(JUMP_FUNCS_,libname)) @@\
|
||||
$(RM) $(JUMP_DIR)/jump.funcs @@\
|
||||
cat $(Concat(JUMP_FUNCS_,libname)) | \
|
||||
$(CPP) $(ALLDEFINES) $(Concat(JUMP_DEFS_,libname)) > $@ @@\
|
||||
@@\
|
||||
$(JUMP_DIR)/jump.vars: $(Concat(JUMP_VARS_,libname)) @@\
|
||||
$(RM) $(JUMP_DIR)/jump.vars @@\
|
||||
cat $(Concat(JUMP_VARS_,libname)) | \
|
||||
$(CPP) $(ALLDEFINES) $(Concat(JUMP_DEFS_,libname)) > $@ @@\
|
||||
@@\
|
||||
$(JUMP_DIR)/jump.ignore: $(Concat(JUMP_IGNORE_,libname)) @@\
|
||||
$(RM) $(JUMP_DIR)/jump.ignore @@\
|
||||
cat $(Concat(JUMP_IGNORE_,libname)) | \
|
||||
$(CPP) $(ALLDEFINES) $(Concat(JUMP_DEFS_,libname)) > $@ @@\
|
||||
@@\
|
||||
$(JUMP_DIR)/jump.import: $(JUMP_DIR)/stubs.import \
|
||||
$(Concat(JUMP_IMPORT_,libname)) @@\
|
||||
$(RM) $(JUMP_DIR)/jump.import @@\
|
||||
cat $(JUMP_DIR)/stubs.import $(Concat(JUMP_IMPORT_,libname)) > $@ @@\
|
||||
@@\
|
||||
$(JUMP_DIR)/stubs.import: $(Concat(JUMP_STUBS_IMPORT_,libname)) @@\
|
||||
$(RM) $(JUMP_DIR)/stubs.import @@\
|
||||
nm --no-cplus $(Concat(JUMP_STUBS_IMPORT_,libname)) | grep '__GOT__' | \
|
||||
sed 's/__GOT__/_/' > $@ @@\
|
||||
@@\
|
||||
down/mk_JUMP_AR: solist @@\
|
||||
$(RM) $(JUMP_AR) @@\
|
||||
@if [ -s $(JUMP_DIR)/jump.log ]; then \
|
||||
echo "Error: Leftover globals for shared lib"; \
|
||||
exit 1; fi @@\
|
||||
(cd down; $(AR) up/$(JUMP_AR) solist) || exit 1 @@\
|
||||
$(RANLIB) $(JUMP_AR) @@\
|
||||
touch $@ @@\
|
||||
@@\
|
||||
clean:: jumpclean @@\
|
||||
@@\
|
||||
jumpclean: jumpclean_$(JUMP_IS_HOST) @@\
|
||||
$(RM) $(JUMP_SA) down/mk_JUMP_AR @@\
|
||||
$(RM) -r $(JUMP_DIR) @@\
|
||||
@@\
|
||||
jumpclean_0: @@\
|
||||
$(RM) down/mk_JUMP_SA_0 @@\
|
||||
$(RM) $(JUMP_HOST)/$(JUMP_SA) @@\
|
||||
@@\
|
||||
jumpclean_1: @@\
|
||||
$(RM) -r $(JUMP_SO) $(Concat(JUMP_DIR_,libname)) \ @@\
|
||||
down/mk_JUMP_SA_1 down/mk_JUMP_SO_1 down/mk_JUMP_SO_2
|
||||
#endif /* SharedLibraryTarget */
|
||||
|
||||
/*
|
||||
* InstallSharedLibrary - generate rules to install the shared library.
|
||||
*/
|
||||
#ifndef InstallSharedLibrary
|
||||
#define InstallSharedLibrary(libname,rev,dest) @@\
|
||||
install:: $(JUMP_SA) $(JUMP_SO) @@\
|
||||
MakeDir($(DESTDIR)dest) @@\
|
||||
@if [ "$(JUMP_IS_HOST)" = YES ]; then \
|
||||
(T=$(DESTDIR)dest/`echo $(JUMP_SO)|sed 's/\.[^\.]*$$//'`;\
|
||||
set -x; \
|
||||
$(INSTALL) -s -c $(INSTSOLIBFLAGS) $(JUMP_SO) $(DESTDIR)dest; \
|
||||
$(RM) $$T && $(LN) $(JUMP_SO) $$T); fi @@\
|
||||
$(INSTALL) -c $(INSTLIBFLAGS) $(JUMP_SA) $(DESTDIR)dest
|
||||
#endif /* InstallSharedLibrary */
|
||||
|
||||
/*
|
||||
* InstallSharedLibraryData - generate rules to install the shared library data
|
||||
*/
|
||||
#ifndef InstallSharedLibraryData
|
||||
#define InstallSharedLibraryData(libname,rev,dest)
|
||||
#endif /* InstallSharedLibraryData */
|
||||
|
||||
#endif /* UseElfFormat */
|
|
@ -1,51 +0,0 @@
|
|||
XCOMM $TOG: lnxLib.tmpl /main/7 1998/03/20 14:26:41 mgreess $
|
||||
|
||||
/*
|
||||
* Linux shared library template
|
||||
*/
|
||||
|
||||
/* Linux ELF shared libraries are deficient in link semantics */
|
||||
#if UseElfFormat
|
||||
#ifndef FixupLibReferences
|
||||
#define FixupLibReferences() @@\
|
||||
XMULIBONLY = -lXmu @@\
|
||||
XMULIB = $(XMULIBONLY) $(XTOOLLIB) $(XLIB)
|
||||
#endif
|
||||
#ifndef XawClientLibs
|
||||
#define XawClientLibs $(XAWLIB) $(XMULIBONLY) $(XTOOLLIB) $(XLIB)
|
||||
#endif
|
||||
#else
|
||||
#ifndef FixupLibReferences
|
||||
#define FixupLibReferences() @@\
|
||||
XMULIB = -lXmu $(XLIB)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef SharedXReqs
|
||||
# define SharedXReqs $(XTOOLLIB) $(XLIB) $(LDPOSTLIBS)
|
||||
#endif
|
||||
|
||||
#ifndef SharedXmReqs
|
||||
# define SharedXmReqs $(LDPRELIBS) SharedXReqs -lc
|
||||
#endif
|
||||
|
||||
#ifndef SharedTtReqs
|
||||
# define SharedTtReqs $(LDPRELIBS) SharedXReqs $(CXXLIB)
|
||||
#endif
|
||||
|
||||
#ifndef SharedDtSvcReqs
|
||||
# define SharedDtSvcReqs $(LDPRELIBS) SharedXReqs $(CXXLIB)
|
||||
#endif
|
||||
|
||||
#ifndef SharedCsaReqs
|
||||
# define SharedCsaReqs -lXt $(TIRPCLIB)
|
||||
#endif
|
||||
|
||||
#ifndef SharedDtHelpReqs
|
||||
# define SharedDtHelpReqs -ljpeg
|
||||
#endif
|
||||
|
||||
#ifndef SharedDtSearchReqs
|
||||
# define SharedDtSearchReqs -lm
|
||||
#endif
|
|
@ -1,117 +0,0 @@
|
|||
XCOMM platform: $XConsortium: luna.cf /main/35 1996/09/28 16:11:11 rws $
|
||||
/*
|
||||
* Please set the values for OSMajorVerion and OSMinorVersion
|
||||
* before making makefiles.
|
||||
*
|
||||
* The Luna version of the make program doesn't define the standard
|
||||
* macro MAKE, so you must run it as "make MAKE=make" at top level,
|
||||
* e.g., "make MAKE=make World"
|
||||
*/
|
||||
|
||||
#ifdef Mc68000Architecture
|
||||
# ifdef luna2
|
||||
#ifndef OSName
|
||||
#define OSName Mach 2.5 Vers 1.40
|
||||
#endif
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion 1
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion 40
|
||||
#endif
|
||||
# else
|
||||
#ifndef OSName
|
||||
#define OSName UNIOS-B 4.3BSD UNIX: 2.00
|
||||
#endif
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion 2
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion 0
|
||||
#endif
|
||||
#define DirFailPrefix -
|
||||
# endif
|
||||
#else /* Mc88000Architecture */
|
||||
#ifndef OSName
|
||||
#define OSName Mach 2.5 Vers 2.00.1
|
||||
#endif
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion 2
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion 0
|
||||
#endif
|
||||
#ifndef OSTeenyVersion
|
||||
#define OSTeenyVersion 1
|
||||
#endif
|
||||
#endif
|
||||
XCOMM operating system: OSName
|
||||
|
||||
#define HasBsearch NO
|
||||
#define HasVoidSignalReturn NO
|
||||
#define HasGcc YES
|
||||
#define HasCThreads YES
|
||||
#define HasThreadSafeAPI NO
|
||||
#define Malloc0ReturnsNull HasCThreads /* -lthreads fails, -lc works */
|
||||
#define XawI18nDefines -DHAS_WCHAR_H -DHAS_ISW_FUNCS
|
||||
#define BootstrapCFlags -DUSE_CC_E -DNFS_STDOUT_BUG
|
||||
|
||||
#define ThreadsLibraries -lthreads -lmach
|
||||
#define ThreadsCplusplusLibraries -lthreads -lmach
|
||||
|
||||
#define PrimaryScreenResolution 100
|
||||
#define BuildXKB YES
|
||||
|
||||
#ifdef Mc68000Architecture
|
||||
#ifdef luna2
|
||||
#if ((OSMajorVersion <= 1) && (OSMinorVersion < 40))
|
||||
#define ServerExtraDefines -DUNUSE_DRV_TIME -DUNUSE_SIGIO_SIGNAL
|
||||
#endif
|
||||
#else /* luna1 */
|
||||
#if ((OSMajorVersion <= 1) && (OSMinorVersion <= 60))
|
||||
#define StandardDefines -Dluna -Duniosb
|
||||
#endif
|
||||
#if ((OSMajorVersion < 2) || ((OSMajorVersion == 2) && (OSMinorVersion < 1)))
|
||||
#define ServerExtraDefines -DUNUSE_DRV_TIME -DUNUSE_SIGIO_SIGNAL
|
||||
#endif
|
||||
#endif /* luna2 */
|
||||
#if HasGcc
|
||||
#define OptimizedCDebugFlags -O -traditional
|
||||
#define ServerCDebugFlags -Dmc68020 -O -traditional
|
||||
#else /* cc */
|
||||
#define OptimizedCDebugFlags -O -Z18
|
||||
#define ServerCDebugFlags -Dmc68020 -O -Z18
|
||||
#endif /* HasGcc */
|
||||
#endif /* Mc68000Architecture */
|
||||
|
||||
|
||||
#ifdef Mc88000Architecture
|
||||
#if ((OSMajorVersion <= 1) && (OSMinorVersion <= 12))
|
||||
#define ServerExtraDefines -DUNUSE_DRV_TIME -DUNUSE_SIGIO_SIGNAL
|
||||
#endif
|
||||
#define HasNdbm YES
|
||||
#define ExtraLibraries -li18n
|
||||
#if HasGcc
|
||||
#define CcCmd gcc -fstrength-reduce
|
||||
#define PreIncDir /usr/local/lib/gcc/gcc-include
|
||||
#define OptimizedCDebugFlags -O2 /* -traditional */
|
||||
#else
|
||||
#define PreIncDir /usr/lib/ccom/include
|
||||
#endif
|
||||
#define PostIncDir /usr/mach/include
|
||||
#endif
|
||||
|
||||
#ifdef Mc68000Architecture
|
||||
#define UnalignedReferencesAllowed YES /* if arbitrary deref is okay */
|
||||
#define BuildPexExt NO
|
||||
#define XlunaServer YES
|
||||
#endif
|
||||
|
||||
#ifdef Mc88000Architecture
|
||||
#define BuildPexExt NO
|
||||
#define XlunaServer YES
|
||||
#endif
|
||||
|
||||
#if ((OSMajorVersion >= 2) && (OSMinorVersion >= 0) && (OSTeenyVersion >= 1))
|
||||
#define HasWChar32 YES
|
||||
#endif
|
|
@ -1,64 +0,0 @@
|
|||
XCOMM $Xorg: minix.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
|
||||
|
||||
|
||||
|
||||
XCOMM platform: $XFree86: xc/config/cf/minix.cf,v 3.5 1999/07/10 07:24:33 dawes Exp $
|
||||
|
||||
|
||||
/*
|
||||
* If you want to change any of these, do it in the BeforeVendorCF part
|
||||
* of site.def
|
||||
*/
|
||||
#define OSName Minix-386vm
|
||||
#define OSVendor /* philip@cs.vu.nl */
|
||||
#define OSMajorVersion 1
|
||||
#define OSMinorVersion 6
|
||||
#define OSTeenyVersion 25.1.0
|
||||
|
||||
#define AcdGcc
|
||||
|
||||
#ifdef AcdGcc
|
||||
#define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
|
||||
#define AsmDefines -DUSE_GAS
|
||||
#define GccGasOption -DGCCUSESGAS /* For SuperProbe */
|
||||
#endif
|
||||
|
||||
/* Defaults for Minix */
|
||||
|
||||
#define ConnectionFlags -DMNX_TCPCONN
|
||||
#define StandardDefines -D_MINIX -DMINIX -D_POSIX_SOURCE
|
||||
#define StandardIncludes
|
||||
|
||||
#define DoRanlibCmd NO
|
||||
#define AvoidNullMakeCommand YES
|
||||
#define HasSockets NO
|
||||
#define HasStreams NO
|
||||
#define HasVFork NO
|
||||
#define HasNdbm YES
|
||||
#define ExtraLibraries -lnbio
|
||||
#define NeedConstPrototypes YES
|
||||
#define NeedVarargsPrototypes YES
|
||||
#define NeedNestedPrototypes YES
|
||||
/* #define UseCCMakeDepend YES */
|
||||
#define DefaultCCOptions -wo -fsoft
|
||||
#define ArCmd CcCmd -c.a -o
|
||||
#define ArAddCmd ArCmd
|
||||
#define CcCmd acd -descr gcc -name cc
|
||||
#define AsCmd CcCmd -c
|
||||
#define CppCmd /usr/lib/cpp
|
||||
#define LdCmd CcCmd
|
||||
#define LdCombineFlags -r
|
||||
#define LexLib /* */
|
||||
|
||||
#define SetTtyGroup YES /* for xterm */
|
||||
#define HasPutenv YES /* for xsm */
|
||||
|
||||
#ifndef AssembleObject
|
||||
#define AssembleObject(basename,flags) $(RM) $@ @@\
|
||||
$(CPP) AsmDefines $(DEFINES) $(INCLUDES) flags basename.S | \ @@\
|
||||
grep -v '^\#' > basename.i.s @@\
|
||||
$(AS) -o $*.o basename.i.s @@\
|
||||
$(RM) basename.i.s
|
||||
#endif
|
||||
|
||||
#include <xorg.cf>
|
|
@ -1,58 +0,0 @@
|
|||
XCOMM platform: $XConsortium: moto.cf /main/16 1996/09/28 16:11:24 rws $
|
||||
|
||||
#if defined(MotoR3Architecture)
|
||||
|
||||
#ifndef OSName
|
||||
#define OSName Motorola R32V2/R3V6.2
|
||||
#endif
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion 3
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion 2
|
||||
#endif
|
||||
|
||||
#define SystemV YES
|
||||
#define BootstrapCFlags -DSYSV -DMOTOROLA
|
||||
#define StandardDefines -DSYSV -DUSG -DMOTOROLA
|
||||
#define Malloc0ReturnsNull YES
|
||||
#define BuildServer NO
|
||||
#define UseCCMakeDepend YES
|
||||
#define OptimizedCDebugFlags /* -O */
|
||||
|
||||
#define DefaultUserPath :/bin:/usr/bin:$(BINDIR)
|
||||
#define DefaultSystemPath /etc:/bin:/usr/bin:$(BINDIR)
|
||||
|
||||
#endif /* MotoR3Architecture */
|
||||
|
||||
|
||||
#if defined(MotoR4Architecture)
|
||||
|
||||
#ifndef OSName
|
||||
#define OSName Motorola R40V4
|
||||
#endif
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion 4
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion 4
|
||||
#endif
|
||||
|
||||
#define SystemV4 YES
|
||||
#define BootstrapCFlags -DSVR4 -DMOTOROLA
|
||||
#define StandardDefines -DSVR4 -DMOTOROLA
|
||||
#define BuildServer NO
|
||||
|
||||
#define CppCmd /usr/ccs/lib/cpp
|
||||
#define LdCmd /usr/ccs/bin/ld
|
||||
#define LexCmd /usr/ccs/bin/lex
|
||||
#define MakeCmd /usr/ccs/bin/make
|
||||
#define YaccCmd /usr/ccs/bin/yacc
|
||||
#define CcCmd /bin/cc /* a front-end to gcc/CI5 */
|
||||
#define DefaultCCOptions /* -Xc no longer needed */
|
||||
|
||||
#include <sv4Lib.rules>
|
||||
|
||||
#endif /* MotoR4Architecture */
|
||||
|
||||
XCOMM operating system: OSName
|
|
@ -1,114 +0,0 @@
|
|||
XCOMM platform: $XConsortium: ncr.cf /main/28 1996/09/28 16:11:31 rws $
|
||||
|
||||
#ifndef OSName
|
||||
#define OSName Unix System V Release 4/MP-RAS
|
||||
#endif
|
||||
#ifndef OSVendor
|
||||
#define OSVendor NCR
|
||||
#endif
|
||||
XCOMM operating system: OSName
|
||||
|
||||
#define BootstrapCFlags -DNCR
|
||||
#define HasStreams YES
|
||||
#define XawI18nDefines -DUSE_XWCHAR_STRING
|
||||
|
||||
/* Build Flags */
|
||||
|
||||
#define StandardDefines -DSVR4 -DNCR -Di386
|
||||
#define DefaultCCOptions -Xa -Hnocopyr -W0,-asm
|
||||
#define DefaultCDebugFlags -O3
|
||||
#define AllocateLocalDefines -DINCLUDE_ALLOCA_H
|
||||
#define ServerExtraDefines -DNO_SECONDARY AllocateLocalDefines XFree86ServerDefines
|
||||
#define ServerOSDefines -DDDXTIME XFree86ServerOSDefines
|
||||
#define ToolkitStringsABIOptions -intelabi
|
||||
|
||||
XCOMM This has not been tested, don't turn it on yet.
|
||||
XCOMM #define ExtensionOSDefines -DXTESTEXT1
|
||||
|
||||
#define ExtraLoadFlags -lc -L/usr/ucblib -lucb -lm -lgen -lcmd
|
||||
|
||||
/* Setup proper ownership of installed files */
|
||||
|
||||
#define StripInstalledPrograms YES
|
||||
#define InstPgmFlags -s -m 0711 -o bin -g bin
|
||||
#define InstBinFlags -m 0755 -o bin -g bin
|
||||
#define InstUidFlags -m 4711 -o root -g bin
|
||||
#define InstLibFlags -m 0644 -o bin -g bin
|
||||
#define InstIncFlags -m 0444 -o bin -g bin
|
||||
#define InstManFlags -m 0444 -o bin -g bin
|
||||
#define InstDatFlags -m 0444 -o bin -g bin
|
||||
|
||||
/* Various Configuration settings */
|
||||
|
||||
#define DefaultUserPath /bin:/sbin:/usr/bin:/usr/sbin:$(BINDIR):/usr/ucb
|
||||
#define DefaultSystemPath /etc:/bin:/usr/bin:/sbin:/usr/sbin:$(BINDIR):/usr/ucb
|
||||
#define ExtraFilesToClean *.z
|
||||
|
||||
/* Create man pages properly */
|
||||
|
||||
#define BookFormatManPages YES
|
||||
#define ManDirectoryRoot /usr/catman/X115
|
||||
#define ManSuffix 1X
|
||||
#define LibManSuffix 3X
|
||||
#define FileManSuffix 4X
|
||||
#define ManSourcePath $(MANPATH)/g
|
||||
#define XmanSearchPath /usr/catman
|
||||
|
||||
#define TblCmd /usr/ucb/tbl
|
||||
#define EqnCmd /usr/ucb/eqn
|
||||
#define ColCmd /usr/bin/col
|
||||
#define NeqnCmd /usr/ucb/neqn
|
||||
#define NroffCmd /usr/ucb/nroff -Tlp
|
||||
|
||||
/*
|
||||
* Man pages need to be formatted when installed, so override the default
|
||||
* imake rules.
|
||||
*/
|
||||
#define InstallManPageLong(file,destdir,dest) @@\
|
||||
all:: file.z @@\
|
||||
@@\
|
||||
file.z:: file.man @@\
|
||||
@if [ -f file.man ]; \ @@\
|
||||
then \ @@\
|
||||
cat file.man | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) | $(COL) >/tmp/$$$$.man; \ @@\
|
||||
$(RM) /tmp/$$$$.man.z; \ @@\
|
||||
pack -f /tmp/$$$$.man; \ @@\
|
||||
cp /tmp/$$$$.man.z file.z; \ @@\
|
||||
$(RM) /tmp/$$$$.man.z; \ @@\
|
||||
fi @@\
|
||||
@@\
|
||||
file.man:: @@\
|
||||
@@\
|
||||
install.man:: @@\
|
||||
MakeDir($(DESTDIR)destdir) @@\
|
||||
-@if [ -f file.z ]; \ @@\
|
||||
then \ @@\
|
||||
$(INSTALL) -c $(INSTMANFLAGS) file.z $(DESTDIR)destdir/dest.z; \@@\
|
||||
fi
|
||||
|
||||
#define InstallMultipleManSuffix(list,dest,suff) @@\
|
||||
install.man:: @@\
|
||||
MakeDir($(DESTDIR)dest) @@\
|
||||
MakeFlagsToShellFlags(i,set +e); \ @@\
|
||||
for i in list; do \ @@\
|
||||
(set -x; \ @@\
|
||||
cat $$i.suff | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) | $(COL) >/tmp/$$$$.suff; \ @@\
|
||||
pack -f /tmp/$$$$.suff; \ @@\
|
||||
$(INSTALL) -c $(INSTMANFLAGS) /tmp/$$$$.suff.z $(DESTDIR)dest/$$i.z; \ @@\
|
||||
$(RM) /tmp/$$$$.suff.z); \ @@\
|
||||
done
|
||||
|
||||
#define InstallMultipleMan(list,dest) @@\
|
||||
InstallMultipleManSuffix(list,dest,man)
|
||||
|
||||
#define InstallManPageAliases(file,destdir,aliases) @@\
|
||||
install.man:: @@\
|
||||
@MakeFlagsToShellFlags(i,set +e); \ @@\
|
||||
for i in aliases; do \ @@\
|
||||
(set -x; \ @@\
|
||||
$(RM) $(DESTDIR)destdir/$$i.z;\ @@\
|
||||
(cd $(DESTDIR)destdir; $(LN) file.z $$i.z);\ @@\
|
||||
); \ @@\
|
||||
done
|
||||
|
||||
#include <svr4.cf>
|
|
@ -1,131 +0,0 @@
|
|||
XCOMM platform: $XConsortium: nec.cf /main/4 1996/09/28 16:11:37 rws $
|
||||
|
||||
#ifdef nec_ews_svr2
|
||||
# define NecCISCArchitecture
|
||||
#else /* !defined(nec_ews_svr2) */
|
||||
# if defined(nec_ews_svr4) || defined(_nec_ews_svr4) || defined(_nec_up)
|
||||
# define NecRISCArchitecture
|
||||
# else /* !(defined(nec_ews_svr4) || defined(_nec_ews_svr4) || defined(_nec_up)) */
|
||||
# ifdef SX
|
||||
# define NecSX3Architecture
|
||||
# else /* !defined(SX) */
|
||||
# ifdef _nec_ft
|
||||
# define NecFaultTolerantArchitecture
|
||||
# else /* !defined(_nec_ft) */
|
||||
# ifdef PC_UX
|
||||
# define NecPCArchitecture
|
||||
# endif /* PC_UX */
|
||||
# endif /* !defined(_nec_ft) */
|
||||
# endif /* !defined(SX) */
|
||||
# endif /* !(defined(nec_ews_svr4) || defined(_nec_ews_svr4) || defined(_nec_up)) */
|
||||
#endif /* !defined(nec_ews_svr2) */
|
||||
|
||||
#ifdef NecCISCArchitecture
|
||||
#ifndef OSName
|
||||
#define OSName EWS-UX/V
|
||||
#endif
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion 10
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion 1
|
||||
#endif
|
||||
#define HasSharedLibraries NO
|
||||
#define HasVoidSignalReturn NO
|
||||
#define HasSockets YES
|
||||
#define SystemV YES
|
||||
#define StandardDefines -Dnec_ews -Dnec_ews_svr2 -DUSG -DSYSV
|
||||
#define StandardCppDefines -Dnec_ews -Dnec_ews_svr2 -DUSG -DSYSV
|
||||
#define LnCmd ln -s
|
||||
LEXOPTION = -j
|
||||
#endif
|
||||
|
||||
#ifdef NecRISCArchitecture
|
||||
# ifdef _nec_up
|
||||
#ifndef OSName
|
||||
#define OSName UP-UX/V
|
||||
#endif
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion 5
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion 1
|
||||
#endif
|
||||
# else
|
||||
#ifndef OSName
|
||||
#define OSName EWS-UX/V\(Rel4.2\)
|
||||
#endif
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion 9
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion 1
|
||||
#endif
|
||||
# endif
|
||||
#define HasSharedLibraries YES
|
||||
#define HasVoidSignalReturn YES
|
||||
#define SystemV4 YES
|
||||
#define HasSockets YES
|
||||
#endif
|
||||
|
||||
#ifdef NecSX3Architecture
|
||||
#ifndef OSName
|
||||
#define OSName SUPER-UX
|
||||
#endif
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion 3
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion 1
|
||||
#endif
|
||||
#define SystemV YES
|
||||
#define HasSharedLibraries NO
|
||||
#define HasVoidSignalReturn YES
|
||||
#endif
|
||||
|
||||
#ifdef NecFaultTolerantArchitecture
|
||||
#ifndef OSName
|
||||
#define OSName FT-UX/V
|
||||
#endif
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion 5
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion 1
|
||||
#endif
|
||||
#define HasSharedLibraries YES
|
||||
#define HasVoidSignalReturn YES
|
||||
#define SystemV4 YES
|
||||
#define HasSockets YES
|
||||
#endif
|
||||
|
||||
#ifdef NecPCArchitecture
|
||||
#ifndef OSName
|
||||
#define OSName PC-UX/V
|
||||
#endif
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion 3
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion 1
|
||||
#endif
|
||||
#define HasSharedLibraries NO
|
||||
#define HasVoidSignalReturn NO
|
||||
#define SystemV YES
|
||||
#endif
|
||||
|
||||
#define HasSaberC NO /* for machines that have it */
|
||||
#define HasGcc NO
|
||||
#define HasBsearch YES
|
||||
|
||||
#define DefaultCCOptions -Wf,-XNp9000,-XNd6000
|
||||
#define ExtraLibraries -lsocket -lnsl -lw
|
||||
|
||||
#define BuildServer NO
|
||||
/* #define InstallCmd $(INS) */
|
||||
#define RemoveTargetProgramByMoving YES
|
||||
|
||||
#include <necLib.rules>
|
||||
|
||||
#define LibraryCCOptions DefaultCCOptions
|
||||
#define LibraryDefines StandardDefines
|
|
@ -1,103 +0,0 @@
|
|||
XCOMM $XConsortium: necLib.rules /main/4 1996/09/28 16:11:42 rws $
|
||||
|
||||
/*
|
||||
* NECOS shared library rules
|
||||
*/
|
||||
|
||||
#ifndef HasSharedLibraries
|
||||
#define HasSharedLibraries YES
|
||||
#endif
|
||||
#ifndef SharedDataSeparation
|
||||
#define SharedDataSeparation YES
|
||||
#endif
|
||||
#ifndef SharedCodeDef
|
||||
#define SharedCodeDef
|
||||
#endif
|
||||
#ifndef SharedLibraryDef
|
||||
#define SharedLibraryDef
|
||||
#endif
|
||||
#ifndef ShLibIncludeFile
|
||||
#define ShLibIncludeFile <necLib.tmpl>
|
||||
#endif
|
||||
#ifndef SharedLibraryLoadFlags
|
||||
#define SharedLibraryLoadFlags
|
||||
#endif
|
||||
#ifndef PositionIndependentCFlags
|
||||
#define PositionIndependentCFlags
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef SeparateSharedCompile
|
||||
#define SeparateSharedCompile NO
|
||||
#endif
|
||||
|
||||
#define SharedLibObjCompile(options) $(_NULLCMD_)
|
||||
|
||||
/*
|
||||
* InstallSharedLibrary - generate rules to install the shared library.
|
||||
*/
|
||||
#ifndef InstallSharedLibrary
|
||||
#define InstallSharedLibrary(libname,rev,dest) @@\
|
||||
install:: Concat(lib,libname.so.rev) @@\
|
||||
MakeDir($(DESTDIR)dest) @@\
|
||||
$(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
|
||||
cd $(DESTDIR)/dest; $(LN) Concat(lib,libname.so.rev) Concat(lib,libname.so) @@\
|
||||
|
||||
#endif /* InstallSharedLibrary */
|
||||
|
||||
/*
|
||||
* InstallSharedLibraryData - generate rules to install the shared library data
|
||||
*/
|
||||
#ifndef InstallSharedLibraryData
|
||||
#define InstallSharedLibraryData(libname,rev,dest) @@\
|
||||
install:: Concat(lib,libname.sa.rev) @@\
|
||||
MakeDir($(DESTDIR)dest) @@\
|
||||
$(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.sa.rev) $(DESTDIR)dest @@\
|
||||
RanLibrary($(RANLIBINSTFLAGS) Concat($(DESTDIR)dest/lib,libname.sa.rev))
|
||||
|
||||
#endif /* InstallSharedLibraryData */
|
||||
|
||||
/*
|
||||
* SharedLibraryTarget - generate rules to create a shared library;
|
||||
* build it into a different name so that we do not hose people by having
|
||||
* the library gone for long periods.
|
||||
*/
|
||||
#ifndef SharedLibraryTarget
|
||||
#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
|
||||
AllTarget(Concat(lib,libname.so.rev)) @@\
|
||||
@@\
|
||||
Concat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\
|
||||
$(RM) $@~ @@\
|
||||
$(CC) -G -o $@~ $(SHLIBLDFLAGS) solist @@\
|
||||
$(RM) $@ @@\
|
||||
$(MV) $@~ $@ @@\
|
||||
@@\
|
||||
AllTarget(Concat(lib,libname.so)) @@\
|
||||
@@\
|
||||
Concat(lib,libname.so): Concat(lib,libname.so.rev) @@\
|
||||
$(RM) $@ @@\
|
||||
$(LN) $? $@ @@\
|
||||
LinkBuildLibrary($@) @@\
|
||||
LinkBuildLibrary(Concat(lib,libname.so)) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) Concat(lib,libname.so.rev)
|
||||
|
||||
#endif /* SharedLibraryTarget */
|
||||
|
||||
/*
|
||||
* SharedLibraryDataTarget - generate rules to create shlib data file;
|
||||
*/
|
||||
#ifndef SharedLibraryDataTarget
|
||||
#define SharedLibraryDataTarget(libname,rev,salist) @@\
|
||||
AllTarget(Concat(lib,libname.sa.rev)) @@\
|
||||
@@\
|
||||
Concat(lib,libname.sa.rev): salist $(EXTRALIBRARYDEPS) @@\
|
||||
$(RM) $@ @@\
|
||||
$(AR) $@ salist @@\
|
||||
RanLibrary($@) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) Concat(lib,libname.sa.rev)
|
||||
|
||||
#endif /* SharedLibraryDataTarget */
|
|
@ -1,29 +0,0 @@
|
|||
XCOMM $XConsortium: necLib.tmpl,v 1.1 94/03/26 18:15:22 rws Exp $
|
||||
|
||||
/*
|
||||
* NEC shared library template
|
||||
*/
|
||||
|
||||
#ifndef SharedXlibRev
|
||||
#define SharedXlibRev 4.10
|
||||
#endif
|
||||
#ifndef SharedOldXRev
|
||||
#define SharedOldXRev 4.10
|
||||
#endif
|
||||
#ifndef SharedXtRev
|
||||
#define SharedXtRev 4.10
|
||||
#endif
|
||||
#ifndef SharedXawRev
|
||||
#define SharedXawRev 5.0
|
||||
#endif
|
||||
#ifndef SharedXmuRev
|
||||
#define SharedXmuRev 4.10
|
||||
#endif
|
||||
#ifndef SharedXextRev
|
||||
#define SharedXextRev 4.10
|
||||
#endif
|
||||
#ifndef SharedXinputRev
|
||||
#define SharedXinputRev 4.10
|
||||
#endif
|
||||
|
||||
#include <sv4Lib.tmpl>
|
|
@ -1 +0,0 @@
|
|||
|
|
@ -1,109 +0,0 @@
|
|||
/* You should not use these any more, use new Library.tmpl insead */
|
||||
|
||||
XCOMM $XConsortium: oldlib.rules,v 1.2 91/04/09 19:15:13 rws Exp $
|
||||
|
||||
/*
|
||||
* ProfiledLibraryObjectRule - generate make rules to build both profiled
|
||||
* and "normal" objects.
|
||||
*/
|
||||
#ifndef ProfiledLibraryObjectRule
|
||||
#define ProfiledLibraryObjectRule() @@\
|
||||
all:: @@\
|
||||
LibMkdir(profiled) @@\
|
||||
@@\
|
||||
.c.o: @@\
|
||||
ProfiledLibObjCompile(NullParameter) @@\
|
||||
NormalLibObjCompile(NullParameter) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
LibCleanDir(profiled) @@\
|
||||
|
||||
#endif /* ProfiledLibraryObjectRule */
|
||||
|
||||
|
||||
/*
|
||||
* DebuggedLibraryObjectRule - generate make rules to build both debuggable
|
||||
* and "normal" objects.
|
||||
*/
|
||||
#ifndef DebuggedLibraryObjectRule
|
||||
#define DebuggedLibraryObjectRule() @@\
|
||||
all:: @@\
|
||||
LibMkdir(debugger) @@\
|
||||
@@\
|
||||
.c.o: @@\
|
||||
DebuggedLibObjCompile(NullParameter) @@\
|
||||
NormalLibObjCompile(NullParameter) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
LibCleanDir(debugger) @@\
|
||||
|
||||
#endif /* DebuggedLibraryObjectRule */
|
||||
|
||||
|
||||
/*
|
||||
* DebuggedAndProfiledLibraryOjbectRule - generate make rules to build
|
||||
* debuggable, profiled, and "normal" objects.
|
||||
*/
|
||||
#ifndef DebuggedAndProfiledLibraryObjectRule
|
||||
#define DebuggedAndProfiledLibraryObjectRule() @@\
|
||||
all:: @@\
|
||||
LibMkdir(profiled) @@\
|
||||
LibMkdir(debugger) @@\
|
||||
@@\
|
||||
.c.o: @@\
|
||||
ProfiledLibObjCompile(NullParameter) @@\
|
||||
DebuggedLibObjCompile(NullParameter) @@\
|
||||
NormalLibObjCompile(NullParameter) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
LibCleanDir(profiled) @@\
|
||||
LibCleanDir(debugger) @@\
|
||||
|
||||
#endif /* DebuggedAndProfiledLibraryObjectRule */
|
||||
|
||||
|
||||
/*
|
||||
* SpecialProfiledObjectRule - generate rules to compile a file with special
|
||||
* flags and to make a profiled version.
|
||||
*/
|
||||
#ifndef SpecialProfiledObjectRule
|
||||
#define SpecialProfiledObjectRule(objs,depends,options) @@\
|
||||
all:: @@\
|
||||
LibMkdir(profiled) @@\
|
||||
@@\
|
||||
objs: depends @@\
|
||||
ProfiledLibObjCompile(options) @@\
|
||||
NormalLibObjCompile(options)
|
||||
#endif /* SpecialProfiledObjectRule */
|
||||
|
||||
|
||||
/*
|
||||
* SpecialDebuggedObjectRule - generate rules to compile a file with special
|
||||
* flags and to make a debuggable version.
|
||||
*/
|
||||
#ifndef SpecialDebuggedObjectRule
|
||||
#define SpecialDebuggedObjectRule(objs,depends,options) @@\
|
||||
all:: @@\
|
||||
LibMkdir(debugger) @@\
|
||||
@@\
|
||||
objs: depends @@\
|
||||
DebuggedLibObjCompile(options) @@\
|
||||
NormalLibObjCompile(options)
|
||||
#endif /* SpecialDebuggedObjectRule */
|
||||
|
||||
|
||||
/*
|
||||
* SpecialDebuggedAndProfiledObjectRule - generate rules to compile a file
|
||||
* with special flags and to make debuggable and profiled versions.
|
||||
*/
|
||||
#ifndef SpecialDebuggedAndProfiledObjectRule
|
||||
#define SpecialDebuggedAndProfiledObjectRule(objs,depends,options) @@\
|
||||
all:: @@\
|
||||
LibMkdir(profiled) @@\
|
||||
LibMkdir(debugger) @@\
|
||||
@@\
|
||||
objs: depends @@\
|
||||
ProfiledLibObjCompile(options) @@\
|
||||
DebuggedLibObjCompile(options) @@\
|
||||
NormalLibObjCompile(options)
|
||||
#endif /* SpecialDebuggedAndProfiledObjectRule */
|
|
@ -1,34 +0,0 @@
|
|||
XCOMM platform: $XConsortium: pegasus.cf /main/38 1996/09/28 16:12:05 rws $
|
||||
|
||||
#ifndef OSName
|
||||
#define OSName UTek 4.0
|
||||
#endif
|
||||
XCOMM operating system: OSName
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion 4
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion 0
|
||||
#endif
|
||||
|
||||
#define HasNdbm YES
|
||||
#define HasVoidSignalReturn NO
|
||||
|
||||
#define BootstrapCFlags -DM4310 -DUTEK
|
||||
#define StandardDefines -DM4310 -DUTEK -Dpegasus
|
||||
|
||||
#if HasGcc
|
||||
/* put back all of the -Ds which -ansi removes */
|
||||
#define CcCmd gcc -ansi -fstrength-reduce -fpcc-struct-return -Dmc68000 -Dtektronix -Dutek -Dunix -Dm68k
|
||||
#endif
|
||||
|
||||
#define BuildServer NO
|
||||
/* #define XtekServer YES */
|
||||
|
||||
#define ServerExtraDefines -DM4310 -DM4317
|
||||
#define ServerOSDefines -DDDXTIME
|
||||
#define FontFilters BDFTOSNFFILT SHELLPATH
|
||||
#define PrimaryScreenResolution 95
|
||||
|
||||
.DIRECTORIES: /* Turn off directory search for RCS */
|
||||
|
|
@ -1,89 +0,0 @@
|
|||
XCOMM platform: $TOG: sequent.cf /main/5 1999/05/19 16:59:58 mgreess $
|
||||
/*
|
||||
* SET VERSION NUMBERS BEFORE MAKING MAKEFILES; also, you'll need to install
|
||||
* util/scripts/bsdinstall.sh before doing a "make install"
|
||||
*/
|
||||
|
||||
#if defined(DynixPtxArchitecture) || defined(_SEQUENT_)
|
||||
|
||||
# ifndef OSName
|
||||
# define OSName Dynix/ptx
|
||||
# endif
|
||||
# ifndef OSMajorVersion
|
||||
# define OSMajorVersion 2
|
||||
# endif
|
||||
# ifndef OSMinorVersion
|
||||
# define OSMinorVersion 0
|
||||
# endif
|
||||
|
||||
# define SystemV YES
|
||||
# define SymbolTableFlags
|
||||
# define DefaultCCOptions SymbolTableFlags
|
||||
# define SharedLibraryCCOptions DefaultCCOptions
|
||||
# define StandardDefines -DSYSV
|
||||
# define MotifDefines -DSTRINGS_ALIGNED -DNO_REGCOMP
|
||||
# define ExtraLibraries $(XBSDLIB) -lsocket -linet -lnsl -lseq
|
||||
# define XmExtraLibraries /* -lgen (not official i386 ABI?) */
|
||||
|
||||
# define NeedBerklib YES
|
||||
# define HasShadowPasswd YES
|
||||
# define InstallXdmConfig YES
|
||||
# define HasSockets YES
|
||||
|
||||
/*
|
||||
* Plan to remove Prototypes defines and use -Xc with
|
||||
* Dynix/ptx:
|
||||
* OSMajorVersion=4
|
||||
* OSMinorVersion=0
|
||||
* Using -Xc with Version 4.0 will elliminate most warnings
|
||||
*/
|
||||
# define NeedFunctionPrototypes YES
|
||||
# define NeedNestedPrototypes YES
|
||||
# define NeedConstPrototypes YES
|
||||
# define NeedVarargsPrototypes YES
|
||||
|
||||
|
||||
/*
|
||||
* unfortunately pbmplus uses this...
|
||||
*/
|
||||
RANLIB = :
|
||||
|
||||
#endif /* defined(DynixPtxArchitecture) || defined(_SEQUENT_) */
|
||||
|
||||
#if defined(Dynix3Architecture) || defined(sequent)
|
||||
|
||||
# ifndef OSName
|
||||
# define OSName Dynix 3
|
||||
# endif
|
||||
# ifndef OSMajorVersion
|
||||
# define OSMajorVersion 3
|
||||
# endif
|
||||
# ifndef OSMinorVersion
|
||||
# define OSMinorVersion 2
|
||||
# endif
|
||||
|
||||
# define SymbolTableFlags -W0,-Nn7500 -W0,-Nd10000
|
||||
# define DefaultCCOptions SymbolTableFlags
|
||||
# define StandardDefines -DX_NOT_STDC_ENV -DX_NOT_POSIX
|
||||
# define ExtraLibraries -lseq
|
||||
|
||||
# define HasVoidSignalReturn NO
|
||||
# define HasBsearch NO
|
||||
|
||||
# define SetTtyGroup YES
|
||||
|
||||
#endif /* defined(Dynix3Architecture) || defined(sequent) */
|
||||
|
||||
#define BuildServer NO
|
||||
#define BuildXInputLib NO
|
||||
#define BuildPexClients NO
|
||||
|
||||
#define BuildMotifConfig NO
|
||||
#define BuildMotifDemos NO
|
||||
#define BuildWMLTable NO
|
||||
|
||||
|
||||
#define LnCmd ln -s
|
||||
|
||||
/* libgen is not part of the i386 ABI. (Are both architectures i386??) */
|
||||
#define UseLocalRegex YES
|
|
@ -1,258 +0,0 @@
|
|||
XCOMM platform: $TOG: sgi.cf /main/49 1998/02/26 09:12:19 barstow $
|
||||
|
||||
#ifndef OSName
|
||||
# define OSName DefaultOSName
|
||||
#endif
|
||||
#ifndef OSMajorVersion
|
||||
# define OSMajorVersion DefaultOSMajorVersion
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
# define OSMinorVersion DefaultOSMinorVersion
|
||||
#endif
|
||||
#ifndef OSTeenyVersion
|
||||
# define OSTeenyVersion DefaultOSTeenyVersion
|
||||
#endif
|
||||
XCOMM operating system: OSName (OSMajorVersion.OSMinorVersion.OSTeenyVersion)
|
||||
|
||||
#if OSMajorVersion < 4
|
||||
/* We do not guarantee this will work */
|
||||
#define BootstrapCFlags -DX_WCHAR -DX_LOCALE -DX_USEBFUNCS -DSYSV
|
||||
#define StandardDefines -DX_WCHAR -DX_LOCALE -DX_USEBFUNCS -DSYSV
|
||||
#define SetTtyGroup NO
|
||||
#else
|
||||
#define HasPlugin YES
|
||||
#define SetTtyGroup YES
|
||||
#define ExtraFilesToClean so_locations
|
||||
#endif
|
||||
|
||||
#if OSMajorVersion < 5
|
||||
#define SystemV YES
|
||||
#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
|
||||
#else
|
||||
#define BootstrapCFlags -DSVR4
|
||||
#define StandardDefines -DSVR4
|
||||
#define SystemV4 YES
|
||||
#define HasWChar32 YES
|
||||
#define HasVFork NO
|
||||
#if OSMajorVersion < 6
|
||||
#define XawI18nDefines -DHAS_WCTYPE_H -DHAS_ISW_FUNCS
|
||||
#else
|
||||
#define XawI18nDefines -DHAS_WCHAR_H -DHAS_ISW_FUNCS
|
||||
#endif
|
||||
#define AllocateLocalDefines -DINCLUDE_ALLOCA_H
|
||||
#ifndef ExtraLoadFlags
|
||||
#define ExtraLoadFlags -Wl,-rpath,$(USRLIBDIRPATH)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* To build 64-bit binaries define Mips64Architecture in your site.def or
|
||||
* host.def file. This is usually on done at the X Consortium to test
|
||||
* big endian 64-bit cleanliness.
|
||||
* To build 32-bit binaries using the old 32-bit mode, define
|
||||
* NoMipsN32Archtecture in your site.def or host.def file.
|
||||
* Otherwise the default is to use the "new 32" mode as requested by SGI.
|
||||
*/
|
||||
#ifndef MipsN32Architecture
|
||||
#if !defined(Mips64Architecture) && !defined(NoMipsN32Architecture)
|
||||
#define MipsN32Architecture YES
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef Mips64Architecture
|
||||
# define BuildLibPathVar _RLD_ROOT=/dev/null LD_LIBRARY64_PATH
|
||||
# define SystemBuildLibPath /usr/lib64:/lib64
|
||||
# define LdCmd ld -64
|
||||
#elif defined(MipsN32Architecture)
|
||||
# define BuildLibPathVar _RLD_ROOT=/dev/null LD_LIBRARYN32_PATH
|
||||
# define SystemBuildLibPath /usr/lib32:/lib32
|
||||
# define LdCmd ld -n32
|
||||
#else
|
||||
# define BuildLibPathVar _RLD_ROOT=/dev/null LD_LIBRARY_PATH
|
||||
# define SystemBuildLibPath /usr/lib:/lib
|
||||
#endif
|
||||
#define HasCplusplus YES
|
||||
#define Malloc0ReturnsNull YES /* IRIX [56].x -lmalloc needs this */
|
||||
#define HasPutenv YES
|
||||
#define ExecableScripts YES
|
||||
#define HasNdbm YES
|
||||
#define HasPoll YES
|
||||
#define ExpandManNames YES
|
||||
#ifndef BuildXInputExt
|
||||
#define BuildXInputExt YES
|
||||
#endif
|
||||
|
||||
#if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion > 2)
|
||||
#define NeedVarargsPrototypes YES
|
||||
#define NeedConstPrototypes YES
|
||||
#define NeedWidePrototypes NO
|
||||
#endif
|
||||
|
||||
#include <sgiLib.rules>
|
||||
|
||||
#if OSMajorVersion < 5
|
||||
#define SymbolTables -Wf,-XNp16000,-XNd16000,-XNh2000
|
||||
#define PexSymbolTables -Wf,-XNp15000,-XNd15000,-XNh2000
|
||||
#define ServerSymbolTables -Wf,-XNp8000,-XNh2000,-XNd8000
|
||||
#else
|
||||
#define SymbolTables
|
||||
#define PexSymbolTables
|
||||
#define ServerSymbolTables
|
||||
#endif
|
||||
|
||||
/* this is for floating point, ANSI cpp */
|
||||
#if OSMajorVersion < 5
|
||||
/* Extra libraries provide : yp, sysV malloc, shared libc, and widechar */
|
||||
# define ExtraLibraries -lsun -lmalloc -lc_s -lw
|
||||
# define sgiCCOptions -xansi -D__STDC__=1 -float
|
||||
#else
|
||||
# if OSMajorVersion < 6
|
||||
# define sgiCCOptions -xansi
|
||||
# else
|
||||
# define CppCmd cc -E -cckr
|
||||
# ifdef Mips64Architecture
|
||||
/* set Mips64Architecture in host.def. Usually don't need it but we
|
||||
* (the X Consortium) want a 64-bit big-endian machine to test on. */
|
||||
# define sgiCCOptions -xansi -mips3 -64
|
||||
# define DlLibrary /**/
|
||||
# elif defined(MipsN32Architecture)
|
||||
/* Set MipsN32Architecture to build "new" 32-bit objs with a 32-bit kernel. */
|
||||
# define sgiCCOptions -xansi -mips3 -n32
|
||||
# else
|
||||
# define sgiCCOptions -xansi
|
||||
# endif
|
||||
# if OSMinorVersion == 2
|
||||
/* if you haven't installed patch 1361, 1403, or 1645 on IRIX 6.2 then you
|
||||
* must add "#define HasPosixThreads NO" in your site.def or host.def file
|
||||
*/
|
||||
# ifndef HasPosixThreads
|
||||
# define HasPosixThreads YES
|
||||
# endif
|
||||
# define ThreadedX HasPosixThreads
|
||||
# define ThreadsLibraries -lpthread
|
||||
/*
|
||||
* Add "#define HasSgiThreadsPatch1403 YES" to your site.def or host.def if
|
||||
* that's which patch you have.
|
||||
*/
|
||||
# ifndef HasSgiThreadsPatch1403
|
||||
# define HasSgiThreadsPatch1403 NO
|
||||
# endif
|
||||
# if (HasSgiThreadsPatch1403)
|
||||
# define SystemMTDefines -D_POSIX_THREAD_SAFE_FUNCTIONS
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
/* SGI's -lsocket -lnsl is broken, at least in 5.2, so override here */
|
||||
# define ExtraLibraries /**/
|
||||
#endif
|
||||
|
||||
#define DefaultCCOptions sgiCCOptions SymbolTables
|
||||
#define PexCCOptions sgiCCOptions PexSymbolTables
|
||||
#define ServerCCOptions sgiCCOptions ServerSymbolTables
|
||||
|
||||
/* For SGI C++ compiler, need to search extra dirs in make depend */
|
||||
#ifndef CplusplusDependIncludes
|
||||
#define CplusplusDependIncludes -I/usr/include/CC
|
||||
#endif
|
||||
|
||||
/* At SGI, we don't need this */
|
||||
#define ConstructMFLAGS NO /* build MFLAGS from MAKEFLAGS */
|
||||
|
||||
/* Used only for compressed fonts */
|
||||
#define UNCOMPRESSPATH /usr/bsd/uncompress
|
||||
|
||||
/* Normally used only to conditionally chose the default font path order */
|
||||
#define PrimaryScreenResolution 96
|
||||
|
||||
/* Override Imake.tmpl's "-X" flag */
|
||||
#define LdCombineFlags -r
|
||||
|
||||
/* Installation Build Parameters */
|
||||
#define InstKmemFlags -m 2711 -g sys
|
||||
|
||||
#define ArCmd ar scq
|
||||
|
||||
/* for xdm or anyone else to use */
|
||||
#define DefaultUserPath :/usr/sbin:/usr/bsd:/usr/bin:/bin:$(BINDIR):/etc:/usr/etc
|
||||
#define DefaultSystemPath /usr/sbin:/usr/bsd:/bin:/etc:/usr/bin:/usr/etc:$(BINDIR)
|
||||
|
||||
#ifndef BuildServer
|
||||
#define BuildServer NO
|
||||
#endif
|
||||
#define ServerOSDefines -DDDXTIME
|
||||
/* only need this for binary compatibility with their ddx */
|
||||
#ifndef Mips64Architecture
|
||||
#define ServerExtraDefines -DNEED_LINEHELPER AllocateLocalDefines
|
||||
#else
|
||||
#define ServerExtraDefines -D_XSERVER64 -DNEED_LINEHELPER AllocateLocalDefines
|
||||
#endif
|
||||
|
||||
/* Changed to a single shell command for pmake/smake */
|
||||
#if OSMajorVersion < 5
|
||||
/*
|
||||
* NormalLibObjCompile - compile fragment for a library object file
|
||||
* do ld -x to remove line number symbols for libraries
|
||||
*/
|
||||
#define NormalLibObjCompile(options) ClearmakeOSName \
|
||||
$(RM) $@ $*.os \ @@\
|
||||
&& $(CC) -c options $(CFLAGS) $*.c \ @@\
|
||||
&& $(LD) $(LDSTRIPFLAGS) -r $@ -o $*.os \ @@\
|
||||
&& $(MV) $*.os $@
|
||||
#endif
|
||||
|
||||
#define LibObjCompile(dir,options) ClearmakeOSName \
|
||||
$(RM) $@ dir/$@ \ @@\
|
||||
&& $(CC) -c $(CCOPTIONS) $(ALLDEFINES) options $*.c \ @@\
|
||||
&& $(MV) $@ dir/$@
|
||||
|
||||
#ifndef HasMakefileSafeInclude
|
||||
#define HasMakefileSafeInclude YES
|
||||
#endif
|
||||
#ifndef IncludeMakefile
|
||||
#define IncludeMakefile(file) @@sinclude file
|
||||
#endif
|
||||
|
||||
/* needs to find nroff on the system to work */
|
||||
#ifndef ManKeywordsTarget
|
||||
#define ManKeywordsTarget(manpath) @@\
|
||||
man_keywords:: @@\
|
||||
/usr/lib/makewhatis -M $(DESTDIR)manpath $(DESTDIR)manpath/whatis
|
||||
#endif
|
||||
|
||||
#define MotifDefines -DSYS_DIR -DPORT_NOVFORK -DNO_REGCOMP
|
||||
|
||||
#ifndef CppFileTarget
|
||||
#define CppFileTarget(dst,src,defs,deplist) @@\
|
||||
dst:: src deplist @@\
|
||||
RemoveFile($@) @@\
|
||||
ClearmakeOSName \
|
||||
$(CPP) CppNoLineInfoOption defs src 2>/dev/null | CppSedMagic >$@; @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
RemoveFiles(dst)
|
||||
#endif /* CppFileTarget */
|
||||
|
||||
#ifndef CppScriptTarget
|
||||
#if ExecableScripts /* can use #! instead of colon */
|
||||
#define CppScriptTarget(dst,src,defs,deplist) @@\
|
||||
dst:: src deplist @@\
|
||||
RemoveFile($@) @@\
|
||||
ClearmakeOSName \
|
||||
$(CPP) CppNoLineInfoOption defs src | CppSedMagic >$@ @@\
|
||||
chmod a+x $@ @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
RemoveFiles(dst)
|
||||
#else
|
||||
#define CppScriptTarget(dst,src,defs,deplist) @@\
|
||||
dst:: src deplist @@\
|
||||
RemoveFile($@) @@\
|
||||
ClearmakeOSName \
|
||||
echo \: >$@ @@\
|
||||
sed '1d' src | $(CPP) CppNoLineInfoOption defs | CppSedMagic >>$@ @@\
|
||||
chmod a+x $@ @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
RemoveFile(dst)
|
||||
#endif /* ExecableScripts */
|
||||
#endif /* CppScriptTarget */
|
|
@ -1,166 +0,0 @@
|
|||
XCOMM $XConsortium: sgiLib.rules /main/16 1996/09/28 18:11:04 rws $
|
||||
|
||||
#ifndef HasSharedLibraries
|
||||
#define HasSharedLibraries YES
|
||||
#endif
|
||||
#if OSMajorVersion < 5
|
||||
#ifndef SharedDataSeparation
|
||||
#define SharedDataSeparation YES
|
||||
#endif
|
||||
#define SharedCodeDef -DSHAREDCODE
|
||||
#define SharedLibraryDef -DATTSHAREDLIB
|
||||
#define PositionIndependentCFlags -G 0
|
||||
|
||||
/*
|
||||
* SharedLibraryTarget - generate rules to create a shared library;
|
||||
* build it into a different name so that we don't hose people by having
|
||||
* the library gone for long periods.
|
||||
*/
|
||||
#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
|
||||
AllTarget(Concat3(lib,libname,_s)) @@\
|
||||
@@\
|
||||
Concat3(lib,libname,_s): sharedlib.o solist Concat(lib,libname.spec) $(EXTRALIBRARYDEPS) @@\
|
||||
$(RM) $@ $@.a \ @@\
|
||||
&& cd down \ @@\
|
||||
&& mkshlib -s Concat(up/lib,libname.spec) -t up/$@ -h up/$@.a \ @@\
|
||||
&& ar rs up/$@.a sharedlib.o @@\
|
||||
LinkBuildLibrary($@) @@\
|
||||
LinkBuildLibrary($@.a) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) Concat3(lib,libname,_s) Concat3(lib,libname,_s.a)
|
||||
|
||||
#define SharedLibraryDataTarget(libname,rev,salist)
|
||||
|
||||
/*
|
||||
* InstallSharedLibrary - generate rules to install the shared library.
|
||||
* NOTE: file must be executable, hence "INSTBINFLAGS"
|
||||
*/
|
||||
#define InstallSharedLibrary(libname,rev,dest) @@\
|
||||
install:: Concat3(lib,libname,_s) @@\
|
||||
MakeDir($(DESTDIR)dest) @@\
|
||||
$(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) Concat3(lib,libname,_s.a) $(DESTDIR)dest @@\
|
||||
$(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) Concat3(lib,libname,_s) $(DESTDIR)dest
|
||||
|
||||
|
||||
/*
|
||||
* InstallSharedLibraryData - generate rules to install the shared library data
|
||||
*/
|
||||
#define InstallSharedLibraryData(libname,rev,dest) @@\
|
||||
InstallTarget(install,Concat3(lib,libname,_s.a),$(INSTLIBFLAGS),dest)
|
||||
|
||||
#else /* OSMajorVersion >= 5 */
|
||||
|
||||
#ifndef SharedDataSeparation
|
||||
#define SharedDataSeparation NO
|
||||
#endif
|
||||
#ifndef SharedCodeDef
|
||||
#define SharedCodeDef /**/
|
||||
#endif
|
||||
#ifndef SharedLibraryDef
|
||||
#define SharedLibraryDef /**/
|
||||
#endif
|
||||
#ifndef ShLibIncludeFile
|
||||
#define ShLibIncludeFile <sgiLib.tmpl>
|
||||
#endif
|
||||
#ifndef SharedLibraryLoadFlags
|
||||
#if OSMajorVersion < 6
|
||||
#define SharedLibraryLoadFlags -shared
|
||||
#else
|
||||
#ifndef Mips64Architecture
|
||||
#define SharedLibraryLoadFlags -shared
|
||||
#else
|
||||
#define SharedLibraryLoadFlags -shared -mips3
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
/* -KPIC is redundant, PIC is always used unless you specify -non_shared */
|
||||
#ifndef PositionIndependentCFlags
|
||||
#define PositionIndependentCFlags -KPIC
|
||||
#endif
|
||||
#ifndef PositionIndependentCplusplusFlags
|
||||
#define PositionIndependentCplusplusFlags -KPIC
|
||||
#endif
|
||||
|
||||
/*
|
||||
* SGI's cc passes an undocumented flag to ld that causes it to look for
|
||||
* -lX11 and force use of libX11.so.1. And it can't be turned off. Sigh.
|
||||
* So we install one of those, too, in the shared library install target.
|
||||
*/
|
||||
|
||||
/*
|
||||
* InstallSharedLibrary - generate rules to install the shared library.
|
||||
*/
|
||||
#ifndef InstallSharedLibrary
|
||||
#define InstallSharedLibrary(libname,rev,dest) @@\
|
||||
install:: Concat(lib,libname.so.rev) @@\
|
||||
MakeDir($(DESTDIR)dest) @@\
|
||||
$(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
|
||||
$(RM) Concat($(DESTDIR)dest/lib,libname.so) @@\
|
||||
cd $(DESTDIR)dest; $(LN) Concat(lib,libname.so.rev) Concat(lib,libname.so) @@\
|
||||
if [ "libname" = X11 ]; then \ @@\
|
||||
RemoveFile(Concat($(DESTDIR)dest/lib,libname.so.1)); \ @@\
|
||||
cd $(DESTDIR)dest; $(LN) Concat(lib,libname.so.rev) Concat(lib,libname.so.1);\ @@\
|
||||
fi
|
||||
|
||||
#endif /* InstallSharedLibrary */
|
||||
|
||||
/*
|
||||
* InstallSharedLibraryData - generate rules to install the shared library data
|
||||
*/
|
||||
#ifndef InstallSharedLibraryData
|
||||
#define InstallSharedLibraryData(libname,rev,dest)
|
||||
#endif /* InstallSharedLibraryData */
|
||||
|
||||
|
||||
/*
|
||||
* SharedLibraryTarget - generate rules to create a shared library;
|
||||
* build it into a different name so that we do not hose people by having
|
||||
* the library gone for long periods.
|
||||
*/
|
||||
|
||||
/*
|
||||
* SGI's cc passes an undocumented flag to ld that causes it to look for
|
||||
* -lX11 and force use of libX11.so.1. Sigh. So we make one of those, too,
|
||||
* in the shared library build target.
|
||||
*/
|
||||
|
||||
#ifndef sgiX11soHack
|
||||
#ifdef UseInstalled
|
||||
#define sgiX11soHack(libname) /**/
|
||||
#else
|
||||
#define sgiX11soHack(libname) if [ "libname" = X11 ]; then \ @@\
|
||||
RemoveFile($(BUILDLIBDIR)/Concat(lib,libname.so.1)); \ @@\
|
||||
cd $(BUILDLIBDIR); $(LN) $(BUILDINCTOP)/$(CURRENT_DIR)/$@ Concat(lib,libname.so.1); \ @@\
|
||||
fi
|
||||
#endif
|
||||
#endif /* sgiX11soHack */
|
||||
|
||||
#ifndef SharedLibraryTarget
|
||||
#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
|
||||
AllTarget(Concat(lib,libname.so.rev)) @@\
|
||||
@@\
|
||||
Concat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\
|
||||
$(RM) $@~ @@\
|
||||
(cd down; $(CCENVSETUP) $(LD) -o up/$@~ $(SHLIBLDFLAGS) -soname $@ solist $(REQUIREDLIBS)) @@\
|
||||
$(RM) $@ @@\
|
||||
$(MV) $@~ $@ @@\
|
||||
$(RM) Concat(lib,libname.so) @@\
|
||||
$(LN) $@ Concat(lib,libname.so) @@\
|
||||
LinkBuildLibrary($@) @@\
|
||||
LinkBuildLibrary(Concat(lib,libname.so)) @@\
|
||||
sgiX11soHack(libname) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so) so_locations
|
||||
|
||||
#endif /* SharedLibraryTarget */
|
||||
|
||||
/*
|
||||
* SharedLibraryDataTarget - generate rules to create shlib data file;
|
||||
*/
|
||||
#ifndef SharedLibraryDataTarget
|
||||
#define SharedLibraryDataTarget(libname,rev,salist)
|
||||
#endif /* SharedLibraryTarget */
|
||||
|
||||
#endif /* OsMajorVersion < 5 else */
|
|
@ -1,14 +0,0 @@
|
|||
XCOMM $XConsortium: sgiLib.tmpl /main/2 1996/09/28 16:12:44 rws $
|
||||
|
||||
/*
|
||||
* SGI shared library template
|
||||
*/
|
||||
#define SharedXtReqs $(LDPRELIBS) $(XLIBONLY) -delay_load $(SMLIB) -delay_load $(ICELIB)
|
||||
#define SharedXmuReqs $(LDPRELIBS) $(XTOOLONLYLIB)
|
||||
#define SharedXawReqs -lw
|
||||
#define SharedXpReqs $(LDPRELIBS) $(XLIB)
|
||||
|
||||
#define SharedXReqs $(XTOOLLIB) $(XLIB) -lgen
|
||||
#define SharedXmReqs $(LDPRELIBS) SharedXReqs
|
||||
#define SharedMrmReqs $(LDPRELIBS) $(XMLIB) SharedXReqs
|
||||
#define SharedUilReqs $(LDPRELIBS) $(MRESOURCELIB) $(XMLIB) SharedXReqs
|
|
@ -1,171 +0,0 @@
|
|||
XCOMM site: $TOG: site.def /main/23 1998/03/19 18:43:26 mgreess $
|
||||
|
||||
/***************************************************************************
|
||||
* *
|
||||
* X Consortium In-House Build Parameters *
|
||||
* Use at Your Own Risk *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef SiteIConfigFiles
|
||||
# define SiteIConfigFiles $(IRULESRC)/host.def
|
||||
# define LocalConfigFiles host.def
|
||||
#endif
|
||||
|
||||
#ifdef BeforeVendorCF
|
||||
|
||||
# define LocalThreadsDefines
|
||||
|
||||
# include <host.def>
|
||||
|
||||
/* CDE uses a .C suffix for C++ source, not the default .cxx */
|
||||
# define CCsuf C
|
||||
|
||||
/* We will use installed x11 and Motif. */
|
||||
# define UseInstalledX11 YES
|
||||
# define UseInstalledMotif YES
|
||||
|
||||
# ifndef TopLevelProject
|
||||
# define TopLevelProject cde
|
||||
# endif
|
||||
|
||||
/* On systems where cpp doesn't expand correctly macros in include directives
|
||||
* the two following macros need to be defined directly (accordingly to the
|
||||
* TopLevelProject macro defined above).
|
||||
*/
|
||||
# if defined(SunArchitecture) || defined(AIXArchitecture)
|
||||
# ifndef ProjectRulesFile
|
||||
# define ProjectRulesFile <cde.rules>
|
||||
# endif
|
||||
# ifndef ProjectTmplFile
|
||||
# define ProjectTmplFile <cde.tmpl>
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# ifdef HPArchitecture
|
||||
# define HasHPCplusplus YES
|
||||
# endif
|
||||
|
||||
# if defined(SGIArchitecture)
|
||||
# define MipsN32Architecture YES
|
||||
# endif
|
||||
|
||||
# if defined(SunArchitecture)
|
||||
# ifndef HasSunC
|
||||
# define HasSunC NO
|
||||
# endif
|
||||
# ifndef HasSunCplusplus
|
||||
# define HasSunCplusplus HasSunC
|
||||
# endif
|
||||
# ifndef HasGcc2
|
||||
# if HasSunC
|
||||
# define HasGcc2 NO
|
||||
# else
|
||||
# define HasGcc2 YES
|
||||
# endif
|
||||
# endif
|
||||
# ifndef HasGcc2ForCplusplus
|
||||
# define HasGcc2ForCplusplus HasGcc2
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# if defined(AIXArchitecture)
|
||||
# define HasCplusplus YES
|
||||
# endif
|
||||
|
||||
#endif /* BeforeVendorCF */
|
||||
|
||||
#ifdef AfterVendorCF
|
||||
|
||||
#ifndef X11ProjectRoot
|
||||
# if defined(LinuxArchitecture)
|
||||
# define X11ProjectRoot /usr
|
||||
# elif defined(FreeBSDArchitecture)
|
||||
# define X11ProjectRoot /usr/local
|
||||
# elif defined(SunArchitecture)
|
||||
# define X11ProjectRoot /usr
|
||||
# elif defined(OpenBSDArchitecture)
|
||||
# define X11ProjectRoot /usr/X11R6
|
||||
# elif defined(NetBSDArchitecture)
|
||||
# define X11ProjectRoot /usr/X11R7
|
||||
# else
|
||||
# define X11ProjectRoot /X11
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef MotifProjectRoot
|
||||
# if defined(FreeBSDArchitecture)
|
||||
# define MotifProjectRoot /usr/local
|
||||
# elif defined(OpenBSDArchitecture)
|
||||
# define MotifProjectRoot /usr/local
|
||||
# elif defined(NetBSDArchitecture)
|
||||
# define MotifProjectRoot /usr/pkg
|
||||
# elif defined(SunArchitecture)
|
||||
# define MotifProjectRoot /usr/X11
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef ProjectRoot
|
||||
# define ProjectRoot /usr/dt
|
||||
#endif
|
||||
|
||||
XCOMM build the DtXinerama support
|
||||
#define CDE_USEXINERAMA YES
|
||||
|
||||
#ifdef SunArchitecture
|
||||
# if !defined(DtLocalesToBuild)
|
||||
# define DtLocalesToBuild en_US.UTF-8 de_DE.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 it_IT.UTF-8
|
||||
# endif
|
||||
#endif
|
||||
|
||||
XCOMM Make sure you have installed the de_DE, es_ES, fr_FR and it_IT locales.
|
||||
XCOMM or building non-C locales will cause build failures.
|
||||
#if defined(BSDArchitecture)
|
||||
# if !defined(DtLocalesToBuild)
|
||||
# define DtLocalesToBuild en_US.UTF-8 de_DE.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 it_IT.UTF-8
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined(LinuxArchitecture)
|
||||
XCOMM Make sure you have installed the de_DE, es_ES, fr_FR and it_IT locales.
|
||||
XCOMM or building non-C locales will cause build failures.
|
||||
XCOMM DtLocalesToBuild: de_DE.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 it_IT.UTF-8 en_US.UTF-8
|
||||
# if !defined(DtLocalesToBuild)
|
||||
# define DtLocalesToBuild en_US.UTF-8 de_DE.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 it_IT.UTF-8
|
||||
# endif
|
||||
XCOMM This is a hack for the en_US.UTF-8 stuff, which should be redone
|
||||
XCOMM as a proper locale, rather than aliasing C
|
||||
# define UTF8_NLS_SUPPORT
|
||||
#endif
|
||||
|
||||
#ifdef SunArchitecture
|
||||
#define HasCodeCenter YES
|
||||
#define HasTestCenter YES
|
||||
#ifdef SparcArchitecture
|
||||
#define HasPurify YES
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef HPArchitecture
|
||||
#define HasPurify YES
|
||||
#endif
|
||||
|
||||
#ifdef __hp9000s800
|
||||
#define HasCodeCenter YES
|
||||
#define HasTestCenter YES
|
||||
#endif
|
||||
|
||||
#ifdef SGIArchitecture
|
||||
#if OSMajorVersion > 5
|
||||
#define HasPurify YES
|
||||
#endif
|
||||
#endif
|
||||
|
||||
XCOMM The documentation can only be built with ISO8859-1 encoding.
|
||||
XCOMM An upgrade to docbook and conversion to XML is required to properly
|
||||
XCOMM support utf8 with dtinfo and dthelp files.
|
||||
#ifndef DtDocLocalesToBuild
|
||||
# define DtDocLocalesToBuild de_DE.ISO8859-1 es_ES.ISO8859-1 fr_FR.ISO8859-1 it_IT.ISO8859-1
|
||||
#endif
|
||||
|
||||
#endif /* AfterVendorCF */
|
|
@ -1,103 +0,0 @@
|
|||
XCOMM platform: $XConsortium: sony.cf /main/69 1996/09/29 18:19:36 kaleb $
|
||||
|
||||
#ifdef SonyBsdArchitecture
|
||||
|
||||
#ifndef OSName
|
||||
#define OSName NEWS-OS 4.2.1C
|
||||
#endif
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion 4
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion 2
|
||||
#endif
|
||||
#ifndef OSTeenyVersion
|
||||
#define OSTeenyVersion 1
|
||||
#endif
|
||||
#define SetTtyGroup YES
|
||||
#define HasVoidSignalReturn NO
|
||||
#define HasNdbm YES
|
||||
#define DirFailPrefix -
|
||||
#define InstKmemFlags -g kmem -m 2711
|
||||
#define DefaultUserPath :/bin:/usr/bin:$(BINDIR):/usr/ucb:/usr/sony/bin:
|
||||
#define DefaultSystemPath /etc:/usr/etc:/bin:/usr/bin:$(BINDIR):/usr/ucb:/usr/sony/bin:
|
||||
#ifdef MipsArchitecture
|
||||
#define ExtraLibraries -lmld
|
||||
#define LintOpts -ax
|
||||
#define LintLibFlag -o
|
||||
#define DefaultCCOptions -Wf,-XNh2000,-XNd6000,-XNp10000 -Olimit 2000
|
||||
#define PexCCOptions -Wf,-XNh2000,-XNd15000,-XNp15000 -Olimit 2000
|
||||
#else
|
||||
#define HasFortran YES
|
||||
#endif
|
||||
#if OSMajorVersion >= 4
|
||||
#define HasShm YES
|
||||
#define HasPutenv YES
|
||||
#define HasSecureRPC YES
|
||||
#define XdmDir /etc/xdm
|
||||
#if OSMinorVersion >= 1
|
||||
#define HasBsearch YES
|
||||
#else
|
||||
#define HasBsearch NO
|
||||
#endif
|
||||
#else
|
||||
#define StandardDefines -DNOSTDHDRS
|
||||
#define HasBsearch NO
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
#ifndef OSName
|
||||
#define OSName DefaultOSName
|
||||
#endif
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion DefaultOSMajorVersion
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion DefaultOSMinorVersion
|
||||
#endif
|
||||
#ifndef OSTeenyVersion
|
||||
#define OSTeenyVersion DefaultOSTeenyVersion
|
||||
#endif
|
||||
XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
|
||||
|
||||
#define BootstrapCFlags -Dsony
|
||||
#define SystemV4 YES
|
||||
#define HasVFork NO
|
||||
#define CcCmd /usr/bin/cc
|
||||
#define LdCmd /usr/bin/ld
|
||||
#if OSMajorVersion >= 6
|
||||
#define DefaultCCOptions -Xa -Wf,-XNp9000,-XNd6000
|
||||
#define PexCCOptions -Xa -Wf,-XNp15000,-XNd15000
|
||||
#define SharedLibraryLoadFlags -G -rpath $(USRLIBDIRPATH)
|
||||
#define PositionIndependentCFlags -K PIC -Wx,-G 0
|
||||
#define PositionIndependentCplusplusFlags -K PIC -Wx,-G 0
|
||||
#define SharedXmuReqs $(LDPRELIBS) $(XTOOLLIB) $(XLIB)
|
||||
#define FixupLibReferences() /**/
|
||||
#include <sv4Lib.rules>
|
||||
#else
|
||||
#define DefaultCCOptions -Wf,-XNp9000,-XNd6000
|
||||
#define PexCCOptions -Wf,-XNp15000,-XNd15000
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* SONY C++ compiler is based on vanilla cfront, which means it
|
||||
* refuses to compile files unless their names end in ".C". We
|
||||
* have to completely override .SUFFIXES to avoid using the builtin
|
||||
* .C to .o rule in cases where the link to foo.C is already there,
|
||||
* because the builtin rule doesn't use the right compilation flags.
|
||||
*/
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .o .c .y .l .s .sh .h .f .Y .L .cxx
|
||||
|
||||
#define NormalLibObjCplusplusCompile(options) test -r $*.C || $(LN) $*.CCsuf $*.C @@\
|
||||
$(CXX) -c $(CXXFLAGS) options $*.C
|
||||
|
||||
XCOMM operating system: OSName
|
||||
|
||||
#ifndef BuildServer
|
||||
#define BuildServer NO
|
||||
#endif
|
|
@ -1,419 +0,0 @@
|
|||
XCOMM platform: $TOG: sun.cf /main/176 1997/12/09 17:27:51 kaleb $
|
||||
|
||||
#ifndef OSName
|
||||
# define OSName DefaultOSName
|
||||
#endif
|
||||
#ifndef OSMajorVersion
|
||||
# define OSMajorVersion DefaultOSMajorVersion
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
# define OSMinorVersion DefaultOSMinorVersion
|
||||
#endif
|
||||
#ifndef OSTeenyVersion
|
||||
# define OSTeenyVersion DefaultOSTeenyVersion
|
||||
#endif
|
||||
XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
|
||||
|
||||
/*
|
||||
* Compiler setup. This sun.cf file knows what options to use with
|
||||
* certain compilers, including Sun C and gcc. It also understands
|
||||
* how to set some of the options for various C++ compilers, including
|
||||
* Sun C++ and g++.
|
||||
*
|
||||
* === C Compiler Setup ==========================================
|
||||
*
|
||||
* For SunPro C, define HasSunC to YES in host.def.
|
||||
* For Gnu gcc, define HasGcc2 to YES in host.def
|
||||
* For other compilers, define HasSunC to NO in host.def, then
|
||||
* provide appropriate values for the various compiler related
|
||||
* configuration varibles used here.
|
||||
*
|
||||
* If you don't tell us which C compiler you have, we assume you have
|
||||
* the Gcc C compiler under Solaris 2.x.
|
||||
*
|
||||
* === C++ Compiler Setup ==========================================
|
||||
*
|
||||
* For SunPro C++, define HasSunCplusplus to YES in host.def
|
||||
* For Gnu g++ 4.x, define HasGcc2ForCplusplus to YES in host.def
|
||||
* For other compilers, define HasCplusplus to YES in host.def, and
|
||||
* check to see if you need to provide values for CplusplusOptions
|
||||
* and/or DefaultCplusplusOptions.
|
||||
*
|
||||
* In any case, you may also need to set CplusplusDependIncludes.
|
||||
*
|
||||
* If you say you have the SunPro C++ compiler, we assume you have
|
||||
* version 5.0.x of the compiler. If you have an earlier version
|
||||
* instead, define CplusplusCompilerMajorVersion in host.def.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef HasSunC
|
||||
# if (HasGcc || HasGcc2 || OSMajorVersion < 5)
|
||||
# define HasSunC NO
|
||||
# else
|
||||
# define HasSunC YES
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if HasSunC
|
||||
# ifndef CCompilerMajorVersion
|
||||
# define CCompilerMajorVersion DefaultSunProCCompilerMajorVersion
|
||||
# endif
|
||||
# ifndef CCompilerMinorVersion
|
||||
# define CCompilerMinorVersion DefaultSunProCCompilerMinorVersion
|
||||
# endif
|
||||
XCOMM SunPro C CCompilerMajorVersion./**/CCompilerMinorVersion
|
||||
#endif
|
||||
|
||||
#if HasSunCplusplus
|
||||
# ifndef HasCplusplus
|
||||
# define HasCplusplus YES
|
||||
# endif
|
||||
# ifndef CplusplusCompilerMajorVersion
|
||||
# ifdef DefaultSunProCplusplusCompilerMajorVersion
|
||||
# define CplusplusCompilerMajorVersion DefaultSunProCplusplusCompilerMajorVersion
|
||||
# else
|
||||
# define CplusplusCompilerMajorVersion 3
|
||||
# endif
|
||||
# endif
|
||||
# ifndef CplusplusCompilerMinorVersion
|
||||
# ifdef DefaultSunProCplusplusCompilerMinorVersion
|
||||
# define CplusplusCompilerMinorVersion DefaultSunProCplusplusCompilerMinorVersion
|
||||
# else
|
||||
# define CplusplusCompilerMinorVersion 0
|
||||
# endif
|
||||
# endif
|
||||
XCOMM SunPro C++ CplusplusCompilerMajorVersion./**/CplusplusCompilerMinorVersion
|
||||
#endif
|
||||
|
||||
#if HasGcc2
|
||||
# ifndef CCompilerMajorVersion
|
||||
# define CCompilerMajorVersion DefaultGnuCCompilerMajorVersion
|
||||
# endif
|
||||
# ifndef CCompilerMinorVersion
|
||||
# define CCompilerMinorVersion DefaultGnuCCompilerMinorVersion
|
||||
# endif
|
||||
XCOMM Gnu C CCompilerMajorVersion./**/CCompilerMinorVersion
|
||||
#endif
|
||||
|
||||
#if HasGcc2ForCplusplus
|
||||
# ifndef HasCplusplus
|
||||
# define HasCplusplus YES
|
||||
# endif
|
||||
# ifndef CplusplusCompilerMajorVersion
|
||||
# ifdef DefaultGnuCplusplusCompilerMajorVersion
|
||||
# define CplusplusCompilerMajorVersion DefaultGnuCplusplusCompilerMajorVersion
|
||||
# else
|
||||
# define CplusplusCompilerMajorVersion 4
|
||||
# endif
|
||||
# endif
|
||||
# ifndef CplusplusCompilerMinorVersion
|
||||
# ifdef DefaultGnuCplusplusCompilerMinorVersion
|
||||
# define CplusplusCompilerMinorVersion DefaultGnuCplusplusCompilerMinorVersion
|
||||
# else
|
||||
# define CplusplusCompilerMinorVersion 6
|
||||
# endif
|
||||
# endif
|
||||
XCOMM Gnu C++ CplusplusCompilerMajorVersion./**/CplusplusCompilerMinorVersion
|
||||
#endif
|
||||
|
||||
|
||||
#if OSMajorVersion > 4
|
||||
#define MkdirHierCmd mkdir -p
|
||||
#endif
|
||||
|
||||
#ifndef OptimizedCDebugFlags
|
||||
# define OptimizedCDebugFlags -O2
|
||||
#endif
|
||||
|
||||
#if OSMajorVersion < 4 || (OSMajorVersion == 4 && OSMinorVersion < 1)
|
||||
/* We do not guarantee this will work */
|
||||
# define BootstrapCFlags -DNOSTDHDRS
|
||||
# define StandardDefines -DNOSTDHDRS
|
||||
# define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
|
||||
#endif
|
||||
|
||||
#if OSMajorVersion == 4
|
||||
# if OSMinorVersion == 1
|
||||
# define HasPoll YES
|
||||
# endif
|
||||
# if OSMinorVersion > 1 || (OSMinorVersion == 1 && OSTeenyVersion > 1)
|
||||
/* You ALSO need this if you have Sun ld patch 100170-06 or later to 4.1.1 */
|
||||
# define SunPost411FCSLd YES
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef i386Architecture
|
||||
# if OSMajorVersion > 4
|
||||
# define ServerExtraDefines AllocateLocalDefines XFree86ServerDefines
|
||||
# define ServerOSDefines XFree86ServerOSDefines
|
||||
# else
|
||||
# define ServerExtraDefines AllocateLocalDefines
|
||||
# define ServerOSDefines -DDDXOSINIT
|
||||
# endif
|
||||
#else
|
||||
# define ServerExtraDefines AllocateLocalDefines
|
||||
# define ServerOSDefines -DDDXOSINIT
|
||||
# define HasPlugin YES
|
||||
#endif
|
||||
|
||||
#define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT
|
||||
|
||||
#if OSMajorVersion > 4
|
||||
#define ConnectionFlags -DTCPCONN -DUNIXCONN -DLOCALCONN
|
||||
#if HasSunC
|
||||
/*
|
||||
* Assume /opt/solarisstudio/bin/ contains symlinks to the appropriate tools
|
||||
*/
|
||||
#ifndef CcCmd
|
||||
# define CcCmd /opt/solarisstudio/bin/cc
|
||||
#endif
|
||||
#ifndef CplusplusCmd
|
||||
# define CplusplusCmd /opt/solarisstudio/bin/CC
|
||||
#endif
|
||||
#ifndef CplusplusFilt
|
||||
# define CplusplusFilt /opt/solarisstudio/bin/c++filt
|
||||
#endif
|
||||
#ifndef CplusplusLibC
|
||||
#define CplusplusLibC -L/opt/solarisstudio/lib -lCrun
|
||||
#endif
|
||||
#ifndef OptimizedCplusplusDebugFlags
|
||||
# define OptimizedCplusplusDebugFlags -O2 -erroff=attrskipunsup
|
||||
#endif
|
||||
#ifndef CplusplusDependIncludes
|
||||
#if CplusplusCompilerMajorVersion > 4
|
||||
# define CplusplusDependIncludes -I/opt/solarisstudio/prod/include/CC -I/opt/solarisstudio/prod/include/CC/Cstd -I/opt/solarisstudio/prod/include/CC/std
|
||||
#elif CplusplusCompilerMajorVersion > 3
|
||||
# define CplusplusDependIncludes -I/opt/SUNWspro/SC4.0/include/CC
|
||||
#elif CplusplusCompilerMajorVersion > 2
|
||||
# define CplusplusDependIncludes -I/opt/SUNWspro/SC3.0/include/CC
|
||||
#else
|
||||
# define CplusplusDependIncludes -I/opt/SUNWspro/SC2.0.1/include/CC
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
# if HasSunC && (CCompilerMajorVersion < 3)
|
||||
# define BootstrapCFlags -DSVR4
|
||||
# else
|
||||
# define BootstrapCFlags /* none needed */
|
||||
# endif
|
||||
# ifndef XawI18nDefines
|
||||
# if OSMinorVersion < 4
|
||||
# define XawI18nDefines -DHAS_WCTYPE_H -DHAS_ISW_FUNCS
|
||||
# else
|
||||
# define XawI18nDefines -DHAS_WCHAR_H -DHAS_ISW_FUNCS
|
||||
# endif
|
||||
# endif
|
||||
# if OSMinorVersion > 10
|
||||
# define InstallCmd /usr/bin/ginstall
|
||||
# elif OSMinorVersion > 3
|
||||
# define InstallCmd /usr/ucb/install
|
||||
# endif
|
||||
# if defined(i386Architecture)
|
||||
# define StandardDefines -Dsun -Di386 -DSVR4 -D__i386
|
||||
# define ToolkitStringsABIOptions -intelabi
|
||||
# elif defined(SparcArchitecture)
|
||||
# define StandardDefines -Dsun -Dsparc -DSVR4 -D__sparc
|
||||
# define ToolkitStringsABIOptions -sparcabi
|
||||
# else
|
||||
# define StandardDefines -Dsun -DSVR4
|
||||
# define ToolkitStringsABIOptions -sparcabi
|
||||
# endif
|
||||
# define ExtraLibraries -lsocket -lnsl
|
||||
# if OSMinorVersion > 1
|
||||
# define ThreadedX YES
|
||||
# define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXUSE_NETDB_R_API
|
||||
# if HasSunC && CCompilerMajorVersion > 2
|
||||
# define ThreadsCompileFlags -mt
|
||||
# else
|
||||
# define SystemMTDefines -D_REENTRANT
|
||||
# define ThreadsLibraries -lthread
|
||||
# endif
|
||||
# if HasSunCplusplus && CplusplusCompilerMajorVersion > 3
|
||||
# define ThreadsCplusplusCompileFlags -mt
|
||||
# else
|
||||
# define CplusplusSystemMTDefines -D_REENTRANT
|
||||
# define ThreadsCplusplusLibraries -lthread
|
||||
# endif
|
||||
# endif /* OSMinorVersion > 1 */
|
||||
# ifndef UseExportLists
|
||||
# define UseExportLists NO
|
||||
# endif
|
||||
# define HasVFork NO
|
||||
# define InstKmemFlags -g sys -m 2711
|
||||
# define ShLibIncludeFile <sunLib.tmpl>
|
||||
/*
|
||||
* Set flags for position independent code before including sv4Lib.rules
|
||||
* if the compiler in use doesn't use standard SVR4 flags
|
||||
*/
|
||||
# if HasSunC
|
||||
# define PositionIndependentCFlags -Kpic
|
||||
# define LargePositionIndependentCFlags -KPIC
|
||||
# endif
|
||||
# if HasSunCplusplus
|
||||
# define PositionIndependentCplusplusFlags -pic
|
||||
# define LargePositionIndependentCplusplusFlags -PIC
|
||||
# endif
|
||||
#else /* not OSMajorVersion > 4 */
|
||||
#define InstKmemFlags -g kmem -m 2711
|
||||
#include <sunLib.rules>
|
||||
#endif /* OSMajorVersion > 4 (else) */
|
||||
|
||||
#define BuildLibPathVar LD_LIBRARY_PATH
|
||||
#define HasNdbm YES
|
||||
#define HasShm YES
|
||||
#define HasSecureRPC YES
|
||||
#define SetTtyGroup YES
|
||||
#define HasPutenv YES
|
||||
#ifndef i386Architecture
|
||||
# ifndef Xsun24Server
|
||||
# define Xsun24Server NO /* color, mono, multiple depths */
|
||||
# endif
|
||||
# ifndef XsunServer
|
||||
# define XsunServer YES /* color and mono, 8 bit only */
|
||||
# endif
|
||||
# ifndef XsunMonoServer
|
||||
# define XsunMonoServer NO /* monochrome only */
|
||||
# endif
|
||||
#endif /* not i386Architecture */
|
||||
|
||||
#if HasGcc || HasGcc2
|
||||
# if OSMajorVersion > 4 && defined(i386Architecture)
|
||||
# ifndef DefaultCCOptions
|
||||
# define DefaultCCOptions -DNO_ASM
|
||||
# endif
|
||||
# endif
|
||||
# if HasGcc2
|
||||
# define SharedLibraryLoadFlags -shared
|
||||
# define ExtraLoadFlags -Wl,-rpath,$(USRLIBDIRPATH)
|
||||
# if defined(i386Architecture) || defined(SparcArchitecture)
|
||||
# define CcCmd gcc
|
||||
# endif
|
||||
# else
|
||||
# define SharedLibraryCcCmd cc
|
||||
# define ExtraLoadFlags -B/usr/bin/
|
||||
# define AllocateLocalDefines /**/
|
||||
|
||||
.c.o:
|
||||
ClearmakeOSName $(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
# endif /* HasGcc2 (else) */
|
||||
|
||||
#else /* not HasGcc, not HasGcc2 */
|
||||
|
||||
# define AllocateLocalDefines -DINCLUDE_ALLOCA_H
|
||||
|
||||
/* Set up compiler-dependent options for Sun C */
|
||||
|
||||
# if HasSunC
|
||||
# ifdef Sun3Architecture
|
||||
# ifndef DefaultCCOptions
|
||||
# define DefaultCCOptions -f68881 -pipe
|
||||
# endif
|
||||
# else /* not defined(Sun3Architecture) */
|
||||
# if OSMajorVersion < 5
|
||||
# ifndef DefaultCCOptions
|
||||
# define DefaultCCOptions -pipe
|
||||
# endif
|
||||
# else /* OSMajorVersion >= 5*/
|
||||
# ifndef DefaultCCOptions
|
||||
# define DefaultCCOptions -Xa
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# define PexCCOptions DefaultCCOptions
|
||||
|
||||
#endif /* HasGcc || HasGcc2 (else) */
|
||||
|
||||
#if HasGcc2
|
||||
CXXDEPENDINCLUDE :sh = CcCmd -v -x c++ /dev/null -fsyntax-only \
|
||||
2>&1 | sed -n 's/^ \(\/.*[cg]++.*\)/-I\1/p'
|
||||
#define CplusplusDependIncludes $(CXXDEPENDINCLUDE)
|
||||
#endif
|
||||
|
||||
#if HasGcc2ForCplusplus
|
||||
#define CplusplusCmd g++
|
||||
#ifndef CplusplusLibC
|
||||
#define CplusplusLibC -L/usr/gnu/lib -lstdc++
|
||||
#endif
|
||||
#endif /* HasGcc2ForCplusplus */
|
||||
|
||||
|
||||
#if OSMajorVersion < 5
|
||||
# define SharedAllocateLocalDefines -DINCLUDE_ALLOCA_H
|
||||
# define LibraryCCOptions /* don't want special floating point */
|
||||
#endif /* OSMajorVersion < 5 */
|
||||
|
||||
#if OSMajorVersion > 4
|
||||
# include <svr4.cf>
|
||||
#endif
|
||||
|
||||
#ifndef ManKeywordsTarget
|
||||
# define ManKeywordsTarget(manpath) @@\
|
||||
man_keywords:: @@\
|
||||
catman -M $(DESTDIR)manpath -w
|
||||
#endif
|
||||
|
||||
#if !defined(UsePamLibrary)
|
||||
# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 4))
|
||||
# define UsePamLibrary NO
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 10))
|
||||
#define SharedLibXau YES
|
||||
#define SharedXauRev 6
|
||||
#define SharedLibXdmcp YES
|
||||
#define SharedXdmcpRev 6
|
||||
#endif
|
||||
|
||||
#define HasMakefileSafeInclude YES
|
||||
#define IncludeMakefile(file) HASH_SIGN dependencies are in .depend
|
||||
#define DependFileName .depend
|
||||
#if HasSunC
|
||||
#define DependDefines -D__BUILTIN_VA_ARG_INCR
|
||||
#endif
|
||||
|
||||
#define LdPreLib -L$(BUILDLIBDIR)
|
||||
#define PamUnixDefines -DPAM_NIS
|
||||
#define TtLargePICTable YES
|
||||
#define DtSvcDefines -DMULTIBYTE -DNO_REGCOMP
|
||||
#define DtSearchDefines -DI18N_MSG DtSvcDefines
|
||||
#define DtWidgetDefines DtSearchDefines
|
||||
#define DtPrintDefines DtSearchDefines
|
||||
|
||||
#ifndef CompressAllFonts
|
||||
#define CompressAllFonts YES
|
||||
#endif
|
||||
|
||||
/* For DtHelp TIFF processing routines. */
|
||||
#if defined(AMD64Architecture) || defined(i386Architecture)
|
||||
#define LSBBitOrder YES
|
||||
#endif
|
||||
|
||||
#define baseDtMailDefines \
|
||||
-DSunOS=OSMajorVersion\#\#OSMinorVersion -DMMAP_NORESERVE -DSPRO_V2
|
||||
#ifndef i386Architecture
|
||||
# define DtMailDefines baseDtMailDefines
|
||||
#else
|
||||
# define DtMailDefines -DBIG_ENDIAN baseDtMailDefines
|
||||
#endif
|
||||
|
||||
#define ArchitectureDefines -DSUN_ARCHITECTURE
|
||||
|
||||
#define TtClientExtraLibs ExtraLibraries -ldl -lintl
|
||||
|
||||
#ifndef TopMotifInclude
|
||||
# define TopMotifInclude $(MPROJECTROOT)/include
|
||||
#endif
|
||||
|
||||
#define ShlibExportListOpt(filename) -M filename
|
||||
|
||||
#define TtClientLibs $(TTLIB) $(XTOOLLIB) $(XLIB)
|
||||
#define TtClientDepLibs $(DEPTTLIB) $(DEPXTOOLLIB) $(DEPXLIB)
|
||||
|
||||
#define CdeProjectDefines \
|
||||
-DMULTIBYTE -DNLS16 -DMESSAGE_CAT -D__EXTENSIONS__ \
|
||||
-DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion
|
|
@ -1,111 +0,0 @@
|
|||
XCOMM $XConsortium: sunLib.rules /main/15 1996/09/28 16:13:16 rws $
|
||||
|
||||
/*
|
||||
* SunOS shared library rules
|
||||
*/
|
||||
|
||||
#ifndef HasSharedLibraries
|
||||
#define HasSharedLibraries YES
|
||||
#endif
|
||||
#ifndef SharedDataSeparation
|
||||
#define SharedDataSeparation YES
|
||||
#endif
|
||||
#ifndef SharedCodeDef
|
||||
#define SharedCodeDef -DSHAREDCODE
|
||||
#endif
|
||||
#ifndef SharedLibraryDef
|
||||
#define SharedLibraryDef -DSUNSHLIB
|
||||
#endif
|
||||
#ifndef ShLibIncludeFile
|
||||
#define ShLibIncludeFile <sunLib.tmpl>
|
||||
#endif
|
||||
#ifndef SharedLibraryLoadFlags
|
||||
#define SharedLibraryLoadFlags -assert pure-text
|
||||
#endif
|
||||
#ifndef PositionIndependentCFlags
|
||||
#if HasGcc2
|
||||
#define PositionIndependentCFlags -fpic
|
||||
#else
|
||||
#define PositionIndependentCFlags -pic
|
||||
#endif
|
||||
#endif
|
||||
#ifndef PositionIndependentCplusplusFlags
|
||||
#if HasGcc2ForCplusplus
|
||||
#define PositionIndependentCplusplusFlags -fpic
|
||||
#else
|
||||
#define PositionIndependentCplusplusFlags -pic
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* SharedDSLibDependencies - shared library dependencies with data separation
|
||||
*/
|
||||
#ifndef SharedDSLibDependencies
|
||||
#define SharedDSLibDependencies(libname,libsource,revname) _UseCat($(USRLIBDIR)/lib,libsource/lib,libname.sa.$(revname))
|
||||
#endif
|
||||
|
||||
/*
|
||||
* InstallSharedLibrary - generate rules to install the shared library.
|
||||
*/
|
||||
#ifndef InstallSharedLibrary
|
||||
#define InstallSharedLibrary(libname,rev,dest) @@\
|
||||
InstallTarget(install,Concat(lib,libname.so.rev),$(INSTLIBFLAGS),dest)
|
||||
#endif /* InstallSharedLibrary */
|
||||
|
||||
/*
|
||||
* InstallSharedLibraryData - generate rules to install the shared library data
|
||||
*/
|
||||
#ifndef InstallSharedLibraryData
|
||||
#define InstallSharedLibraryData(libname,rev,dest) @@\
|
||||
install:: Concat(lib,libname.sa.rev) @@\
|
||||
MakeDir($(DESTDIR)dest) @@\
|
||||
$(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) Concat(lib,libname.sa.rev) $(DESTDIR)dest @@\
|
||||
RanLibrary($(RANLIBINSTFLAGS) Concat($(DESTDIR)dest/lib,libname.sa.rev))
|
||||
#endif /* InstallSharedLibraryData */
|
||||
|
||||
#if HasPurify
|
||||
#define PureCleanSharedLibrary(libname,rev) @@\
|
||||
clean clean.pure:: @@\
|
||||
$(RM) Concat3(lib,libname,_pure_*.so.rev)
|
||||
#else
|
||||
#define PureCleanSharedLibrary(libname,rev) /**/
|
||||
#endif
|
||||
|
||||
/*
|
||||
* SharedLibraryTarget - generate rules to create a shared library;
|
||||
* build it into a different name so that we do not hose people by having
|
||||
* the library gone for long periods.
|
||||
*/
|
||||
#ifndef SharedLibraryTarget
|
||||
#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
|
||||
AllTarget(Concat(lib,libname.so.rev)) @@\
|
||||
@@\
|
||||
Concat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\
|
||||
$(RM) $@~ @@\
|
||||
(cd down; $(LD) -o up/$@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS)) @@\
|
||||
$(RM) $@ @@\
|
||||
$(MV) $@~ $@ @@\
|
||||
LinkBuildLibrary($@) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) Concat(lib,libname.so.rev) @@\
|
||||
@@\
|
||||
PureCleanSharedLibrary(libname,rev)
|
||||
#endif /* SharedLibraryTarget */
|
||||
|
||||
/*
|
||||
* SharedLibraryDataTarget - generate rules to create shlib data file;
|
||||
*/
|
||||
#ifndef SharedLibraryDataTarget
|
||||
#define SharedLibraryDataTarget(libname,rev,salist) @@\
|
||||
AllTarget(Concat(lib,libname.sa.rev)) @@\
|
||||
@@\
|
||||
Concat(lib,libname.sa.rev): salist @@\
|
||||
$(RM) $@ @@\
|
||||
$(AR) $@ salist @@\
|
||||
RanLibrary($@) @@\
|
||||
LinkBuildLibrary($@) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) Concat(lib,libname.sa.rev)
|
||||
#endif /* SharedLibraryDataTarget */
|
|
@ -1,90 +0,0 @@
|
|||
XCOMM $TOG: sunLib.tmpl /main/47 1997/12/12 14:53:33 kaleb $
|
||||
|
||||
/*
|
||||
* SunOS shared library template
|
||||
*/
|
||||
|
||||
#if OSMajorVersion <= 4
|
||||
|
||||
# if SunPost411FCSLd
|
||||
# define SharedXmuReqs $(LDPRELIBS) $(XTOOLLIB) $(XLIB)
|
||||
# endif
|
||||
|
||||
#ifndef SharedX11Rev
|
||||
#define SharedX11Rev 4.30
|
||||
#endif
|
||||
#ifndef SharedOldXRev
|
||||
#define SharedOldXRev 4.20
|
||||
#endif
|
||||
#ifndef SharedXtRev
|
||||
#define SharedXtRev 4.20
|
||||
#endif
|
||||
#ifndef SharedXawRev
|
||||
#define SharedXawRev 6.10
|
||||
#endif
|
||||
#ifndef SharedXmuRev
|
||||
#define SharedXmuRev 4.20
|
||||
#endif
|
||||
#ifndef SharedXextRev
|
||||
#define SharedXextRev 4.50
|
||||
#endif
|
||||
#ifndef SharedXiRev
|
||||
#define SharedXiRev 4.20
|
||||
#endif
|
||||
#ifndef SharedXtstRev
|
||||
#define SharedXtstRev 1.20
|
||||
#endif
|
||||
#ifndef SharedPexRev
|
||||
#define SharedPexRev 1.10
|
||||
#endif
|
||||
|
||||
#else /* else it's Solaris */
|
||||
|
||||
# if ThreadedX
|
||||
# if OSMinorVersion > 3
|
||||
# define SharedThreadReqs /**/
|
||||
# define SharedX11Reqs /**/
|
||||
# endif
|
||||
# endif
|
||||
# define SharedXmuReqs $(LDPRELIBS) $(XTOOLLIB) $(XLIB)
|
||||
# define FixupLibReferences() /**/
|
||||
|
||||
# define SharedPamReqs -ldl
|
||||
# define SharedPamUnixReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) -lnsl -lmp -lcmd SharedThreadReqs
|
||||
# define SharedPamSampleReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) SharedThreadReqs
|
||||
# define SharedPamDialAuthReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) SharedThreadReqs
|
||||
# define SharedPamRhostsAuthReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) -lsocket SharedThreadReqs
|
||||
# define SharedPamDceAuthReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) -ldce -lnsl -lsocket SharedThreadReqs
|
||||
# define SharedTtReqs $(XTOOLLIB) -lnsl -lsocket -lintl -ldl -lc -lw $(CXXLIB)
|
||||
# define SharedDtSvcReqs $(LDPRELIBS) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XLIB) $(LDPOSTLIBS) SharedThreadReqs -lgen -lc -lsocket -lnsl -ldl $(CXXLIB)
|
||||
# define SharedDtMmdbReqs $(LDPRELIBS) $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XLIB) $(LDPOSTLIBS) SharedThreadReqs -lgen -lc -lsocket -lnsl -ldl
|
||||
# define SharedDtSearchReqs -lm -lc
|
||||
# define SharedDtWidgetReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) -lintl $(LDPOSTLIBS) -lw -lm -lc
|
||||
# define SharedDtHelpReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) $(XTOOLLIB) $(XLIB) $(LDPOSTLIBS) -lw -lgen -lm -lc -ljpeg
|
||||
# define SharedDtPrintReqs $(LDPRELIBS) $(DTSVCLIB) $(DTHELPLIB) $(XMLIB) -lintl $(LDPOSTLIBS) -lw -lm -lc
|
||||
# define SharedDtTermReqs SharedDtHelpReqs -ldl -lgen
|
||||
# define SharedDtMrmReqs $(LDPRELIBS) $(DTTERMLIB) $(DTPRINTLIB) $(DTHELPLIB) $(DTWIDGETLIB) $(MRESOURCELIB) $(XMLIB) $(XTOOLLIB) $(XLIB) $(LDPOSTLIBS) -lw -lsocket -lnsl -lc $(CXXLIB)
|
||||
# define SharedDtMailReqs $(LDPRELIBS) -lw $(CXXLIB) -lm -ldl
|
||||
# define SharedCsaReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) SharedXmReqs
|
||||
|
||||
# define DtClientExtraLibs -lintl
|
||||
|
||||
/* The inbuf paramter to iconv(3) is "const char**", not "char **" */
|
||||
ICONV_INBUF_DEFINE = -DICONV_INBUF_CONST=const
|
||||
|
||||
# if HasCplusplus
|
||||
# if HasGcc2ForCplusplus
|
||||
UNSHARED_CXXLIB =
|
||||
# elif HasSunCplusplus
|
||||
# if CplusplusCompilerMajorVersion > 3
|
||||
UNSHARED_CXXLIB =
|
||||
# else
|
||||
UNSHARED_CXXLIB = -Bstatic -lC -Bdynamic -lm -lc -Bstatic
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# define IafSysLib /**/
|
||||
# include <sv4Lib.tmpl>
|
||||
|
||||
#endif
|
|
@ -1,119 +0,0 @@
|
|||
XCOMM $TOG: sv4Lib.rules /main/19 1999/03/22 16:26:02 mgreess $
|
||||
|
||||
/*
|
||||
* SVR4 shared library rules
|
||||
*/
|
||||
|
||||
#ifndef HasSharedLibraries
|
||||
# define HasSharedLibraries YES
|
||||
#endif
|
||||
#ifndef SharedDataSeparation
|
||||
# define SharedDataSeparation NO
|
||||
#endif
|
||||
#ifndef SharedCodeDef
|
||||
# define SharedCodeDef /**/
|
||||
#endif
|
||||
#ifndef SharedLibraryDef
|
||||
# define SharedLibraryDef /**/
|
||||
#endif
|
||||
#ifndef ShLibIncludeFile
|
||||
# define ShLibIncludeFile <sv4Lib.tmpl>
|
||||
#endif
|
||||
#ifndef SharedLibraryLoadFlags
|
||||
# define SharedLibraryLoadFlags -G -z text
|
||||
#endif
|
||||
#ifndef PositionIndependentCFlags
|
||||
# if HasGcc2
|
||||
# define PositionIndependentCFlags -fPIC
|
||||
# else
|
||||
# define PositionIndependentCFlags -K PIC
|
||||
# endif
|
||||
#endif
|
||||
#ifndef PositionIndependentCplusplusFlags
|
||||
# if HasGcc2ForCplusplus
|
||||
# define PositionIndependentCplusplusFlags -fpic
|
||||
# else
|
||||
# define PositionIndependentCplusplusFlags -K PIC
|
||||
# endif
|
||||
#endif
|
||||
#ifndef UseExportLists
|
||||
# define UseExportLists NO
|
||||
#endif
|
||||
|
||||
/*
|
||||
* InstallSharedLibrary - generate rules to install the shared library.
|
||||
*/
|
||||
#ifndef InstallSharedLibrary
|
||||
# define InstallSharedLibrary(libname,rev,dest) @@\
|
||||
install:: Concat(lib,libname.so.rev) @@\
|
||||
MakeDir($(DESTDIR)dest) @@\
|
||||
$(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
|
||||
$(RM) Concat($(DESTDIR)dest/lib,libname.so) @@\
|
||||
cd $(DESTDIR)dest; $(LN) Concat(lib,libname.so.rev) Concat(lib,libname.so)
|
||||
|
||||
#endif /* InstallSharedLibrary */
|
||||
|
||||
/*
|
||||
* InstallSharedLibraryData - generate rules to install the shared library data
|
||||
*/
|
||||
#ifndef InstallSharedLibraryData
|
||||
# define InstallSharedLibraryData(libname,rev,dest)
|
||||
#endif /* InstallSharedLibraryData */
|
||||
|
||||
#ifndef LinkWithExports
|
||||
# if defined(SunArchitecture)
|
||||
# if HasGcc2
|
||||
# define LinkWithExports(libname,rev,solist,down,up) \
|
||||
(cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$@ solist $(REQUIREDLIBS))
|
||||
# else
|
||||
# define LinkWithExports(libname,rev,solist,down,up) \
|
||||
(cd down; $(CCENVSETUP) $(CXX) -o up/$@~ $(SHLIBLDFLAGS) -h $@ solist $(REQUIREDLIBS))
|
||||
# endif
|
||||
# else
|
||||
# if UseExportLists
|
||||
# define LinkWithExports(libname,rev,solist,down,up) \
|
||||
(cd down; $(CCENVSETUP) $(LD) -o up/$@~ $(SHLIBLDFLAGS) -h $@ solist $(REQUIREDLIBS)) @@\
|
||||
if [ -f Concat(lib,libname.elist) ]; then \ @@\
|
||||
$(RM) down/$@.exports $@.list; \ @@\
|
||||
$(CPP) $(ALLINCLUDES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(DEFINES) Concat(lib,libname.elist) | CppSedMagic >$@.list; \ @@\
|
||||
$(EXPORTLISTGEN) $@~ $@.list > down/$@.exports; \ @@\
|
||||
(cd down; $(CCENVSETUP) $(LD) -o up/$@~ $(SHLIBLDFLAGS) -h $@ ShlibExportListOpt($@.exports) solist $(REQUIREDLIBS)); \ @@\
|
||||
$(RM) down/$@.exports $@.list; \ @@\
|
||||
fi;
|
||||
# else
|
||||
# define LinkWithExports(libname,rev,solist,down,up) \
|
||||
(cd down; $(CCENVSETUP) $(LD) -o up/$@~ $(SHLIBLDFLAGS) -h $@ solist $(REQUIREDLIBS))
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* SharedLibraryTarget - generate rules to create a shared library;
|
||||
* build it into a different name so that we do not hose people by having
|
||||
* the library gone for long periods.
|
||||
*/
|
||||
#ifndef SharedLibraryTarget
|
||||
# define SharedLibraryTarget(libname,rev,solist,down,up) @@\
|
||||
AllTarget(Concat(lib,libname.so.rev)) @@\
|
||||
@@\
|
||||
Concat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\
|
||||
$(RM) $@~ @@\
|
||||
LinkWithExports(libname,rev,solist,down,up) @@\
|
||||
$(RM) $@ @@\
|
||||
$(MV) $@~ $@ @@\
|
||||
$(RM) Concat(lib,libname.so) @@\
|
||||
$(LN) $@ Concat(lib,libname.so) @@\
|
||||
LinkBuildLibrary($@) @@\
|
||||
LinkBuildLibrary(Concat(lib,libname.so)) @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
|
||||
|
||||
#endif /* SharedLibraryTarget */
|
||||
|
||||
/*
|
||||
* SharedLibraryDataTarget - generate rules to create shlib data file;
|
||||
*/
|
||||
#ifndef SharedLibraryDataTarget
|
||||
# define SharedLibraryDataTarget(libname,rev,salist)
|
||||
#endif /* SharedLibraryTarget */
|
|
@ -1,72 +0,0 @@
|
|||
XCOMM $XConsortium: sv4Lib.tmpl /main/23 1996/12/04 10:11:01 swick $
|
||||
|
||||
/*
|
||||
* SVR4 shared library template
|
||||
*/
|
||||
|
||||
/* SVR4 shared libraries are deficient in link semantics */
|
||||
XMULIBONLY = -lXmu
|
||||
#ifndef FixupLibReferences
|
||||
# define FixupLibReferences() @@\
|
||||
XMULIB = $(XMULIBONLY) -z nodefs
|
||||
#endif
|
||||
#ifndef XawClientLibs
|
||||
# define XawClientLibs $(XAWLIB) $(XMULIBONLY) $(XTOOLLIB) $(XLIB)
|
||||
#endif
|
||||
|
||||
#ifndef SharedICEReqs
|
||||
# define SharedICEReqs -lsocket
|
||||
#endif
|
||||
|
||||
#if ThreadedX
|
||||
# ifndef SharedThreadReqs
|
||||
# define SharedThreadReqs -lthread
|
||||
# endif
|
||||
# ifndef SharedX11Reqs
|
||||
# define SharedX11Reqs -lthread
|
||||
# endif
|
||||
#else
|
||||
# ifndef SharedThreadReqs
|
||||
# define SharedThreadReqs
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef SharedXReqs
|
||||
# define SharedXReqs $(XTOOLLIB) $(XLIB) SharedThreadReqs $(LDPOSTLIBS)
|
||||
#endif
|
||||
|
||||
#ifndef SharedXmReqs
|
||||
# define SharedXmReqs $(LDPRELIBS) SharedXReqs -lgen -lsocket -lnsl -lw -lc
|
||||
#endif
|
||||
|
||||
#ifndef SharedMrmReqs
|
||||
# define SharedMrmReqs $(LDPRELIBS) $(XMLIB) SharedXReqs -lgen -lsocket -lnsl -lw -lc
|
||||
#endif
|
||||
|
||||
#ifndef SharedUilReqs
|
||||
# define SharedUilReqs $(LDPRELIBS) $(MRESOURCELIB) $(XMLIB) SharedXReqs -lgen -lsocket -lnsl -lw -lc
|
||||
#endif
|
||||
|
||||
#ifndef SharedDtSvcReqs
|
||||
# define SharedDtSvcReqs $(LDPRELIBS) $(TTLIB) $(XMLIB) SharedXReqs
|
||||
#endif
|
||||
|
||||
#ifndef SharedDtMmdbReqs
|
||||
# define SharedDtMmdbReqs $(LDPRELIBS) $(DTSVCLIB) $(TTLIB) $(XMLIB) SharedXReqs
|
||||
#endif
|
||||
|
||||
#ifndef SharedDtHelpReqs
|
||||
# define SharedDtHelpReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) SharedXReqs
|
||||
#endif
|
||||
|
||||
#ifndef DtClientExtraLibs
|
||||
# define DtClientExtraLibs -lresolv
|
||||
#endif
|
||||
|
||||
REGEXSYSLIB = -lgen
|
||||
DYNLIBSYSLIB = -ldl
|
||||
|
||||
#ifndef IafSysLib
|
||||
# define IafSysLib -liaf
|
||||
#endif
|
||||
IAFSYSLIB = IafSysLib
|
|
@ -1,145 +0,0 @@
|
|||
XCOMM $TOG: svr4.cf /main/17 1997/06/08 20:08:31 kaleb $
|
||||
/*
|
||||
* A default OS name
|
||||
*/
|
||||
#ifndef OSName
|
||||
#ifdef i386Architecture
|
||||
#define OSName UNIX System V/386 Release 4
|
||||
#else
|
||||
#define OSName UNIX System V Release 4
|
||||
#endif
|
||||
#endif
|
||||
#ifndef OSVendor
|
||||
#define OSVendor /**/
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The default version will be 4.0.0 which should be
|
||||
* the least common denominator of all SVR4
|
||||
*/
|
||||
|
||||
#ifndef OSMajorVersion
|
||||
#define OSMajorVersion 4
|
||||
#endif
|
||||
#ifndef OSMinorVersion
|
||||
#define OSMinorVersion 0
|
||||
#endif
|
||||
#ifndef OSTeenyVersion
|
||||
#define OSTeenyVersion 0
|
||||
#endif
|
||||
#ifndef BootstrapCFlags
|
||||
#ifdef i386Architecture
|
||||
#define BootstrapCFlags -DSVR4 -Di386
|
||||
#else
|
||||
#ifdef SYSV386
|
||||
#define BootstrapCFlags -DSVR4 -Di386
|
||||
#else
|
||||
#define BootstrapCFlags -DSVR4
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Some stuff that all SVR4s should have */
|
||||
|
||||
#define SystemV4 YES
|
||||
#ifndef HasLdRunPath
|
||||
#define HasLdRunPath YES
|
||||
#endif
|
||||
#define HasPoll YES
|
||||
#ifndef SVR4Architecture
|
||||
#define SVR4Architecture
|
||||
#endif
|
||||
#ifndef PatheticCpp
|
||||
#define PatheticCpp YES
|
||||
#endif
|
||||
#define Malloc0ReturnsNull YES /* in case -lmalloc used */
|
||||
|
||||
/*
|
||||
* Here are the default paths to use to pick up tools for building.
|
||||
*/
|
||||
#ifndef ArCmdBase
|
||||
#define ArCmdBase /usr/ccs/bin/ar
|
||||
#endif
|
||||
#ifndef AsCmd
|
||||
#define AsCmd /usr/ccs/bin/as
|
||||
#endif
|
||||
#ifndef CppCmd
|
||||
#define CppCmd /usr/ccs/lib/cpp
|
||||
#endif
|
||||
#ifndef LdCmd
|
||||
#define LdCmd /usr/ccs/bin/ld
|
||||
#endif
|
||||
#ifndef LexCmd
|
||||
#define LexCmd /usr/ccs/bin/lex
|
||||
#endif
|
||||
#ifndef MakeCmd
|
||||
#define MakeCmd /usr/ccs/bin/make
|
||||
#endif
|
||||
#ifndef YaccCmd
|
||||
#define YaccCmd /usr/ccs/bin/yacc
|
||||
#endif
|
||||
|
||||
#if (OSMinorVersion == 0)
|
||||
#ifndef XawI18nDefines
|
||||
#define XawI18nDefines -DUSE_XWCHAR_STRING
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef i386Architecture
|
||||
#ifndef StandardDefines
|
||||
#define StandardDefines -DSVR4 -Di386
|
||||
#endif
|
||||
#ifndef ToolkitStringsABIOptions
|
||||
#define ToolkitStringsABIOptions -intelabi
|
||||
#endif
|
||||
#ifndef DefaultCCOptions
|
||||
#if HasGcc2
|
||||
#if !defined(SunArchitecture)
|
||||
#define DefaultCCOptions -ansi
|
||||
#endif
|
||||
#else
|
||||
#define DefaultCCOptions -Xa -Dasm=__asm
|
||||
#endif
|
||||
#endif
|
||||
#if !defined(DefaultCDebugFlags) && !defined(OptimizedCDebugFlags)
|
||||
#if HasGcc2
|
||||
#ifdef i386Architecture
|
||||
#define DefaultCDebugFlags -O2
|
||||
#else
|
||||
#define DefaultCDebugFlags -O2
|
||||
#endif
|
||||
#else
|
||||
#define DefaultCDebugFlags -O
|
||||
#endif
|
||||
#endif
|
||||
#ifndef ServerOSDefines
|
||||
#define ServerOSDefines -DDDXTIME XFree86ServerOSDefines
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The TLI interface is more robust on most SVR4s, so it will be the default.
|
||||
*/
|
||||
#if !defined(SunArchitecture)
|
||||
#ifndef ConnectionFlags
|
||||
#define ConnectionFlags -DSTREAMSCONN -DUNIXCONN -DLOCALCONN
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef ManSuffix
|
||||
#define ManSuffix 1x
|
||||
#define ManDir $(MANSOURCEPATH)1
|
||||
#endif
|
||||
#ifndef LibManSuffix
|
||||
#define LibManSuffix 3x
|
||||
#define LibmanDir $(MANSOURCEPATH)3
|
||||
#endif
|
||||
#ifndef FileManSuffix
|
||||
#define FileManSuffix 4
|
||||
#endif
|
||||
|
||||
#ifdef i386Architecture
|
||||
#include <xfree86.cf>
|
||||
#endif
|
||||
|
||||
#include <sv4Lib.rules>
|
|
@ -1,149 +0,0 @@
|
|||
XCOMM platform: $XConsortium: x386.cf /main/15 1996/09/28 16:14:00 rws $
|
||||
|
||||
/*****************************************************************************
|
||||
* Site-specfic parameters *
|
||||
*****************************************************************************/
|
||||
|
||||
/*
|
||||
* there are some switches to set appropriate...
|
||||
*/
|
||||
|
||||
#define HasGcc YES /* doesn't work for SVR4 */
|
||||
#define HasNdbm YES /* correct for GNU dbm & SVR4 */
|
||||
#define StripInstalledPrograms YES
|
||||
#define X386Server YES
|
||||
#define ExtensionOSDefines -DXTESTEXT1
|
||||
#define MotifBC YES
|
||||
|
||||
/*****************************************************************************
|
||||
* Do not change anything below *
|
||||
*****************************************************************************/
|
||||
|
||||
/* You must manually compute BootstrapCFlags for initial build */
|
||||
#define BootstrapCFlags OSDefines OSRelease
|
||||
|
||||
#define StandardDefines OSDefines OSRelease
|
||||
#define LdCombineFlags -r
|
||||
|
||||
#if defined(i386SVR3Architecture)
|
||||
|
||||
#define SystemV YES
|
||||
|
||||
#define NeedBerklib YES
|
||||
#define HasSymLinks NO
|
||||
|
||||
/*
|
||||
* V/386 Release 3.2
|
||||
*/
|
||||
#ifdef ISC
|
||||
/* INTERACTIVE UNIX Version 2.2.1 */
|
||||
# define OSVendor "Interactive System Corp."
|
||||
# define OSDefines -DISC
|
||||
# define LocalLibraries -lpt
|
||||
# define PosixLibraries -lcposix
|
||||
# define SocketLibraries -linet
|
||||
#endif
|
||||
|
||||
#ifdef ESIX
|
||||
#define OSVendor "ESIX System Inc."
|
||||
#define OSDefines -DESIX
|
||||
#define LocalLibraries -lpt
|
||||
#define SocketLibraries -lnet -lnsl_s
|
||||
#define PosixLibraries /**/
|
||||
#endif
|
||||
|
||||
#ifdef ATT
|
||||
#define OSDefines -DATT
|
||||
#define OSVendor "AT&T"
|
||||
#define LocalLibraries -lpt
|
||||
#define SocketLibraries -lnet -lnsl_s /* just a guess */
|
||||
#define PosixLibraries /**/
|
||||
#endif
|
||||
|
||||
#define OSName Unix System V/386 Release 3.2
|
||||
#define OSMajorVersion 3
|
||||
#define OSMinorVersion 2
|
||||
#define OSRelease -DSYSV -DSYSV386
|
||||
|
||||
#if HasGcc
|
||||
# define CcCmd gcc -DNO_ASM -fstrength-reduce -fpcc-struct-return -fwritable-strings
|
||||
# define LibraryCcCmd gcc -DNO_ASM -fstrength-reduce -fpcc-struct-return
|
||||
# define ShlibDefines -D__GNUC__ -DGNULIB=/usr/local/lib/gcc-gnulib
|
||||
#else
|
||||
# define ShlibDefines /**/
|
||||
#endif
|
||||
|
||||
#if HasSockets
|
||||
/* # define ConnectionFlags -DLOCALCONN -DTCPCONN */
|
||||
# define ConnectionFlags -DTCPCONN
|
||||
# define ExtraLibraries SocketLibraries LocalLibraries -lc_s PosixLibraries
|
||||
#else
|
||||
# define ConnectionFlags -DLOCALCONN
|
||||
# define ExtraLibraries $(LIBDIR)/etc/inetemul.o LocalLibraries -lc_s PosixLibraries
|
||||
#endif
|
||||
|
||||
/* #include <sv3Lib.rules> */ /* not working yet */
|
||||
|
||||
/*
|
||||
* Man pages need to be formatted when installed, so override the default
|
||||
* imake rules.
|
||||
*/
|
||||
#define InstallManPageLong(file,destdir,dest) @@\
|
||||
install.man:: file.man @@\
|
||||
$(RM) destdir/dest.$(MANSUFFIX) @@\
|
||||
cat file.man | $(NEQN) | $(NROFF) $(MANMACROS) >/tmp/file.man @@\
|
||||
$(INSTALL) -c $(INSTMANFLAGS) /tmp/file.man destdir/dest.$(MANSUFFIX) @@\
|
||||
$(RM) /tmp/file.man
|
||||
|
||||
#define InstallMultipleMan(list,dest) @@\
|
||||
install.man:: list @@\
|
||||
@MakeFlagsToShellFlags(i,set +e); \ @@\
|
||||
for i in list; do \ @@\
|
||||
(set -x; \ @@\
|
||||
$(RM) dest/$$i; \ @@\
|
||||
cat $$i | $(NEQN) | $(NROFF) $(MANMACROS) >/tmp/$$i; \ @@\
|
||||
$(INSTALL) -c $(INSTMANFLAGS) /tmp/$$i dest/$$i; \ @@\
|
||||
$(RM) /tmp/$$i); \ @@\
|
||||
done
|
||||
|
||||
/* If you have trouble with make bombing out in Xlib, try uncommenting this. */
|
||||
/* You will not get dependencies as a result, but better than nothing. */
|
||||
/* #define DependTarget3(srcs1,srcs2,srcs3) */
|
||||
|
||||
#endif /* i386SVR3Architecture */
|
||||
|
||||
|
||||
/*
|
||||
* V/386 Release 4.0
|
||||
*/
|
||||
#if defined(i386SVR4Architecture)
|
||||
|
||||
#define SystemV4 YES
|
||||
|
||||
/* this is now just for Dell's one */
|
||||
|
||||
#ifdef DELL
|
||||
#define OSDefines -DDELL
|
||||
#define OSVendor "DELL Computer Corp."
|
||||
#endif
|
||||
|
||||
#define OSName Unix System V/386 Release 4.0
|
||||
#define OSMajorVersion 4
|
||||
#define OSMinorVersion 0
|
||||
#define OSRelease -DSVR4 -DSYSV386
|
||||
|
||||
#if HasGcc
|
||||
# define CcCmd gcc -ansi -fstrength-reduce -fpcc-struct-return -Di386
|
||||
# if HasSharedLibraries
|
||||
# define LibraryCcCmd cc -Xa -Di386 -Dasm=__asm
|
||||
# endif
|
||||
#else
|
||||
# define CcCmd cc -Xa -Di386 -Dasm=__asm
|
||||
#endif
|
||||
|
||||
#include <sv4Lib.rules>
|
||||
|
||||
#endif /* i386SVR4Architecture */
|
||||
|
||||
|
||||
XCOMM operating system: OSName OSVendor
|
|
@ -1,185 +0,0 @@
|
|||
XCOMM $XConsortium: xf86.rules /main/9 1996/10/31 14:54:26 kaleb $
|
||||
XCOMM $XFree86: xc/config/cf/xf86.rules,v 3.15 1996/09/24 13:48:46 dawes Exp $
|
||||
|
||||
/*
|
||||
* These rules are needed to build the Xfree86 X Servers
|
||||
*/
|
||||
|
||||
#ifndef CPPOnlyAsm
|
||||
#define CPPOnlyAsm(basename,options) RemoveFile(basename.i) @@\
|
||||
$(CPP) AsmDefines $(DEFINES) $(INCLUDES) options basename.s | \ @@\
|
||||
grep -v '^\#' > basename.i
|
||||
#endif
|
||||
|
||||
#ifndef AssembleObject
|
||||
#define AssembleObject(flags) CPPOnlyAsm($*,flags) @@\
|
||||
$(AS) -o $*.o $*.i @@\
|
||||
RemoveFile($*.i)
|
||||
#endif
|
||||
|
||||
#ifndef NormalAsmObjectRule
|
||||
#define NormalAsmObjectRule() @@\
|
||||
.s.o: @@\
|
||||
AssembleObject($(_NOOP_)) @@\
|
||||
@@\
|
||||
.s.i: @@\
|
||||
CPPOnlyAsm($*,$(_NOOP_))
|
||||
#endif
|
||||
|
||||
#ifndef ObjectFromSpecialAsmSource
|
||||
#define ObjectFromSpecialAsmSource(dst,src,flags) @@\
|
||||
dst.s: src.s @@\
|
||||
RemoveFile($@) @@\
|
||||
$(LN) $? $@ @@\
|
||||
@@\
|
||||
dst.o: dst.s @@\
|
||||
AssembleObject(flags) @@\
|
||||
@@\
|
||||
dst.i: dst.s @@\
|
||||
CPPOnlyAsm(dst,flags) @@\
|
||||
@@\
|
||||
depend:: dst.s @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
RemoveFile(dst.s)
|
||||
#endif
|
||||
|
||||
#ifndef ObjectFromAsmSource
|
||||
#define ObjectFromAsmSource(src,flags) @@\
|
||||
@@\
|
||||
src.o: src.s @@\
|
||||
AssembleObject(flags) @@\
|
||||
@@\
|
||||
src.i: src.s @@\
|
||||
CPPOnlyAsm(dst,flags) @@\
|
||||
@@\
|
||||
depend:: src.s
|
||||
#endif
|
||||
|
||||
#ifndef ObjectMapIncludeFromSpecialSource
|
||||
#define ObjectMapIncludeFromSpecialSource(dst,src,flags) @@\
|
||||
dst.c: src.c @@\
|
||||
RemoveFile($@) @@\
|
||||
echo "#include \"mfbmap.h\"" > $@ @@\
|
||||
echo "#include \"$?\"" >> $@ @@\
|
||||
@@\
|
||||
SpecialCObjectRule(dst,NullParameter,flags) @@\
|
||||
@@\
|
||||
depend:: dst.c @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
RemoveFile(dst.c)
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Rules for building config files from scripts
|
||||
*/
|
||||
|
||||
#ifndef Depend
|
||||
# define Depend depend
|
||||
#endif
|
||||
|
||||
#ifndef ConfigTargetLong
|
||||
#define ConfigTargetLong(target,dep,script,args,extra) @@\
|
||||
all:: Configure @@\
|
||||
@@\
|
||||
Configure:: target.o @@\
|
||||
@@\
|
||||
target.c: script dep @@\
|
||||
$(MAKE) $(MFLAGS) Makefile @@\
|
||||
$(MAKE) $(MFLAGS) extra Concat(Build,target) @@\
|
||||
@@\
|
||||
Concat(Build,target): @@\
|
||||
$(RM) target.c @@\
|
||||
$(SHELL) script args @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
$(RM) target.c
|
||||
#endif
|
||||
|
||||
#define ConfigTarget(target,dep,script,args) ConfigTargetLong(target,dep,script,args,Depend)
|
||||
|
||||
#define ConfigTargetNoDepend(target,dep,script,args) ConfigTargetLong(target,dep,script,args,)
|
||||
|
||||
#if !XF86LinkKit
|
||||
|
||||
/*
|
||||
* Rules for installing LinkKit parts (target is install.linkkit)
|
||||
*/
|
||||
|
||||
#ifndef InstallLinkKitNonExecFile
|
||||
#define InstallLinkKitNonExecFile(file,dest) @@\
|
||||
install.linkkit:: file @@\
|
||||
MakeDir($(DESTDIR)dest) @@\
|
||||
$(INSTALL) -c $(INSTDATFLAGS) file $(DESTDIR)dest
|
||||
#endif
|
||||
|
||||
#ifndef InstallLinkKitLibrary
|
||||
#define InstallLinkKitLibrary(libname,dest) @@\
|
||||
install.linkkit:: Concat(lib,libname.a) @@\
|
||||
MakeDir($(DESTDIR)dest) @@\
|
||||
$(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.a) $(DESTDIR)dest @@\
|
||||
RanLibrary($(RANLIBINSTFLAGS) Concat($(DESTDIR)dest/lib,libname.a))
|
||||
#endif
|
||||
|
||||
#ifndef InstallLinkKitNamedLibrary
|
||||
#define InstallLinkKitNamedLibrary(libname,dlibname,dest) @@\
|
||||
install.linkkit:: Concat(lib,libname.a) @@\
|
||||
MakeDir($(DESTDIR)dest) @@\
|
||||
$(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.a) \ @@\
|
||||
Concat($(DESTDIR)dest/lib,dlibname.a) @@\
|
||||
RanLibrary($(RANLIBINSTFLAGS) Concat($(DESTDIR)dest/lib,dlibname.a))
|
||||
#endif
|
||||
|
||||
#ifndef InstallLinkKitNamedNonExec
|
||||
#define InstallLinkKitNamedNonExec(srcname,dstname,dest) @@\
|
||||
install.linkkit:: srcname @@\
|
||||
MakeDir($(DESTDIR)dest) @@\
|
||||
$(INSTALL) -c $(INSTDATFLAGS) srcname $(DESTDIR)dest/dstname
|
||||
#endif
|
||||
|
||||
#ifndef InstallLinkKitNamedProg
|
||||
#define InstallLinkKitNamedProg(srcname,dstname,dest) @@\
|
||||
install.linkkit:: srcname @@\
|
||||
MakeDir($(DESTDIR)dest) @@\
|
||||
$(INSTALL) -c $(INSTBINFLAGS) srcname $(DESTDIR)dest/dstname
|
||||
#endif
|
||||
|
||||
#ifndef InstallLinkKitSubdirs
|
||||
#define InstallLinkKitSubdirs(dirs) \
|
||||
NamedTargetSubdirs(install.linkkit,dirs,"installing link kit",DESTDIR='$(DESTDIR)',install.linkkit)
|
||||
#endif
|
||||
|
||||
#ifndef InstallLinkKitMultipleDestFlags
|
||||
#define InstallLinkKitMultipleDestFlags(list,dest,flags) \
|
||||
InstallMultipleDestFlags(install.linkkit,list,dest,flags)
|
||||
#endif
|
||||
|
||||
#endif /* !XF86LinkKit */
|
||||
|
||||
/*
|
||||
* DynamicModuleTarget - build a module to be dynamically loaded
|
||||
*/
|
||||
#ifndef DynamicModuleTarget
|
||||
#define DynamicModuleTarget(module,modlist) @@\
|
||||
AllTarget(module) @@\
|
||||
@@\
|
||||
module: modlist @@\
|
||||
RemoveFile($@) @@\
|
||||
$(LD) -o $@ $(SHLIBLDFLAGS) modlist @@\
|
||||
@@\
|
||||
clean:: @@\
|
||||
RemoveFile(module)
|
||||
#endif /* DynamicModuleTarget */
|
||||
|
||||
/*
|
||||
* InstallDynamicModule - install a dynamic module
|
||||
*/
|
||||
#ifndef InstallDynamicModule
|
||||
#define InstallDynamicModule(module,dest) @@\
|
||||
install:: module @@\
|
||||
MakeDir($(DESTDIR)dest) @@\
|
||||
$(INSTALL) -c module $(DESTDIR)dest
|
||||
#endif
|
||||
|
|
@ -1,581 +0,0 @@
|
|||
XCOMM $XFree86: xc/config/cf/xfree86.cf,v 3.117 1996/10/19 15:12:31 dawes Exp $
|
||||
/*
|
||||
* This configuration file contains all of the configuration
|
||||
* information for the XFree86 based X Servers.
|
||||
*
|
||||
* Most of these settings can be overridden in a vendor.cf or the
|
||||
* BeforeVendor part of the site.def file.
|
||||
*/
|
||||
XCOMM $TOG: xfree86.cf /main/38 1997/10/22 13:01:59 kaleb $
|
||||
|
||||
/*
|
||||
* The LinkKit needs to inherit some settings (from the xc build that
|
||||
* generated it) before we go too much further...
|
||||
*/
|
||||
#ifndef XF86LinkKit
|
||||
#define XF86LinkKit NO
|
||||
#endif
|
||||
#if XF86LinkKit
|
||||
#include <LinkKit.tmpl>
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Default settings for which X Servers to build.
|
||||
*/
|
||||
#ifndef XF86SVGAServer
|
||||
# define XF86SVGAServer YES
|
||||
#endif
|
||||
|
||||
#ifndef XF86VGA16Server
|
||||
# define XF86VGA16Server NO
|
||||
# ifndef XF86VGA16DualServer
|
||||
# define XF86VGA16DualServer NO
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef XF86MonoServer
|
||||
# define XF86MonoServer NO
|
||||
# ifndef XF86MonoDualServer
|
||||
# define XF86MonoDualServer NO
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef XF86S3Server
|
||||
# define XF86S3Server NO
|
||||
#endif
|
||||
|
||||
#ifndef XF86S3VServer
|
||||
# define XF86S3VServer NO
|
||||
#endif
|
||||
|
||||
#ifndef XF86I8514Server
|
||||
# define XF86I8514Server NO
|
||||
#endif
|
||||
|
||||
#ifndef XF86Mach8Server
|
||||
# define XF86Mach8Server NO
|
||||
#endif
|
||||
|
||||
#ifndef XF86Mach32Server
|
||||
# define XF86Mach32Server NO
|
||||
#endif
|
||||
|
||||
#ifndef XF86Mach64Server
|
||||
# define XF86Mach64Server NO
|
||||
#endif
|
||||
|
||||
#ifndef XF86AGXServer
|
||||
# define XF86AGXServer NO
|
||||
#endif
|
||||
|
||||
#ifndef XF86P9000Server
|
||||
# define XF86P9000Server NO
|
||||
#endif
|
||||
|
||||
#ifndef XF86W32Server
|
||||
# define XF86W32Server NO
|
||||
#endif
|
||||
|
||||
#ifndef XF86I128Server
|
||||
# define XF86I128Server NO
|
||||
#endif
|
||||
|
||||
#ifndef XF86TGAServer
|
||||
# define XF86TGAServer NO
|
||||
#endif
|
||||
|
||||
#if XF86S3Server
|
||||
# define XF86S3Dir s3
|
||||
#else
|
||||
# define XF86S3Dir /**/
|
||||
#endif
|
||||
|
||||
#if XF86S3VServer
|
||||
# define XF86S3VDir s3_virge
|
||||
#else
|
||||
# define XF86S3VDir /**/
|
||||
#endif
|
||||
|
||||
#if XF86I8514Server
|
||||
# define XF86I8514Dir ibm8514
|
||||
#else
|
||||
# define XF86I8514Dir /**/
|
||||
#endif
|
||||
|
||||
#if XF86Mach8Server
|
||||
# define XF86Mach8Dir mach8
|
||||
#else
|
||||
# define XF86Mach8Dir /**/
|
||||
#endif
|
||||
|
||||
#if XF86Mach32Server
|
||||
# define XF86Mach32Dir mach32
|
||||
#else
|
||||
# define XF86Mach32Dir /**/
|
||||
#endif
|
||||
|
||||
#if XF86Mach64Server
|
||||
# define XF86Mach64Dir mach64
|
||||
#else
|
||||
# define XF86Mach64Dir /**/
|
||||
#endif
|
||||
|
||||
#if XF86P9000Server
|
||||
# define XF86P9000Dir p9000
|
||||
#else
|
||||
# define XF86P9000Dir /**/
|
||||
#endif
|
||||
|
||||
#if XF86AGXServer
|
||||
# define XF86AGXDir agx
|
||||
#else
|
||||
# define XF86AGXDir /**/
|
||||
#endif
|
||||
|
||||
#if XF86W32Server
|
||||
# define XF86W32Dir et4000w32
|
||||
#else
|
||||
# define XF86W32Dir /**/
|
||||
#endif
|
||||
|
||||
#if XF86I128Server
|
||||
# define XF86I128Dir i128
|
||||
#else
|
||||
# define XF86I128Dir /**/
|
||||
#endif
|
||||
|
||||
#if XF86TGAServer
|
||||
# define XF86TGADir tga
|
||||
#else
|
||||
# define XF86TGADir /**/
|
||||
#endif
|
||||
|
||||
#ifndef XF98GANBWAPServer
|
||||
# define XF98GANBWAPServer NO
|
||||
#endif
|
||||
|
||||
#ifndef XF98NEC480Server
|
||||
# define XF98NEC480Server NO
|
||||
#endif
|
||||
|
||||
#ifndef XF98NKVNECServer
|
||||
# define XF98NKVNECServer NO
|
||||
#endif
|
||||
|
||||
#ifndef XF98WABSServer
|
||||
# define XF98WABSServer NO
|
||||
#endif
|
||||
|
||||
#ifndef XF98SVGAServer
|
||||
# define XF98SVGAServer NO
|
||||
#endif
|
||||
|
||||
#ifndef XF98TGUIServer
|
||||
# define XF98TGUIServer NO
|
||||
#endif
|
||||
|
||||
#ifndef XF98EGCServer
|
||||
# define XF98EGCServer NO
|
||||
#endif
|
||||
|
||||
#ifndef XF98NECS3Server
|
||||
# define XF98NECS3Server NO
|
||||
#endif
|
||||
|
||||
#ifndef XF98PWSKBServer
|
||||
# define XF98PWSKBServer NO
|
||||
#endif
|
||||
|
||||
#ifndef XF98PWLBServer
|
||||
#define XF98PWLBServer NO
|
||||
#endif
|
||||
|
||||
#if XF98NECS3Server
|
||||
# define XF98NECS3Dir s3nec
|
||||
#else
|
||||
# define XF98NECS3Dir /**/
|
||||
#endif
|
||||
|
||||
#if XF98PWSKBServer
|
||||
# define XF98PWSKBDir s3pwskb
|
||||
#else
|
||||
# define XF98PWSKBDir /**/
|
||||
#endif
|
||||
|
||||
#if XF98PWLBServer
|
||||
# define XF98PWLBDir s3pwlb
|
||||
#else
|
||||
# define XF98PWLBDir /**/
|
||||
#endif
|
||||
|
||||
#undef XF86AccelServerDirs
|
||||
#define XF86AccelServerDirs XF86S3Dir XF86S3VDir XF86I8514Dir \
|
||||
XF86Mach8Dir XF86Mach32Dir XF86Mach64Dir \
|
||||
XF86P9000Dir XF86AGXDir XF86W32Dir \
|
||||
XF86I128Dir XF86TGADir
|
||||
|
||||
#undef XF86AccelServer
|
||||
#if XF86S3Server || XF86S3VServer || XF86I8514Server || XF86Mach8Server || \
|
||||
XF86Mach32Server || XF86Mach64Server || XF86P9000Server || \
|
||||
XF86AGXServer || XF86W32Server || XF86I128Server || XF86TGAServer
|
||||
# define XF86AccelServer YES
|
||||
#else
|
||||
# define XF86AccelServer NO
|
||||
#endif
|
||||
|
||||
#undef XF98AccelServerDirs
|
||||
#define XF98AccelServerDirs XF98NECS3Dir XF98PWSKBDir XF98PWLBDir
|
||||
|
||||
#undef XF98AccelServer
|
||||
#if XF98NECS3Server || XF98PWSKBServer || XF98PWLBServer
|
||||
# define XF98AccelServer YES
|
||||
#else
|
||||
# define XF98AccelServer NO
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Driver list for several of the X Servers.
|
||||
*/
|
||||
#ifndef XF86SvgaDrivers
|
||||
# define XF86SvgaDrivers nv et4000 et3000 pvga1 gvga ati sis tvga8900 \
|
||||
cirrus ncr77c22 /*compaq*/ mga oak mx al2101 \
|
||||
ali cl64xx video7 chips ark realtek apm \
|
||||
s3_svga generic
|
||||
#endif
|
||||
|
||||
#ifndef XF98SvgaDrivers
|
||||
# define XF98SvgaDrivers generic
|
||||
#endif
|
||||
|
||||
#ifndef XF86Vga16Drivers
|
||||
# define XF86Vga16Drivers et4000 ncr77c22 ati sis tvga8900 oak cl64xx \
|
||||
generic
|
||||
#endif
|
||||
|
||||
#ifndef XF98Vga16Drivers
|
||||
# define XF98Vga16Drivers generic
|
||||
#endif
|
||||
|
||||
#ifndef XF86Vga2Drivers
|
||||
# define XF86Vga2Drivers et4000 et3000 pvga1 gvga ati sis tvga8900 \
|
||||
cirrus ncr77c22 /*compaq*/ oak cl64xx generic
|
||||
#endif
|
||||
|
||||
#ifndef XF86Vga2Banked
|
||||
# define XF86Vga2Banked YES
|
||||
#endif
|
||||
|
||||
#ifndef XF86MonoDrivers
|
||||
# define XF86MonoDrivers hgc1280 sigma apollo /*hercules*/
|
||||
#endif
|
||||
|
||||
/* This doesn't do anything (yet) */
|
||||
#ifndef XF86S3Drivers
|
||||
# if !defined(AlphaArchitecture)
|
||||
# define XF86S3Drivers newmmio mmio_928 s3_generic
|
||||
# else
|
||||
# define XF86S3Drivers mmio_928 s3_generic newmmio
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef XF86S3VDrivers
|
||||
# define XF86S3VDrivers s3_virge
|
||||
#endif
|
||||
|
||||
#ifndef XF86W32Drivers
|
||||
# define XF86W32Drivers et4000w32
|
||||
#endif
|
||||
|
||||
#ifndef XF98S3Drivers
|
||||
# define XF98S3Drivers mmio_928 s3_generic
|
||||
#endif
|
||||
|
||||
/*
|
||||
* By default, build all of the fonts.
|
||||
*/
|
||||
#ifndef Build75Dpi
|
||||
#define Build75Dpi YES
|
||||
#endif
|
||||
#ifndef Build100Dpi
|
||||
#define Build100Dpi YES
|
||||
#endif
|
||||
#ifndef BuildSpeedo
|
||||
#define BuildSpeedo YES
|
||||
#endif
|
||||
#ifndef BuildType1
|
||||
#define BuildType1 YES
|
||||
#endif
|
||||
|
||||
#ifndef BuildScanpci
|
||||
#if SystemV || SystemV4 || (defined(LinuxArchitecture) && !defined(Mc68020Architecture)) || defined(i386BsdArchitecture) || defined(LynxOSArchitecture) || defined(OS2Architecture)
|
||||
#define BuildScanpci YES
|
||||
#else
|
||||
#define BuildScanpci NO
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef BuildXF86DGA
|
||||
#define BuildXF86DGA NO
|
||||
#endif
|
||||
|
||||
#ifndef CompressAllFonts
|
||||
#define CompressAllFonts YES
|
||||
#endif
|
||||
|
||||
#ifndef HasLinuxDoc
|
||||
#define HasLinuxDoc NO
|
||||
#endif
|
||||
|
||||
#ifndef InstallJapaneseDocs
|
||||
#define InstallJapaneseDocs NO
|
||||
#endif
|
||||
|
||||
#if BuildXF86DGA
|
||||
#define XFree86DGADefines -DXFreeXDGA
|
||||
#else
|
||||
#define XFree86DGADefines /**/
|
||||
#endif
|
||||
|
||||
/* Server defines required for all OSs */
|
||||
#ifndef XFree86ServerDefines
|
||||
#define XFree86ServerDefines -DSTATIC_COLOR -DAVOID_GLYPHBLT -DPIXPRIV LinkKitDefines XFree86DGADefines
|
||||
#endif
|
||||
|
||||
#ifndef XFree86ServerOSDefines
|
||||
#define XFree86ServerOSDefines -DDDXOSINIT -DSERVER_LOCK
|
||||
#endif
|
||||
|
||||
#ifndef XFree86ConsoleDefines
|
||||
#ifdef i386BsdArchitecture
|
||||
#define XFree86ConsoleDefines -DPCCONS_SUPPORT -DSYSCONS_SUPPORT -DPCVT_SUPPORT
|
||||
#else
|
||||
#define XFree86ConsoleDefines /**/
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef UseServerLock
|
||||
#define UseServerLock YES
|
||||
#endif
|
||||
|
||||
#ifndef XF86LinkKit
|
||||
#define XF86LinkKit NO
|
||||
#endif
|
||||
|
||||
#if XF86LinkKit
|
||||
/*
|
||||
* Definitions for LinkKit self-containment. This should work whether or not
|
||||
* UseInstalled is defined.
|
||||
*/
|
||||
# ifndef HasLdRunPath
|
||||
# define HasLdRunPath NO
|
||||
# endif
|
||||
|
||||
# ifndef TopIncludes
|
||||
# ifdef IncRoot
|
||||
# define TopIncludes -I$(INCROOT)
|
||||
# else
|
||||
# define TopIncludes /**/
|
||||
# endif
|
||||
# endif
|
||||
# ifndef ClientLibDir
|
||||
# if defined(UsrLibDir) || HasLdRunPath
|
||||
# define ClientLibDir /**/
|
||||
# else
|
||||
# define ClientLibDir -L$(USRLIBDIR)
|
||||
# endif
|
||||
# endif
|
||||
# ifndef LdPreLib
|
||||
# if defined(LdPostLib) && defined(UsrLibDir) && !HasLdRunPath
|
||||
# define LdPreLib -L$(USRLIBDIR)
|
||||
# else
|
||||
# define LdPreLib /**/
|
||||
# endif
|
||||
# endif
|
||||
# ifndef LdPostLib
|
||||
# if defined(UsrLibDir) && !HasLdRunPath
|
||||
# define LdPostLib -L$(USRLIBDIR)
|
||||
# else
|
||||
# define LdPostLib /**/
|
||||
# endif
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef LinkKitDefines
|
||||
#if XF86LinkKit
|
||||
#define LinkKitDefines -DLINKKIT
|
||||
#else
|
||||
#define LinkKitDefines /**/
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef ServerExtraDefines
|
||||
#define ServerExtraDefines XFree86ServerDefines
|
||||
#endif
|
||||
|
||||
#ifndef ServerOSDefines
|
||||
#define ServerOSDefines XFree86ServerOSDefines
|
||||
#endif
|
||||
|
||||
#ifndef LinkKitDir
|
||||
#define LinkKitDir $(USRLIBDIR)/Server
|
||||
#endif
|
||||
|
||||
LINKKITDIR = LinkKitDir
|
||||
XF98LINKKITDIR = LinkKitDir
|
||||
|
||||
#ifndef HasDlsymBug
|
||||
#define HasDlsymBug NO
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Some commonly referred to directories are defined here.
|
||||
*/
|
||||
|
||||
#if XF86LinkKit
|
||||
XF86SRC = $(TOP)
|
||||
XF86ACCELSRC = $(XF86SRC)/lib86
|
||||
XF86COMSRC = $(XF86SRC)/lib86
|
||||
XF86CONFIGSRC = $(XF86SRC)
|
||||
XF86HWSRC = $(XF86SRC)/lib86
|
||||
XF86OSSRC = $(XF86SRC)/lib86
|
||||
DRIVERSRC = $(XF86SRC)/drivers
|
||||
VGADRIVERSRC = $(XF86SRC)/drivers/vga256
|
||||
VGA16DRIVERSRC = $(XF86SRC)/drivers/vga16
|
||||
VGA2DRIVERSRC = $(XF86SRC)/drivers/vga2
|
||||
MONODRIVERSRC = $(XF86SRC)/drivers/mono
|
||||
S3DRIVERSRC = $(XF86SRC)/drivers/s3
|
||||
S3VDRIVERSRC = $(XF86SRC)/drivers/s3_virge
|
||||
|
||||
XF98SRC = $(TOP)
|
||||
XF98ACCELSRC = $(XF98SRC)/lib98
|
||||
XF98COMSRC = $(XF98SRC)/lib98
|
||||
XF98CONFIGSRC = $(XF98SRC)
|
||||
XF98HWSRC = $(XF98SRC)/lib98
|
||||
XF98HWNECSRC = $(XF98SRC)/lib98
|
||||
XF98HWPWSKBSRC = $(XF98SRC)/lib98
|
||||
XF98HWPWLBSRC = $(XF98SRC)/lib98
|
||||
XF98HWGA968SRC = $(XF98SRC)/lib98
|
||||
XF98OSSRC = $(XF98SRC)/lib98
|
||||
XF98DRIVERSRC = $(XF98SRC)/drivers98
|
||||
XF98VGADRIVERSRC = $(XF98SRC)/drivers98/vga256
|
||||
XF98VGA16DRIVERSRC = $(XF98SRC)/drivers98/vga16
|
||||
XF98VGA2DRIVERSRC = $(XF98SRC)/drivers98/vga2
|
||||
XF98MONODRIVERSRC = $(XF98SRC)/drivers98/mono
|
||||
XF98NECS3DRIVERSRC = $(XF98SRC)/drivers98/s3nec
|
||||
XF98PWSKBDRIVERSRC = $(XF98SRC)/drivers98/s3pwskb
|
||||
XF98PWLBDRIVERSRC = $(XF98SRC)/drivers98/s3pwlb
|
||||
XF98GA968DRIVERSRC = $(XF98SRC)/drivers98/s3ga968
|
||||
|
||||
#ifdef SiteIConfigFiles
|
||||
#undef SiteIConfigFiles
|
||||
#endif
|
||||
#define SiteIConfigFiles $(TOP)/xf86site.def $(TOP)/Imakefile $(IRULESSRC)/host.def
|
||||
#else
|
||||
XF86SRC = $(SERVERSRC)/hw/xfree86
|
||||
XF86ACCELSRC = $(XF86SRC)/accel
|
||||
XF86COMSRC = $(XF86SRC)/common
|
||||
XF86CONFIGSRC = $(XF86COMSRC)
|
||||
XF86HWSRC = $(XF86SRC)/common_hw
|
||||
XF86OSSRC = $(XF86SRC)/os-support
|
||||
VGADRIVERSRC = $(XF86SRC)/vga256/drivers
|
||||
VGA16DRIVERSRC = $(XF86SRC)/vga16/drivers
|
||||
VGA2DRIVERSRC = $(XF86SRC)/vga2/drivers
|
||||
MONODRIVERSRC = $(XF86SRC)/mono/drivers
|
||||
S3DRIVERSRC = $(XF86SRC)/accel/s3/drivers
|
||||
S3VDRIVERSRC = $(XF86SRC)/accel/s3_virge/drivers
|
||||
|
||||
XF98SRC = $(SERVERSRC)/hw/xfree98
|
||||
XF98ACCELSRC = $(XF98SRC)/accel
|
||||
XF98COMSRC = $(XF98SRC)/common
|
||||
XF98CONFIGSRC = $(XF98COMSRC)
|
||||
XF98HWSRC = $(XF98SRC)/common_hw/generic
|
||||
XF98HWNECSRC = $(XF98SRC)/common_hw/nec
|
||||
XF98HWPWSKBSRC = $(XF98SRC)/common_hw/pwskb
|
||||
XF98HWPWLBSRC = $(XF98SRC)/common_hw/pwlb
|
||||
XF98OSSRC = $(XF98SRC)/os-support
|
||||
XF98VGADRIVERSRC = $(XF98SRC)/vga256/drivers
|
||||
XF98VGA16DRIVERSRC = $(XF98SRC)/vga16/drivers
|
||||
XF98VGA2DRIVERSRC = $(XF98SRC)/vga2/drivers
|
||||
XF98MONODRIVERSRC = $(XF98SRC)/mono/drivers
|
||||
XF98NECS3DRIVERSRC = $(XF98SRC)/accel/s3nec/drivers
|
||||
XF98PWSKBDRIVERSRC = $(XF98SRC)/accel/s3pwskb/drivers
|
||||
XF98PWLBDRIVERSRC = $(XF98SRC)/accel/s3pwlb/drivers
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Installed location of the XFree86 documentation
|
||||
*/
|
||||
|
||||
XFREE86DOCDIR = $(LIBDIR)/doc
|
||||
XFREE86PSDOCDIR = $(XFREE86DOCDIR)/PostScript
|
||||
XFREE86HTMLDOCDIR = $(XFREE86DOCDIR)/html
|
||||
XFREE86JAPANESEDOCDIR = $(XFREE86DOCDIR)/Japanese
|
||||
|
||||
/*
|
||||
* Other stuff used in the X Server source.
|
||||
*/
|
||||
|
||||
#ifndef AsmDefines
|
||||
#define AsmDefines /**/
|
||||
#endif
|
||||
|
||||
#ifndef XFree86Version
|
||||
#define XFree86Version 3310
|
||||
#endif
|
||||
|
||||
#ifndef XVendorString
|
||||
#define XVendorString "The Open Group / The XFree86 Project, Inc"
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
#ifndef XVendorRelease
|
||||
#define XVendorRelease XFree86Version
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef UseRgbTxt
|
||||
#define UseRgbTxt YES
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* GNU Compiler stuff
|
||||
*/
|
||||
#ifndef HasGcc2
|
||||
#define HasGcc2 NO
|
||||
#endif
|
||||
#ifndef HasGcc
|
||||
#define HasGcc HasGcc2
|
||||
#endif
|
||||
#ifndef HasGcc2ForCplusplus
|
||||
#define HasGcc2ForCplusplus HasGcc2
|
||||
#endif
|
||||
|
||||
#if HasGcc
|
||||
#ifndef DefaultCCOptions
|
||||
#ifdef UseInstalled
|
||||
#define DefaultCCOptions -ansi
|
||||
#else
|
||||
#define DefaultCCOptions -ansi -pedantic
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if HasGcc2 && (defined(i386Architecture) || defined(AMD64Architecture))
|
||||
#ifndef DefaultGcc2i386Opt
|
||||
#define DefaultGcc2i386Opt -O2 -fno-strength-reduce
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef BuildLBXCompatible
|
||||
#define BuildLBXCompatible NO
|
||||
#endif
|
||||
|
||||
#if BuildLBXCompatible
|
||||
#define LbxDefines -DLBX_COMPAT
|
||||
#endif
|
||||
|
||||
#define VidTuneExtensionDefines -DXF86VIDMODE
|
||||
|
||||
#include <xf86.rules>
|
|
@ -1,38 +0,0 @@
|
|||
XCOMM $TOG: Imakefile /main/10 1997/04/30 15:39:17 kaleb $
|
||||
|
||||
XCOMM Some compilers generate fatal errors if an -L directory does
|
||||
XCOMM not exist. Since BUILDLIBDIR may not exist yet suppress its use.
|
||||
LDPRELIB =
|
||||
LDPRELIBS =
|
||||
|
||||
DEPLIBS =
|
||||
|
||||
DEPEND_DEFINES = $(DEPENDDEFINES)
|
||||
INCLUDES = -I$(TOP)/include $(TOP_X_INCLUDES)/X11
|
||||
CPP_PROGRAM = CppCmd
|
||||
CPP_DEFINES = -DCPP_PROGRAM="\"$(CPP_PROGRAM)\""
|
||||
DEFINES = $(SIGNAL_DEFINES) $(BOOTSTRAPCFLAGS) $(CPP_DEFINES)
|
||||
|
||||
#if defined(MacIIArchitecture) || defined(SequentArchitecture)
|
||||
XBSDLIB = /**/
|
||||
#endif
|
||||
|
||||
#undef ImakeDependency
|
||||
#define ImakeDependency(dummy) @@\
|
||||
Makefile:: ProgramTargetName(imake)
|
||||
|
||||
#if CrossCompiling
|
||||
SimpleHostProgramTarget(imake)
|
||||
#else
|
||||
SimpleProgramTarget(imake)
|
||||
#endif
|
||||
|
||||
#if HasClearmake
|
||||
bootstrapdepend: depend
|
||||
#else
|
||||
bootstrapdepend:
|
||||
#endif
|
||||
|
||||
clean::
|
||||
RemoveFile(ProgramTargetName(ccimake))
|
||||
$(RM) -r bootstrap
|
|
@ -1,52 +0,0 @@
|
|||
# $TOG: Makefile.ini /main/25 1997/02/19 18:00:59 mgreess $
|
||||
#
|
||||
# WARNING WARNING WARNING WARNING WARNING WARNING WARNING
|
||||
#
|
||||
# This is NOT an automatically generated Makefile! It is hand-crafted as a
|
||||
# bootstrap, may need editing for your system. The BOOTSTRAPCFLAGS variable
|
||||
# may be given at the top of the build tree for systems that do not define
|
||||
# any machine-specific preprocessor symbols.
|
||||
#
|
||||
|
||||
BOOTSTRAPCFLAGS =
|
||||
CC = cc
|
||||
CDEBUGFLAGS = -O
|
||||
INCLUDES = -I../../include -I/usr/local/include/X11 -I/usr/include/X11 -I/usr/X11R6/include/X11 -I/usr/X11R7/include/X11
|
||||
CFLAGS = $(BOOTSTRAPCFLAGS) $(CDEBUGFLAGS) $(INCLUDES)
|
||||
SHELL = /bin/sh
|
||||
RM = rm -f
|
||||
MV = mv
|
||||
MAKE = make
|
||||
RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a \
|
||||
tags TAGS make.log
|
||||
NPROC = 1
|
||||
|
||||
imake::
|
||||
@echo "making imake with BOOTSTRAPCFLAGS=$(BOOTSTRAPCFLAGS) in config/imake"
|
||||
|
||||
imake:: imake.o
|
||||
$(CC) -o imake imake.o
|
||||
|
||||
imake.o: ccimake imake.c
|
||||
$(CC) -c $(CFLAGS) `./ccimake` imake.c
|
||||
|
||||
ccimake: ccimake.c
|
||||
$(CC) -o ccimake $(CFLAGS) ccimake.c
|
||||
|
||||
# a derived object erroneously would get shared across platforms by clearmake
|
||||
.NO_CONFIG_REC: ccimake
|
||||
|
||||
bootstrap:
|
||||
@if [ -d bootstrap ]; then exit 0; else set -x; mkdir bootstrap; fi
|
||||
$(MV) *.o imake bootstrap
|
||||
|
||||
relink:
|
||||
$(RM) imake
|
||||
$(MAKE) $(MFLAGS) imake
|
||||
|
||||
clean:
|
||||
$(RM) ccimake imake.o imake
|
||||
$(RM_CMD) \#*
|
||||
$(RM) -r Makefile.proto Makefile Makefile.dep bootstrap .depend
|
||||
|
||||
depend:
|
|
@ -1,67 +0,0 @@
|
|||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $TOG: ccimake.c /main/16 1998/02/06 11:02:20 kaleb $ */
|
||||
/*
|
||||
|
||||
Copyright (c) 1993, 1994, 1998 The Open Group
|
||||
|
||||
All Rights Reserved.
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the The Open Group shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from The Open Group .
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
* Warning: This file must be kept as simple as posible so that it can
|
||||
* compile without any special flags on all systems. Do not touch it unless
|
||||
* you *really* know what you're doing. Make changes in imakemdep.h, not here.
|
||||
*/
|
||||
|
||||
#define CCIMAKE /* only get imake_ccflags definitions */
|
||||
#include "imakemdep.h" /* things to set when porting imake */
|
||||
|
||||
#ifndef imake_ccflags
|
||||
#define imake_ccflags "-O"
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
ssize_t ret = write(1, imake_ccflags, sizeof(imake_ccflags) - 1);
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load diff
|
@ -1,250 +0,0 @@
|
|||
.\" $TOG: imake.man /main/30 1998/02/06 11:02:42 kaleb $
|
||||
.\" Copyright (c) 1993, 1994, 1998 The Open Group
|
||||
.\"
|
||||
.\" All Rights Reserved.
|
||||
.\"
|
||||
.\" The above copyright notice and this permission notice shall be included
|
||||
.\" in all copies or substantial portions of the Software.
|
||||
.\"
|
||||
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
.\" IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
.\" OTHER DEALINGS IN THE SOFTWARE.
|
||||
.\"
|
||||
.\" Except as contained in this notice, the name of The Open Group shall
|
||||
.\" not be used in advertising or otherwise to promote the sale, use or
|
||||
.\" other dealings in this Software without prior written authorization
|
||||
.\" from The Open Group.
|
||||
.TH IMAKE 1 "Release 6.1" "X Version 11"
|
||||
.SH NAME
|
||||
imake \- C preprocessor interface to the make utility
|
||||
.SH SYNOPSIS
|
||||
\fBimake\fP [ \fB\-D\fP\fIdefine\fP ] [ \fB\-I\fP\fIdir\fP ]
|
||||
[ \fB\-T\fP\fItemplate\fP ]
|
||||
[ \fB\-f\fP \fIfilename\fP ] [ \fB\-C\fP \fIfilename\fP ]
|
||||
[ \fB\-s\fP \fIfilename\fP ] [ \fB\-e\fP ]
|
||||
[ \fB\-v\fP ]
|
||||
.SH DESCRIPTION
|
||||
.I Imake
|
||||
is used to
|
||||
generate \fIMakefiles\fP from a template, a set of \fIcpp\fP macro functions,
|
||||
and a per-directory input file called an \fIImakefile\fP. This allows machine
|
||||
dependencies (such as compiler options, alternate command names, and special
|
||||
\fImake\fP rules) to be kept separate from the descriptions of the
|
||||
various items to be built.
|
||||
.SH OPTIONS
|
||||
The following command line options may be passed to \fIimake\fP:
|
||||
.TP 8
|
||||
.B \-D\fIdefine\fP
|
||||
This option is passed directly to \fIcpp\fP. It is typically used to set
|
||||
directory-specific variables. For example, the X Window System uses this
|
||||
flag to set \fITOPDIR\fP to the name of the directory containing the top
|
||||
of the core distribution and \fICURDIR\fP to the name of the current
|
||||
directory, relative to the top.
|
||||
.TP 8
|
||||
.B \-I\fIdirectory\fP
|
||||
This option is passed directly to \fIcpp\fP. It is typically used to
|
||||
indicate the directory in which the \fIimake\fP template and configuration
|
||||
files may be found.
|
||||
.TP 8
|
||||
.B \-T\fItemplate\fP
|
||||
This option specifies the name of the master template file (which is usually
|
||||
located in the directory specified with \fI\-I\fP) used by \fIcpp\fP.
|
||||
The default is \fIImake.tmpl\fP.
|
||||
.TP 8
|
||||
.B \-f \fIfilename\fP
|
||||
This option specifies the name of the per-directory input file. The default
|
||||
is \fIImakefile\fP.
|
||||
.TP 8
|
||||
.B \-C \fIfilename\fP
|
||||
This option specifies the name of the .c file that is constructed in the
|
||||
current directory. The default is \fIImakefile.c\fP.
|
||||
.TP 8
|
||||
.B \-s \fIfilename\fP
|
||||
This option specifies the name of the \fImake\fP description file to be
|
||||
generated but \fImake\fP should not be invoked.
|
||||
If the \fIfilename\fP is a dash (\-), the
|
||||
output is written to \fIstdout\fP. The default is to generate, but
|
||||
not execute, a \fIMakefile\fP.
|
||||
.TP 8
|
||||
.B \-e
|
||||
This option indicates the \fIimake\fP should execute the generated
|
||||
\fIMakefile\fP. The default is to leave this to the user.
|
||||
.TP 8
|
||||
.B \-v
|
||||
This option indicates that \fIimake\fP should print the \fIcpp\fP command line
|
||||
that it is using to generate the \fIMakefile\fP.
|
||||
.SH "HOW IT WORKS"
|
||||
\fIImake\fP invokes \fIcpp\fP with any \fI\-I\fP or \fI\-D\fP flags passed
|
||||
on the command line and passes the name of a file containing the
|
||||
following 3 lines:
|
||||
.sp
|
||||
.nf
|
||||
#define IMAKE_TEMPLATE "Imake.tmpl"
|
||||
#define INCLUDE_IMAKEFILE <Imakefile>
|
||||
#include IMAKE_TEMPLATE
|
||||
.fi
|
||||
.sp
|
||||
where \fIImake.tmpl\fP and \fIImakefile\fP may be overridden by the
|
||||
\fI\-T\fP and \fI\-f\fP command options, respectively.
|
||||
.PP
|
||||
The IMAKE_TEMPLATE typically
|
||||
reads in a file containing machine-dependent parameters
|
||||
(specified as \fIcpp\fP symbols), a site-specific parameters file,
|
||||
a file defining variables,
|
||||
a file
|
||||
containing \fIcpp\fP macro functions for generating \fImake\fP rules, and
|
||||
finally the \fIImakefile\fP (specified by INCLUDE_IMAKEFILE) in the current
|
||||
directory. The \fIImakefile\fP uses the macro functions to indicate what
|
||||
targets should be built; \fIimake\fP takes care of generating the appropriate
|
||||
rules.
|
||||
.PP
|
||||
.I Imake
|
||||
configuration files contain two types of variables, imake variables
|
||||
and make variables. The imake variables are interpreted by cpp when
|
||||
.I imake
|
||||
is run. By convention they are mixed case. The make variables are
|
||||
written into the
|
||||
.I Makefile
|
||||
for later interpretation by
|
||||
.I make.
|
||||
By convention make variables are upper case.
|
||||
.PP
|
||||
The rules file (usually named \fIImake.rules\fP in the configuration
|
||||
directory) contains a variety of \fIcpp\fP macro functions that are
|
||||
configured according to the current platform. \fIImake\fP replaces
|
||||
any occurrences of the string ``@@'' with a newline to allow macros that
|
||||
generate more than one line of \fImake\fP rules.
|
||||
For example, the macro
|
||||
.ta 1i 1.6i 5i
|
||||
.nf
|
||||
|
||||
#define program_target(program, objlist) @@\e
|
||||
program: objlist @@\e
|
||||
$(CC) \-o $@ objlist $(LDFLAGS)
|
||||
|
||||
.fi
|
||||
when called with
|
||||
.I "program_target(foo, foo1.o foo2.o)"
|
||||
will expand to
|
||||
.nf
|
||||
|
||||
foo: foo1.o foo2.o
|
||||
$(CC) \-o $@ foo1.o foo2.o $(LDFLAGS)
|
||||
|
||||
.fi
|
||||
.PP
|
||||
\fIImake\fP also replaces any occurrences of the word ``XCOMM'' with
|
||||
the character ``#'' to permit placing comments in the Makefile without
|
||||
causing ``invalid directive'' errors from the preprocessor.
|
||||
.PP
|
||||
Some complex \fIimake\fP macros require generated \fImake\fP variables
|
||||
local to each invocation of the macro, often because their value
|
||||
depends on parameters passed to the macro.
|
||||
Such variables can be created by using an \fIimake\fP variable
|
||||
of the form \fBXVARdef\fP\fIn\fP, where \fIn\fP is a single digit.
|
||||
A unique \fImake\fP variable will be substituted. Later occurrences
|
||||
of the variable \fBXVARuse\fP\fIn\fP will
|
||||
be replaced by the variable created by the corresponding
|
||||
\fBXVARdef\fP\fIn\fP.
|
||||
.PP
|
||||
On systems whose \fIcpp\fP reduces multiple tabs and spaces to a single
|
||||
space, \fIimake\fP attempts to put back any necessary tabs (\fImake\fP is
|
||||
very picky about the difference between tabs and spaces). For this reason,
|
||||
colons (:) in command lines must be preceded by a backslash (\\).
|
||||
.SH "USE WITH THE X WINDOW SYSTEM"
|
||||
The X Window System uses \fIimake\fP extensively, for both full builds within
|
||||
the source tree and external software. As mentioned above, two special
|
||||
variables, \fITOPDIR\fP and \fICURDIR,\fP are set to make referencing files
|
||||
using relative path names easier. For example, the following command is
|
||||
generated automatically to build the \fIMakefile\fP in the directory
|
||||
\fIlib/X/\fP (relative to the top of the sources):
|
||||
.sp
|
||||
.nf
|
||||
% ../.././config/imake \-I../.././config \\
|
||||
\-DTOPDIR=../../. \-DCURDIR=./lib/X
|
||||
.fi
|
||||
.sp
|
||||
When building X programs outside the source tree, a special symbol
|
||||
\fIUseInstalled\fP is defined and \fITOPDIR\fP and
|
||||
\fICURDIR\fP are omitted. If the configuration files have been
|
||||
properly installed, the script \fIxmkmf\fP(1) may be used.
|
||||
.SH "INPUT FILES"
|
||||
Here is a summary of the files read by
|
||||
.I imake
|
||||
as used by X.
|
||||
The indentation shows what files include what other files.
|
||||
.nf
|
||||
.sp
|
||||
.ta 3i
|
||||
Imake.tmpl generic variables
|
||||
site.def site-specific, BeforeVendorCF defined
|
||||
*.cf machine-specific
|
||||
*Lib.rules shared library rules
|
||||
site.def site-specific, AfterVendorCF defined
|
||||
Imake.rules rules
|
||||
Project.tmpl X-specific variables
|
||||
*Lib.tmpl shared library variables
|
||||
Imakefile
|
||||
Library.tmpl library rules
|
||||
Server.tmpl server rules
|
||||
Threads.tmpl multi-threaded rules
|
||||
.fi
|
||||
.LP
|
||||
Note that \fIsite.def\fP gets included twice, once before the
|
||||
\fI*.cf\fP file and once after. Although most site customizations
|
||||
should be specified after the \fI*.cf\fP file, some, such as the
|
||||
choice of compiler, need to be specified before, because other
|
||||
variable settings may depend on them.
|
||||
.LP
|
||||
The first time \fIsite.def\fP is included, the variable BeforeVendorCF
|
||||
is defined, and the second time, the variable AfterVendorCF is
|
||||
defined. All code in \fIsite.def\fP should be inside an #ifdef for
|
||||
one of these symbols.
|
||||
.SH FILES
|
||||
.ta 3i
|
||||
Imakefile.c temporary input file for cpp
|
||||
.br
|
||||
/tmp/Imf.XXXXXX temporary Makefile for -s
|
||||
.br
|
||||
/tmp/IIf.XXXXXX temporary Imakefile if specified Imakefile uses # comments
|
||||
.br
|
||||
/lib/cpp default C preprocessor
|
||||
.DT
|
||||
.SH "SEE ALSO"
|
||||
make(1), xmkmf(1)
|
||||
.br
|
||||
S. I. Feldman,
|
||||
.I
|
||||
Make \(em A Program for Maintaining Computer Programs
|
||||
.SH "ENVIRONMENT VARIABLES"
|
||||
The following environment variables may be set, however their use is not
|
||||
recommended as they introduce dependencies that are not readily apparent
|
||||
when \fIimake\fP is run:
|
||||
.TP 5
|
||||
.B IMAKEINCLUDE
|
||||
If defined, this specifies a ``\-I'' include argument to pass to the
|
||||
C preprocessor. E.g., ``\-I/usr/X11/config''.
|
||||
.TP 5
|
||||
.B IMAKECPP
|
||||
If defined, this should be a valid path to a preprocessor program.
|
||||
E.g., ``/usr/local/cpp''.
|
||||
By default,
|
||||
.I imake
|
||||
will use /lib/cpp.
|
||||
.TP 5
|
||||
.B IMAKEMAKE
|
||||
If defined, this should be a valid path to a make program,
|
||||
such as ``/usr/local/make''.
|
||||
By default,
|
||||
.I imake
|
||||
will use whatever
|
||||
.I make
|
||||
program is found using
|
||||
.I execvp(3).
|
||||
This variable is only used if the ``\-e'' option is specified.
|
||||
.SH "AUTHOR"
|
||||
Todd Brunhoff, Tektronix and MIT Project Athena; Jim Fulton, MIT X Consortium
|
|
@ -1,810 +0,0 @@
|
|||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $TOG: imakemdep.h /main/102 1998/02/06 11:02:26 kaleb $ */
|
||||
/*
|
||||
|
||||
Copyright (c) 1993, 1994, 1998 The Open Group
|
||||
|
||||
All Rights Reserved.
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of The Open Group shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from The Open Group.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* This file contains machine-dependent constants for the imake utility.
|
||||
* When porting imake, read each of the steps below and add in any necessary
|
||||
* definitions. In general you should *not* edit ccimake.c or imake.c!
|
||||
*/
|
||||
|
||||
#ifdef CCIMAKE
|
||||
/*
|
||||
* Step 1: imake_ccflags
|
||||
* Define any special flags that will be needed to get imake.c to compile.
|
||||
* These will be passed to the compile along with the contents of the
|
||||
* make variable BOOTSTRAPCFLAGS.
|
||||
*/
|
||||
#ifdef hpux
|
||||
#ifdef hp9000s800
|
||||
#define imake_ccflags "-DSYSV"
|
||||
#else
|
||||
#define imake_ccflags "-Wc,-Nd4000,-Ns3000 -DSYSV"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef stellar
|
||||
#define imake_ccflags "-DSYSV"
|
||||
#endif
|
||||
|
||||
#if defined(Oki) || defined(NCR)
|
||||
#define imake_ccflags "-Xa -DSVR4"
|
||||
#endif
|
||||
|
||||
#ifdef sony
|
||||
#if defined(SYSTYPE_SYSV) || defined(_SYSTYPE_SYSV)
|
||||
#define imake_ccflags "-DSVR4"
|
||||
#else
|
||||
#include <sys/param.h>
|
||||
#if NEWSOS < 41
|
||||
#define imake_ccflags "-Dbsd43 -DNOSTDHDRS"
|
||||
#else
|
||||
#if NEWSOS < 42
|
||||
#define imake_ccflags "-Dbsd43"
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef _CRAY
|
||||
#define imake_ccflags "-DSYSV -DUSG"
|
||||
#endif
|
||||
|
||||
#if defined(_IBMR2) || defined(aix)
|
||||
#define imake_ccflags "-Daix -DSYSV"
|
||||
#endif
|
||||
|
||||
#ifdef Mips
|
||||
# if defined(SYSTYPE_BSD) || defined(BSD) || defined(BSD43)
|
||||
# define imake_ccflags "-DBSD43"
|
||||
# else
|
||||
# define imake_ccflags "-DSYSV"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef is68k
|
||||
#define imake_ccflags "-Dluna -Duniosb"
|
||||
#endif
|
||||
|
||||
#ifdef SYSV386
|
||||
# ifdef SVR4
|
||||
# define imake_ccflags "-Xa -DSVR4"
|
||||
# else
|
||||
# define imake_ccflags "-DSYSV"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef SVR4
|
||||
# ifdef i386
|
||||
# define imake_ccflags "-Xa -DSVR4"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef SYSV
|
||||
# ifdef i386
|
||||
# define imake_ccflags "-DSYSV"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef __convex__
|
||||
#define imake_ccflags "-fn -tm c1"
|
||||
#endif
|
||||
|
||||
#ifdef __sxg__
|
||||
#define imake_ccflags "-DSYSV -DUSG -DNOSTDHDRS"
|
||||
#endif
|
||||
|
||||
#ifdef sequent
|
||||
#define imake_ccflags "-DX_NOT_STDC_ENV -DX_NOT_POSIX"
|
||||
#endif
|
||||
|
||||
#ifdef _SEQUENT_
|
||||
#define imake_ccflags "-DSYSV -DUSG"
|
||||
#endif
|
||||
|
||||
#if defined(SX) || defined(PC_UX)
|
||||
#define imake_ccflags "-DSYSV"
|
||||
#endif
|
||||
|
||||
#ifdef nec_ews_svr2
|
||||
#define imake_ccflags "-DUSG"
|
||||
#endif
|
||||
|
||||
#if defined(nec_ews_svr4) || defined(_nec_ews_svr4) || defined(_nec_up) || defined(_nec_ft)
|
||||
#define imake_ccflags "-DSVR4"
|
||||
#endif
|
||||
|
||||
#ifdef MACH
|
||||
#define imake_ccflags "-DNOSTDHDRS"
|
||||
#endif
|
||||
|
||||
#ifdef __FreeBSD__
|
||||
#include <sys/param.h>
|
||||
#if defined(__FreeBSD_version)
|
||||
#if __FreeBSD_version < 500000
|
||||
#define imake_ccflags "-DCPP_IN_LIBEXEC"
|
||||
#endif
|
||||
#else
|
||||
#define imake_ccflags "-DCPP_IN_LIBEXEC"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* this is for OS/2 under EMX. This won't work with DOS */
|
||||
#if defined(__EMX__)
|
||||
#define imake_ccflags "-DBSD43"
|
||||
#endif
|
||||
|
||||
#else /* not CCIMAKE */
|
||||
#ifndef MAKEDEPEND
|
||||
/*
|
||||
* Step 2: dup2
|
||||
* If your OS doesn't have a dup2() system call to duplicate one file
|
||||
* descriptor onto another, define such a mechanism here (if you don't
|
||||
* already fall under the existing category(ies).
|
||||
*/
|
||||
#if defined(SYSV) && !defined(_CRAY) && !defined(Mips) && !defined(_SEQUENT_)
|
||||
#define dup2(fd1,fd2) ((fd1 == fd2) ? fd1 : (close(fd2), \
|
||||
fcntl(fd1, F_DUPFD, fd2)))
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Step 3: FIXUP_CPP_WHITESPACE
|
||||
* If your cpp collapses tabs macro expansions into a single space and
|
||||
* replaces escaped newlines with a space, define this symbol. This will
|
||||
* cause imake to attempt to patch up the generated Makefile by looking
|
||||
* for lines that have colons in them (this is why the rules file escapes
|
||||
* all colons). One way to tell if you need this is to see whether or not
|
||||
* your Makefiles have no tabs in them and lots of @@ strings.
|
||||
*/
|
||||
#if defined(sun) || defined(SYSV) || defined(SVR4) || defined(hcx) || defined(__llvm__)
|
||||
#define FIXUP_CPP_WHITESPACE
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Step 4: USE_CC_E, DEFAULT_CC, DEFAULT_CPP
|
||||
* If you want to use cc -E instead of cpp, define USE_CC_E.
|
||||
* If use cc -E but want a different compiler, define DEFAULT_CC.
|
||||
* If the cpp you need is not in /lib/cpp, define DEFAULT_CPP.
|
||||
*/
|
||||
#ifdef hpux
|
||||
#define USE_CC_E
|
||||
#endif
|
||||
#if defined(_IBMR2) && !defined(DEFAULT_CPP)
|
||||
#define DEFAULT_CPP "/usr/ccs/lib/cpp"
|
||||
#endif
|
||||
#if defined(sun) && (defined(SVR4) || defined(__svr4__) || defined(__SVR4) || defined(__sol__))
|
||||
#define DEFAULT_CPP "/usr/ccs/lib/cpp"
|
||||
#endif
|
||||
#if defined(__NetBSD__) || (defined(__FreeBSD__) && !defined(CPP_IN_LIBEXEC))
|
||||
#define DEFAULT_CPP "/usr/bin/cpp"
|
||||
#endif
|
||||
#ifdef __sxg__
|
||||
#define DEFAULT_CPP "/usr/lib/cpp"
|
||||
#endif
|
||||
#ifdef _CRAY
|
||||
#define DEFAULT_CPP "/lib/pcpp"
|
||||
#endif
|
||||
#if defined(__386BSD__) || defined(__OpenBSD__) \
|
||||
|| (defined(__FreeBSD__) && defined(CPP_IN_LIBEXEC))
|
||||
#define DEFAULT_CPP "/usr/libexec/cpp"
|
||||
#endif
|
||||
#if defined(__FreeBSD__) && (__FreeBSD__ >= 10) && !defined(__llvm__)
|
||||
#undef DEFAULT_CPP
|
||||
#endif
|
||||
#if defined(__sgi) && defined(__ANSI_CPP__)
|
||||
#define USE_CC_E
|
||||
#endif
|
||||
#ifdef MACH
|
||||
#define USE_CC_E
|
||||
#endif
|
||||
#ifdef __minix_vmd
|
||||
#define DEFAULT_CPP "/usr/lib/cpp"
|
||||
#endif
|
||||
#if defined(__EMX__)
|
||||
/* expects cpp in PATH */
|
||||
#define DEFAULT_CPP "cpp"
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Step 5: cpp_argv
|
||||
* The following table contains the flags that should be passed
|
||||
* whenever a Makefile is being generated. If your preprocessor
|
||||
* doesn't predefine any unique symbols, choose one and add it to the
|
||||
* end of this table. Then, do the following:
|
||||
*
|
||||
* a. Use this symbol in Imake.tmpl when setting MacroFile.
|
||||
* b. Put this symbol in the definition of BootstrapCFlags in your
|
||||
* <platform>.cf file.
|
||||
* c. When doing a make World, always add "BOOTSTRAPCFLAGS=-Dsymbol"
|
||||
* to the end of the command line.
|
||||
*
|
||||
* Note that you may define more than one symbol (useful for platforms
|
||||
* that support multiple operating systems).
|
||||
*/
|
||||
|
||||
#define ARGUMENTS 50 /* number of arguments in various arrays */
|
||||
char *cpp_argv[ARGUMENTS] = {
|
||||
"cc", /* replaced by the actual program to exec */
|
||||
"-I.", /* add current directory to include path */
|
||||
#ifdef unix
|
||||
"-Uunix", /* remove unix symbol so that filename unix.c okay */
|
||||
#endif
|
||||
#if defined(__386BSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(MACH) || defined(ISC) || defined(__linux__) || defined(__hpux__) || defined(__vxworks)
|
||||
# ifdef __i386__
|
||||
"-D__i386__",
|
||||
# endif
|
||||
# ifdef __i486__
|
||||
"-D__i486__",
|
||||
# endif
|
||||
# ifdef __i586__
|
||||
"-D__i586__",
|
||||
# endif
|
||||
# ifdef __i686__
|
||||
"-D__i686__",
|
||||
# endif
|
||||
# ifdef __k6__
|
||||
"-D__k6__",
|
||||
# endif
|
||||
# ifdef __ia64__
|
||||
"-D__ia64__",
|
||||
# endif
|
||||
# ifdef __amd64__
|
||||
"-D__amd64__",
|
||||
# endif
|
||||
# ifdef __x86_64__
|
||||
"-D__amd64__",
|
||||
# endif
|
||||
# ifdef __ppc__
|
||||
"-D__powerpc__",
|
||||
# endif
|
||||
# ifdef __ppc64__
|
||||
"-D__powerpc64__",
|
||||
# endif
|
||||
# ifdef __powerpc__
|
||||
"-D__powerpc__",
|
||||
# endif
|
||||
# ifdef __powerpc64__
|
||||
"-D__powerpc64__",
|
||||
# endif
|
||||
|
||||
# if defined(__GNUC__) && !defined(__llvm__)
|
||||
"-traditional",
|
||||
# endif
|
||||
# ifdef __llvm__
|
||||
"-fms-extensions",
|
||||
"-Wno-invalid-token-paste",
|
||||
"-Wno-invalid-pp-token",
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef M4330
|
||||
"-DM4330", /* Tektronix */
|
||||
#endif
|
||||
#ifdef M4310
|
||||
"-DM4310", /* Tektronix */
|
||||
#endif
|
||||
#ifdef sony
|
||||
"-Dsony", /* Sony */
|
||||
#if !defined(SYSTYPE_SYSV) && !defined(_SYSTYPE_SYSV) && NEWSOS < 42
|
||||
"-Dbsd43",
|
||||
#endif
|
||||
#endif
|
||||
#ifdef _IBMR2
|
||||
"-D_IBMR2", /* IBM RS-6000 (we ensured that aix is defined above */
|
||||
#ifndef aix
|
||||
#define aix /* allow BOOTSTRAPCFLAGS="-D_IBMR2" */
|
||||
#endif
|
||||
#endif /* _IBMR2 */
|
||||
#ifdef aix
|
||||
"-Daix", /* AIX instead of AOS */
|
||||
#ifndef ibm
|
||||
#define ibm /* allow BOOTSTRAPCFLAGS="-Daix" */
|
||||
#endif
|
||||
#endif /* aix */
|
||||
#ifdef ibm
|
||||
"-Dibm", /* IBM PS/2 and RT under both AOS and AIX */
|
||||
#endif
|
||||
#ifdef luna
|
||||
"-Dluna", /* OMRON luna 68K and 88K */
|
||||
#ifdef luna1
|
||||
"-Dluna1",
|
||||
#endif
|
||||
#ifdef luna88k /* need not on UniOS-Mach Vers. 1.13 */
|
||||
"-traditional", /* for some older version */
|
||||
#endif /* instead of "-DXCOMM=\\#" */
|
||||
#ifdef uniosb
|
||||
"-Duniosb",
|
||||
#endif
|
||||
#ifdef uniosu
|
||||
"-Duniosu",
|
||||
#endif
|
||||
#endif /* luna */
|
||||
#ifdef _CRAY /* Cray */
|
||||
"-Ucray",
|
||||
#endif
|
||||
#ifdef Mips
|
||||
"-DMips", /* Define and use Mips for Mips Co. OS/mach. */
|
||||
# if defined(SYSTYPE_BSD) || defined(BSD) || defined(BSD43)
|
||||
"-DBSD43", /* Mips RISCOS supports two environments */
|
||||
# else
|
||||
"-DSYSV", /* System V environment is the default */
|
||||
# endif
|
||||
#endif /* Mips */
|
||||
#ifdef MOTOROLA
|
||||
"-DMOTOROLA", /* Motorola Delta Systems */
|
||||
# ifdef SYSV
|
||||
"-DSYSV",
|
||||
# endif
|
||||
# ifdef SVR4
|
||||
"-DSVR4",
|
||||
# endif
|
||||
#endif /* MOTOROLA */
|
||||
#ifdef i386
|
||||
"-Di386",
|
||||
# ifdef SVR4
|
||||
"-DSVR4",
|
||||
# endif
|
||||
# ifdef SYSV
|
||||
"-DSYSV",
|
||||
# ifdef ISC
|
||||
"-DISC",
|
||||
# ifdef ISC40
|
||||
"-DISC40", /* ISC 4.0 */
|
||||
# else
|
||||
# ifdef ISC202
|
||||
"-DISC202", /* ISC 2.0.2 */
|
||||
# else
|
||||
# ifdef ISC30
|
||||
"-DISC30", /* ISC 3.0 */
|
||||
# else
|
||||
"-DISC22", /* ISC 2.2.1 */
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# ifdef ESIX
|
||||
"-DESIX",
|
||||
# endif
|
||||
# ifdef ATT
|
||||
"-DATT",
|
||||
# endif
|
||||
# ifdef DELL
|
||||
"-DDELL",
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
#ifdef SYSV386 /* System V/386 folks, obsolete */
|
||||
"-Di386",
|
||||
# ifdef SVR4
|
||||
"-DSVR4",
|
||||
# endif
|
||||
# ifdef SYSV
|
||||
"-DSYSV",
|
||||
# ifdef ISC
|
||||
"-DISC",
|
||||
# ifdef ISC40
|
||||
"-DISC40", /* ISC 4.0 */
|
||||
# else
|
||||
# ifdef ISC202
|
||||
"-DISC202", /* ISC 2.0.2 */
|
||||
# else
|
||||
# ifdef ISC30
|
||||
"-DISC30", /* ISC 3.0 */
|
||||
# else
|
||||
"-DISC22", /* ISC 2.2.1 */
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# ifdef ESIX
|
||||
"-DESIX",
|
||||
# endif
|
||||
# ifdef ATT
|
||||
"-DATT",
|
||||
# endif
|
||||
# ifdef DELL
|
||||
"-DDELL",
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
#ifdef Oki
|
||||
"-DOki",
|
||||
#endif
|
||||
#ifdef sun
|
||||
#if defined(SVR4) || defined(__svr4__) || defined(__SVR4) || defined(__sol__)
|
||||
"-DSVR4",
|
||||
#endif
|
||||
#endif
|
||||
#ifdef NCR
|
||||
"-DNCR", /* NCR */
|
||||
#endif
|
||||
#ifdef linux
|
||||
"-traditional",
|
||||
"-D__linux__",
|
||||
#endif
|
||||
#ifdef __minix_vmd
|
||||
"-Dminix",
|
||||
#endif
|
||||
|
||||
#if defined(__EMX__)
|
||||
"-traditional",
|
||||
"-Demxos2",
|
||||
#endif
|
||||
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Step 6: DEFAULT_OS_MAJOR_REV, DEFAULT_OS_MINOR_REV, DEFAULT_OS_TEENY_REV,
|
||||
* and DEFAULT_OS_NAME.
|
||||
* If your systems provides a way to generate the default major,
|
||||
* minor, teeny, or system names at runtime add commands below.
|
||||
* The syntax of the _REV strings is 'f fmt' where 'f' is an argument
|
||||
* you would give to uname, and "fmt" is a scanf() format string.
|
||||
* Supported uname arguments are "snrvm", and if you specify multiple
|
||||
* arguments they will be separated by spaces. No more than 5 arguments
|
||||
* may be given. Unlike uname() order of arguments matters.
|
||||
*/
|
||||
#if defined(aix)
|
||||
/* uname -v returns "x" (e.g. "4"), and uname -r returns "y" (e.g. "1") */
|
||||
# define DEFAULT_OS_MAJOR_REV "v %[0-9]"
|
||||
# define DEFAULT_OS_MINOR_REV "r %[0-9]"
|
||||
/* No information available to generate default OSTeenyVersion value. */
|
||||
# define DEFAULT_OS_NAME "srvm %[^\n]"
|
||||
#elif defined(sun) || defined(__linux__)
|
||||
/* uname -r returns "x.y[.z]", e.g. "5.4" or "4.1.3" */
|
||||
# define DEFAULT_OS_MAJOR_REV "r %[0-9]"
|
||||
# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]"
|
||||
# define DEFAULT_OS_TEENY_REV "r %*d.%*d.%[0-9]"
|
||||
# define DEFAULT_OS_NAME "srvm %[^\n]"
|
||||
#elif defined(hpux)
|
||||
/* uname -r returns "W.x.yz", e.g. "B.10.01" */
|
||||
# define DEFAULT_OS_MAJOR_REV "r %*[^.].%[0-9]"
|
||||
# define DEFAULT_OS_MINOR_REV "r %*[^.].%*d.%1s"
|
||||
# define DEFAULT_OS_TEENY_REV "r %*[^.].%*d.%*c%[0-9]"
|
||||
# define DEFAULT_OS_NAME "srvm %[^\n]"
|
||||
#elif defined(__FreeBSD__)
|
||||
/* uname -r returns "x.y[.z]-mumble", e.g. "9.0-RELEASE" or "11.0-CURRENT" */
|
||||
# define DEFAULT_OS_MAJOR_REV "r %[0-9]"
|
||||
# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]"
|
||||
# define DEFAULT_OS_TEENY_REV "v %*s %*s %*s r%[0-9]"
|
||||
# define DEFAULT_OS_NAME "srm %[^\n]"
|
||||
#elif defined(__NetBSD__)
|
||||
/* 386BSD, and BSD/OS too? */
|
||||
/* uname -r returns "x.y[.z]-mumble", e.g. "2.1.5-RELEASE" or "2.2-0801SNAP" */
|
||||
# define DEFAULT_OS_MAJOR_REV "r %[0-9]"
|
||||
# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]"
|
||||
# define DEFAULT_OS_TEENY_REV "r %*d.%*d.%[0-9]"
|
||||
# define DEFAULT_OS_NAME "srm %[^\n]"
|
||||
#elif defined(__OpenBSD__)
|
||||
# define DEFAULT_OS_MAJOR_REV "r %[0-9]"
|
||||
# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]"
|
||||
# define DEFAULT_OS_NAME "srm %[^\n]"
|
||||
#endif
|
||||
|
||||
#else /* else MAKEDEPEND */
|
||||
/*
|
||||
* Step 7: predefs
|
||||
* If your compiler and/or preprocessor define any specific symbols, add
|
||||
* them to the the following table. The definition of struct symtab is
|
||||
* in util/makedepend/def.h.
|
||||
*/
|
||||
#undef DEF_EVALUATE
|
||||
#undef DEF_STRINGIFY
|
||||
#define DEF_EVALUATE(__x) #__x
|
||||
#define DEF_STRINGIFY(_x) DEF_EVALUATE(_x)
|
||||
|
||||
struct symtab predefs[] = {
|
||||
#ifdef ibm032
|
||||
{"ibm032", "1"},
|
||||
#endif
|
||||
#ifdef ibm
|
||||
{"ibm", "1"},
|
||||
#endif
|
||||
#ifdef aix
|
||||
{"aix", "1"},
|
||||
#endif
|
||||
#ifdef sun
|
||||
{"sun", "1"},
|
||||
#endif
|
||||
#ifdef sun2
|
||||
{"sun2", "1"},
|
||||
#endif
|
||||
#ifdef sun3
|
||||
{"sun3", "1"},
|
||||
#endif
|
||||
#ifdef sun4
|
||||
{"sun4", "1"},
|
||||
#endif
|
||||
#ifdef sparc
|
||||
{"sparc", "1"},
|
||||
#endif
|
||||
#ifdef __sparc__
|
||||
{"__sparc__", "1"},
|
||||
#endif
|
||||
#ifdef hpux
|
||||
{"hpux", "1"},
|
||||
#endif
|
||||
#ifdef __hpux
|
||||
{"__hpux", "1"},
|
||||
#endif
|
||||
#ifdef __hp9000s800
|
||||
{"__hp9000s800", "1"},
|
||||
#endif
|
||||
#ifdef __hp9000s700
|
||||
{"__hp9000s700", "1"},
|
||||
#endif
|
||||
#ifdef vax
|
||||
{"vax", "1"},
|
||||
#endif
|
||||
#ifdef VMS
|
||||
{"VMS", "1"},
|
||||
#endif
|
||||
#ifdef cray
|
||||
{"cray", "1"},
|
||||
#endif
|
||||
#ifdef CRAY
|
||||
{"CRAY", "1"},
|
||||
#endif
|
||||
#ifdef _CRAY
|
||||
{"_CRAY", "1"},
|
||||
#endif
|
||||
#ifdef att
|
||||
{"att", "1"},
|
||||
#endif
|
||||
#ifdef mips
|
||||
{"mips", "1"},
|
||||
#endif
|
||||
#ifdef __mips__
|
||||
{"__mips__", "1"},
|
||||
#endif
|
||||
#ifdef stellar
|
||||
{"stellar", "1"},
|
||||
#endif
|
||||
#ifdef mc68000
|
||||
{"mc68000", "1"},
|
||||
#endif
|
||||
#ifdef mc68020
|
||||
{"mc68020", "1"},
|
||||
#endif
|
||||
#if defined(__GNUC__) && !defined(__linux__)
|
||||
{"__GNUC__", DEF_STRINGIFY(__GNUC__)},
|
||||
#endif
|
||||
#ifdef __GNUC_MINOR__
|
||||
{"__GNUC_MINOR__", DEF_STRINGIFY(__GNUC_MINOR__)},
|
||||
#endif
|
||||
#if __STDC__
|
||||
{"__STDC__", "1"},
|
||||
#endif
|
||||
#ifdef __HIGHC__
|
||||
{"__HIGHC__", "1"},
|
||||
#endif
|
||||
#ifdef CMU
|
||||
{"CMU", "1"},
|
||||
#endif
|
||||
#ifdef luna
|
||||
{"luna", "1"},
|
||||
#ifdef luna1
|
||||
{"luna1", "1"},
|
||||
#endif
|
||||
#ifdef luna2
|
||||
{"luna2", "1"},
|
||||
#endif
|
||||
#ifdef luna88k
|
||||
{"luna88k", "1"},
|
||||
#endif
|
||||
#ifdef uniosb
|
||||
{"uniosb", "1"},
|
||||
#endif
|
||||
#ifdef uniosu
|
||||
{"uniosu", "1"},
|
||||
#endif
|
||||
#endif
|
||||
#ifdef ieeep754
|
||||
{"ieeep754", "1"},
|
||||
#endif
|
||||
#ifdef is68k
|
||||
{"is68k", "1"},
|
||||
#endif
|
||||
#ifdef m68k
|
||||
{"m68k", "1"},
|
||||
#endif
|
||||
#ifdef m88k
|
||||
{"m88k", "1"},
|
||||
#endif
|
||||
#ifdef __m88k__
|
||||
{"__m88k__", "1"},
|
||||
#endif
|
||||
#ifdef bsd43
|
||||
{"bsd43", "1"},
|
||||
#endif
|
||||
#ifdef hcx
|
||||
{"hcx", "1"},
|
||||
#endif
|
||||
#ifdef sony
|
||||
{"sony", "1"},
|
||||
#ifdef SYSTYPE_SYSV
|
||||
{"SYSTYPE_SYSV", "1"},
|
||||
#endif
|
||||
#ifdef _SYSTYPE_SYSV
|
||||
{"_SYSTYPE_SYSV", "1"},
|
||||
#endif
|
||||
#endif
|
||||
#ifdef __alpha
|
||||
{"__alpha", "1"},
|
||||
#endif
|
||||
#ifdef __unix__
|
||||
{"__unix__", "1"},
|
||||
#endif
|
||||
#ifdef __sxg__
|
||||
{"__sxg__", "1"},
|
||||
#endif
|
||||
#ifdef _SEQUENT_
|
||||
{"_SEQUENT_", "1"},
|
||||
{"__STDC__", "1"},
|
||||
#endif
|
||||
#ifdef nec_ews_svr2
|
||||
{"nec_ews_svr2", "1"},
|
||||
#endif
|
||||
#ifdef nec_ews_svr4
|
||||
{"nec_ews_svr4", "1"},
|
||||
#endif
|
||||
#ifdef _nec_ews_svr4
|
||||
{"_nec_ews_svr4", "1"},
|
||||
#endif
|
||||
#ifdef _nec_up
|
||||
{"_nec_up", "1"},
|
||||
#endif
|
||||
#ifdef SX
|
||||
{"SX", "1"},
|
||||
#endif
|
||||
#ifdef nec
|
||||
{"nec", "1"},
|
||||
#endif
|
||||
#ifdef _nec_ft
|
||||
{"_nec_ft", "1"},
|
||||
#endif
|
||||
#ifdef PC_UX
|
||||
{"PC_UX", "1"},
|
||||
#endif
|
||||
#ifdef sgi
|
||||
{"sgi", "1"},
|
||||
#endif
|
||||
#ifdef __sgi
|
||||
{"__sgi", "1"},
|
||||
#endif
|
||||
#ifdef __FreeBSD__
|
||||
{"__FreeBSD__", "1"},
|
||||
#endif
|
||||
#ifdef __OpenBSD__
|
||||
{"__OpenBSD__", "1"},
|
||||
#endif
|
||||
#ifdef __NetBSD__
|
||||
{"__NetBSD__", "1"},
|
||||
#endif
|
||||
#ifdef __EMX__
|
||||
{"__EMX__", "1"},
|
||||
#endif
|
||||
# ifdef ia64
|
||||
{"ia64", "1"},
|
||||
# endif
|
||||
# ifdef __ia64__
|
||||
{"__ia64__", "1"},
|
||||
# endif
|
||||
# if defined (amd64) || defined (x86_64)
|
||||
{"amd64", "1"},
|
||||
{"x86_64", "1"},
|
||||
# endif
|
||||
# if defined (__amd64__) || defined (__x86_64__)
|
||||
{"__amd64__", "1"},
|
||||
{"__x86_64__", "1"},
|
||||
# endif
|
||||
# ifdef __i386
|
||||
{"__i386", "1"},
|
||||
# endif
|
||||
# ifdef __i386__
|
||||
{"__i386__", "1"},
|
||||
# endif
|
||||
# ifdef __i486__
|
||||
{"__i486__", "1"},
|
||||
# endif
|
||||
# ifdef __i586__
|
||||
{"__i586__", "1"},
|
||||
# endif
|
||||
# ifdef __i686__
|
||||
{"__i686__", "1"},
|
||||
# endif
|
||||
# ifdef __k6__
|
||||
{"__k6__", "1"},
|
||||
# endif
|
||||
# ifdef i386
|
||||
{"i386", "1"},
|
||||
# endif
|
||||
# ifdef i486
|
||||
{"i486", "1"},
|
||||
# endif
|
||||
# ifdef i586
|
||||
{"i586", "1"},
|
||||
# endif
|
||||
# ifdef i686
|
||||
{ "i686", "1"},
|
||||
# endif
|
||||
# ifdef k6
|
||||
{"k6", "1"},
|
||||
# endif
|
||||
# ifdef sparc
|
||||
{"sparc", "1"},
|
||||
# endif
|
||||
# ifdef __sparc__
|
||||
{"__sparc__", "1"},
|
||||
# endif
|
||||
#if defined(__ppc__)
|
||||
{"__ppc__", "1"},
|
||||
#endif
|
||||
#if defined(__ppc64__)
|
||||
{"__ppc64__", "1"},
|
||||
#endif
|
||||
# ifdef __powerpc__
|
||||
{"__powerpc__", "1"},
|
||||
# endif
|
||||
# ifdef __powerpc64__
|
||||
{"__powerpc64__", "1"},
|
||||
# endif
|
||||
#if defined(__BIG_ENDIAN__)
|
||||
{"__BIG_ENDIAN__", "1"},
|
||||
#endif
|
||||
#if defined(__LITTLE_ENDIAN__)
|
||||
{"__LITTLE_ENDIAN__", "1"},
|
||||
#endif
|
||||
#if defined(__vxworks)
|
||||
{"vxworks", "1"},
|
||||
#endif
|
||||
/* add any additional symbols before this line */
|
||||
{NULL, NULL}
|
||||
};
|
||||
|
||||
#endif /* MAKEDEPEND */
|
||||
#endif /* CCIMAKE */
|
|
@ -1,81 +0,0 @@
|
|||
XCOMM $tog: Imakefile /main/27 1997/04/30 15:38:09 kaleb $
|
||||
|
||||
SRCS = include.c main.c parse.c pr.c cppsetup.c ifparser.c
|
||||
OBJS = include.o main.o parse.o pr.o cppsetup.o ifparser.o
|
||||
|
||||
XCOMM Some compilers generate fatal errors if an -L directory does
|
||||
XCOMM not exist. Since BUILDLIBDIR may not exist yet suppress its use.
|
||||
LDPRELIB =
|
||||
LDPRELIBS =
|
||||
|
||||
#if HasGcc && !defined(PreIncDir)
|
||||
#define PreIncDir /usr/local/lib/gcc-include
|
||||
#endif
|
||||
#ifdef PreIncDir
|
||||
PREINCDIR = PreIncDir
|
||||
PREINC_DEFINES = -DPREINCDIR=\"$(PREINCDIR)\"
|
||||
#endif
|
||||
#ifndef StdIncDir
|
||||
#define StdIncDir /usr/include
|
||||
#endif
|
||||
STDINCDIR = StdIncDir
|
||||
STDINC_DEFINES = -DINCLUDEDIR=\"$(STDINCDIR)\"
|
||||
#ifdef PostIncDir
|
||||
POSTINCDIR = PostIncDir
|
||||
POSTINC_DEFINES = -DPOSTINCDIR=\"$(POSTINCDIR)\"
|
||||
#endif
|
||||
INC_DEFINES = $(PREINC_DEFINES) $(STDINC_DEFINES) $(POSTINC_DEFINES)
|
||||
OSUF = .Osuf
|
||||
OSUF_DEFINES = -DOBJSUFFIX=\"$(OSUF)\"
|
||||
MAIN_DEFINES = $(INC_DEFINES) $(SIGNAL_DEFINES) $(OSUF_DEFINES)
|
||||
DEPEND_DEFINES = $(DEPENDDEFINES)
|
||||
INCLUDES = -I$(IMAKESRC) -I$(TOP)/include $(TOP_X_INCLUDES)/X11
|
||||
|
||||
DEPLIBS =
|
||||
|
||||
#if defined(MacIIArchitecture) || defined(SequentArchitecture)
|
||||
XBSDLIB = /**/
|
||||
#endif
|
||||
|
||||
AllTarget(ProgramTargetName(makedepend))
|
||||
|
||||
/*
|
||||
* bootstrapping: want to build the real makedepend
|
||||
* only after we've run "make depend" here. That way
|
||||
* the program has the right dependencies for clearmake.
|
||||
* Save the bootstrap original files so they can be winked in
|
||||
* to other views.
|
||||
*/
|
||||
|
||||
#if HasClearmake
|
||||
bootstrap:
|
||||
test -h X11 || $(LN) TOPDIR/include X11
|
||||
$(MAKE) -f Makefile.proto TOP_INCLUDES=-I. makedepend
|
||||
|
||||
depend::
|
||||
$(MAKE) -f Makefile.proto depend
|
||||
test -d bootstrap || mkdir bootstrap
|
||||
$(MV) *.o makedepend bootstrap
|
||||
$(MAKE) -f Makefile.proto makedepend
|
||||
|
||||
clean::
|
||||
$(RM) -r bootstrap
|
||||
$(RM) X11
|
||||
#else
|
||||
bootstrap:
|
||||
#endif /* HasClearmake */
|
||||
|
||||
clean::
|
||||
$(RM) Makefile.proto
|
||||
|
||||
#undef InstallManPage
|
||||
#define InstallManPage(file,dest) /* as nothing */
|
||||
#if CrossCompiling
|
||||
ComplexHostProgramTarget(makedepend)
|
||||
#else
|
||||
ComplexProgramTarget(makedepend)
|
||||
#endif
|
||||
|
||||
SpecialCObjectRule(main,$(ICONFIGFILES),$(MAIN_DEFINES))
|
||||
|
||||
InstallManPageLong(mkdepend,$(MANDIR),makedepend)
|
|
@ -1,75 +0,0 @@
|
|||
#
|
||||
# $XConsortium: cpp.ed,v 1.3 89/12/12 12:44:18 jim Exp $
|
||||
#
|
||||
# $Locker $
|
||||
#
|
||||
/struct symtab stab/d
|
||||
/struct symtab \*defloc;/d
|
||||
/struct symtab \*udfloc;/d
|
||||
/struct symtab \*incloc;/d
|
||||
/struct symtab \*ifloc;/d
|
||||
/struct symtab \*elsloc;/d
|
||||
/struct symtab \*eifloc;/d
|
||||
/struct symtab \*ifdloc;/d
|
||||
/struct symtab \*ifnloc;/d
|
||||
/struct symtab \*ysysloc;/d
|
||||
/struct symtab \*varloc;/d
|
||||
/struct symtab \*lneloc;/d
|
||||
/struct symtab \*ulnloc;/d
|
||||
/struct symtab \*uflloc;/d
|
||||
/^sayline(/s/$/ DELETED/p
|
||||
.,/^}/d
|
||||
/^unfill(/s/$/ DELETED/p
|
||||
.-1,/^}/d
|
||||
/^doincl(/s/$/ DELETED/p
|
||||
.-1,/^}/d
|
||||
/^equfrm(/s/$/ DELETED/p
|
||||
.,/^}/d
|
||||
/^dodef(/s/$/ DELETED/p
|
||||
.-1,/^}/d
|
||||
/^control(/s/$/ DELETED/p
|
||||
.-1,/^}/d
|
||||
/^savestring(/s/$/ DELETED/p
|
||||
.-1,/^}/d
|
||||
/^stsym(/s/$/ DELETED/p
|
||||
.-1,/^}/d
|
||||
/^ppsym(/s/$/ DELETED/p
|
||||
.-1,/^}/d
|
||||
/^yyerror(/s/$/ DELETED/p
|
||||
.,/^}/d
|
||||
/^ppwarn(/s/$/ DELETED/p
|
||||
.,/^}/d
|
||||
/^lookup(/s/$/ DELETED/p
|
||||
.-1,/^}/d
|
||||
/^subst(/s/$/ DELETED/p
|
||||
.-1,/^}/d
|
||||
/^trmdir(/s/$/ DELETED/p
|
||||
.-1,/^}/d
|
||||
/^copy(/s/$/ DELETED/p
|
||||
.-1,/^}/d
|
||||
/^pperror(/s/$/ DELETED/p
|
||||
.,/^}/d
|
||||
/^main(/s/$/ CHANGED to cpp_varsetup(argc,argv)/p
|
||||
.c
|
||||
cpp_varsetup(argc,argv)
|
||||
.
|
||||
/^strdex(/s/$/ DELETED/p
|
||||
.-1,/^}/d
|
||||
/^ for(i=1; i<argc; i++)/s/$/ To the end DELETED/p
|
||||
.,$c
|
||||
}
|
||||
.
|
||||
/^dump(/s/$/ DELETED/p
|
||||
.,/^}/c
|
||||
dump() { fatal("dump\n"); }
|
||||
.
|
||||
/^refill(/s/$/ DELETED/p
|
||||
.,/^}/c
|
||||
refill() { fatal("refill\n"); }
|
||||
.
|
||||
/^slookup(/s/$/ DELETED/p
|
||||
.-1,/^}/c
|
||||
static struct symtab *slookup() { fatal("slookup\n"); }
|
||||
.
|
||||
w
|
||||
q
|
|
@ -1,262 +0,0 @@
|
|||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $TOG: cppsetup.c /main/18 1998/02/06 11:09:35 kaleb $ */
|
||||
/*
|
||||
|
||||
Copyright (c) 1993, 1994, 1998 The Open Group
|
||||
|
||||
All Rights Reserved.
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of The Open Group shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from The Open Group.
|
||||
|
||||
*/
|
||||
|
||||
#include "def.h"
|
||||
|
||||
#ifdef CPP
|
||||
/*
|
||||
* This file is strictly for the sake of cpy.y and yylex.c (if
|
||||
* you indeed have the source for cpp).
|
||||
*/
|
||||
#define IB 1
|
||||
#define SB 2
|
||||
#define NB 4
|
||||
#define CB 8
|
||||
#define QB 16
|
||||
#define WB 32
|
||||
#define SALT '#'
|
||||
#if pdp11 | vax | ns16000 | mc68000 | ibm032
|
||||
#define COFF 128
|
||||
#else
|
||||
#define COFF 0
|
||||
#endif
|
||||
/*
|
||||
* These variables used by cpy.y and yylex.c
|
||||
*/
|
||||
extern char *outp, *inp, *newp, *pend;
|
||||
extern char *ptrtab;
|
||||
extern char fastab[];
|
||||
extern char slotab[];
|
||||
|
||||
/*
|
||||
* cppsetup
|
||||
*/
|
||||
struct filepointer *currentfile;
|
||||
struct inclist *currentinc;
|
||||
|
||||
cppsetup(line, filep, inc)
|
||||
char *line;
|
||||
struct filepointer *filep;
|
||||
struct inclist *inc;
|
||||
{
|
||||
char *p, savec;
|
||||
static boolean setupdone = FALSE;
|
||||
boolean value;
|
||||
|
||||
if (!setupdone) {
|
||||
cpp_varsetup();
|
||||
setupdone = TRUE;
|
||||
}
|
||||
|
||||
currentfile = filep;
|
||||
currentinc = inc;
|
||||
inp = newp = line;
|
||||
for (p=newp; *p; p++)
|
||||
;
|
||||
|
||||
/*
|
||||
* put a newline back on the end, and set up pend, etc.
|
||||
*/
|
||||
*p++ = '\n';
|
||||
savec = *p;
|
||||
*p = '\0';
|
||||
pend = p;
|
||||
|
||||
ptrtab = slotab+COFF;
|
||||
*--inp = SALT;
|
||||
outp=inp;
|
||||
value = yyparse();
|
||||
*p = savec;
|
||||
return(value);
|
||||
}
|
||||
|
||||
struct symtab **lookup(symbol)
|
||||
char *symbol;
|
||||
{
|
||||
static struct symtab *undefined;
|
||||
struct symtab **sp;
|
||||
|
||||
sp = isdefined(symbol, currentinc, NULL);
|
||||
if (sp == NULL) {
|
||||
sp = &undefined;
|
||||
(*sp)->s_value = NULL;
|
||||
}
|
||||
return (sp);
|
||||
}
|
||||
|
||||
pperror(tag, x0,x1,x2,x3,x4)
|
||||
int tag,x0,x1,x2,x3,x4;
|
||||
{
|
||||
warning("\"%s\", line %d: ", currentinc->i_file, currentfile->f_line);
|
||||
warning(x0,x1,x2,x3,x4);
|
||||
}
|
||||
|
||||
|
||||
yyerror(s)
|
||||
char *s;
|
||||
{
|
||||
fatalerr("Fatal error: %s\n", s);
|
||||
}
|
||||
#else /* not CPP */
|
||||
|
||||
#include "ifparser.h"
|
||||
struct _parse_data {
|
||||
struct filepointer *filep;
|
||||
struct inclist *inc;
|
||||
const char *line;
|
||||
};
|
||||
|
||||
static const char *
|
||||
my_if_errors (ip, cp, expecting)
|
||||
IfParser *ip;
|
||||
const char *cp;
|
||||
const char *expecting;
|
||||
{
|
||||
struct _parse_data *pd = (struct _parse_data *) ip->data;
|
||||
int lineno = pd->filep->f_line;
|
||||
char *filename = pd->inc->i_file;
|
||||
char prefix[300];
|
||||
int prefixlen;
|
||||
int i;
|
||||
|
||||
snprintf (prefix, 300, "\"%s\":%d", filename, lineno);
|
||||
prefixlen = strlen(prefix);
|
||||
fprintf (stderr, "%s: %s", prefix, pd->line);
|
||||
i = cp - pd->line;
|
||||
if (i > 0 && pd->line[i-1] != '\n') {
|
||||
putc ('\n', stderr);
|
||||
}
|
||||
for (i += prefixlen + 3; i > 0; i--) {
|
||||
putc (' ', stderr);
|
||||
}
|
||||
fprintf (stderr, "^--- expecting %s\n", expecting);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
#define MAXNAMELEN 256
|
||||
|
||||
static struct symtab **
|
||||
lookup_variable (ip, var, len)
|
||||
IfParser *ip;
|
||||
const char *var;
|
||||
int len;
|
||||
{
|
||||
char tmpbuf[MAXNAMELEN + 1];
|
||||
struct _parse_data *pd = (struct _parse_data *) ip->data;
|
||||
|
||||
if (len > MAXNAMELEN)
|
||||
return 0;
|
||||
|
||||
strncpy (tmpbuf, var, len);
|
||||
tmpbuf[len] = '\0';
|
||||
return isdefined (tmpbuf, pd->inc, NULL);
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
my_eval_defined (ip, var, len)
|
||||
IfParser *ip;
|
||||
const char *var;
|
||||
int len;
|
||||
{
|
||||
if (lookup_variable (ip, var, len))
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define isvarfirstletter(ccc) (isalpha(ccc) || (ccc) == '_')
|
||||
|
||||
static long
|
||||
my_eval_variable (ip, var, len)
|
||||
IfParser *ip;
|
||||
const char *var;
|
||||
int len;
|
||||
{
|
||||
long val;
|
||||
struct symtab **s;
|
||||
|
||||
s = lookup_variable (ip, var, len);
|
||||
if (!s)
|
||||
return 0;
|
||||
do {
|
||||
var = (*s)->s_value;
|
||||
if (!isvarfirstletter((int)*var) || !strcmp((*s)->s_name, var))
|
||||
break;
|
||||
s = lookup_variable (ip, var, strlen(var));
|
||||
} while (s);
|
||||
|
||||
var = ParseIfExpression(ip, var, &val);
|
||||
if (var && *var) debug(4, ("extraneous: '%s'\n", var));
|
||||
return val;
|
||||
}
|
||||
|
||||
|
||||
int cppsetup(line, filep, inc)
|
||||
char *line;
|
||||
struct filepointer *filep;
|
||||
struct inclist *inc;
|
||||
{
|
||||
IfParser ip;
|
||||
struct _parse_data pd;
|
||||
long val = 0;
|
||||
|
||||
pd.filep = filep;
|
||||
pd.inc = inc;
|
||||
pd.line = line;
|
||||
ip.funcs.handle_error = my_if_errors;
|
||||
ip.funcs.eval_defined = my_eval_defined;
|
||||
ip.funcs.eval_variable = my_eval_variable;
|
||||
ip.data = (char *) &pd;
|
||||
|
||||
(void) ParseIfExpression (&ip, line, &val);
|
||||
if (val)
|
||||
return IF;
|
||||
else
|
||||
return IFFALSE;
|
||||
}
|
||||
#endif /* CPP */
|
||||
|
|
@ -1,172 +0,0 @@
|
|||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $TOG: def.h /main/32 1998/03/25 08:17:45 kaleb $ */
|
||||
/*
|
||||
|
||||
Copyright (c) 1993, 1994, 1998 The Open Group.
|
||||
|
||||
All Rights Reserved.
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of The Open Group shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from The Open Group.
|
||||
|
||||
*/
|
||||
|
||||
#include "Xos.h"
|
||||
#include "Xfuncproto.h"
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
#ifndef X_NOT_POSIX
|
||||
#ifndef _POSIX_SOURCE
|
||||
#define _POSIX_SOURCE
|
||||
#endif
|
||||
#endif
|
||||
#include <sys/types.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
#define MAXDEFINES 512
|
||||
#define MAXFILES 1024
|
||||
#define MAXDIRS 64
|
||||
#define SYMTABINC 10 /* must be > 1 for define() to work right */
|
||||
#define TRUE 1
|
||||
#define FALSE 0
|
||||
|
||||
/* the following must match the directives table in main.c */
|
||||
#define IF 0
|
||||
#define IFDEF 1
|
||||
#define IFNDEF 2
|
||||
#define ELSE 3
|
||||
#define ENDIF 4
|
||||
#define DEFINE 5
|
||||
#define UNDEF 6
|
||||
#define INCLUDE 7
|
||||
#define LINE 8
|
||||
#define PRAGMA 9
|
||||
#define ERROR 10
|
||||
#define IDENT 11
|
||||
#define SCCS 12
|
||||
#define ELIF 13
|
||||
#define EJECT 14
|
||||
#define WARNING 15
|
||||
#define IFFALSE 16 /* pseudo value --- never matched */
|
||||
#define ELIFFALSE 17 /* pseudo value --- never matched */
|
||||
#define INCLUDEDOT 18 /* pseudo value --- never matched */
|
||||
#define IFGUESSFALSE 19 /* pseudo value --- never matched */
|
||||
#define ELIFGUESSFALSE 20 /* pseudo value --- never matched */
|
||||
|
||||
#ifdef DEBUG
|
||||
extern int _debugmask;
|
||||
/*
|
||||
* debug levels are:
|
||||
*
|
||||
* 0 show ifn*(def)*,endif
|
||||
* 1 trace defined/!defined
|
||||
* 2 show #include
|
||||
* 3 show #include SYMBOL
|
||||
* 4-6 unused
|
||||
*/
|
||||
#define debug(level,arg) { if (_debugmask & (1 << level)) warning arg; }
|
||||
#else
|
||||
#define debug(level,arg) /**/
|
||||
#endif /* DEBUG */
|
||||
|
||||
typedef unsigned char boolean;
|
||||
|
||||
struct symtab {
|
||||
char *s_name;
|
||||
char *s_value;
|
||||
};
|
||||
|
||||
/* possible i_flag */
|
||||
#define DEFCHECKED (1<<0) /* whether defines have been checked */
|
||||
#define NOTIFIED (1<<1) /* whether we have revealed includes */
|
||||
#define MARKED (1<<2) /* whether it's in the makefile */
|
||||
#define SEARCHED (1<<3) /* whether we have read this */
|
||||
#define FINISHED (1<<4) /* whether we are done reading this */
|
||||
#define INCLUDED_SYM (1<<5) /* whether #include SYMBOL was found
|
||||
Can't use i_list if TRUE */
|
||||
struct inclist {
|
||||
char *i_incstring; /* string from #include line */
|
||||
char *i_file; /* path name of the include file */
|
||||
struct inclist **i_list; /* list of files it itself includes */
|
||||
int i_listlen; /* length of i_list */
|
||||
struct symtab **i_defs; /* symbol table for this file and its
|
||||
children when merged */
|
||||
int i_ndefs; /* current # defines */
|
||||
boolean *i_merged; /* whether we have merged child
|
||||
defines */
|
||||
unsigned char i_flags;
|
||||
};
|
||||
|
||||
struct filepointer {
|
||||
char *f_p;
|
||||
char *f_base;
|
||||
char *f_end;
|
||||
long f_len;
|
||||
long f_line;
|
||||
};
|
||||
|
||||
#ifndef X_NOT_STDC_ENV
|
||||
#include <stdlib.h>
|
||||
#else
|
||||
char *malloc();
|
||||
char *realloc();
|
||||
#endif
|
||||
|
||||
int match();
|
||||
char *copy();
|
||||
char *base_name();
|
||||
char *our_getline();
|
||||
struct symtab **slookup();
|
||||
struct symtab **isdefined();
|
||||
struct symtab **fdefined();
|
||||
struct filepointer *getfile();
|
||||
void included_by();
|
||||
struct inclist *newinclude();
|
||||
void inc_clean();
|
||||
struct inclist *inc_path();
|
||||
void freefile();
|
||||
void define2();
|
||||
void define();
|
||||
int find_includes();
|
||||
void recursive_pr_include();
|
||||
void add_include();
|
||||
int cppsetup();
|
||||
|
||||
#if NeedVarargsPrototypes
|
||||
extern void fatalerr(char *, ...);
|
||||
extern void warning(char *, ...);
|
||||
extern void warning1(char *, ...);
|
||||
#endif
|
|
@ -1,597 +0,0 @@
|
|||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/*
|
||||
* $XConsortium: ifparser.c /main/10 1996/09/28 16:15:18 rws $
|
||||
*
|
||||
* Copyright 1992 Network Computing Devices, Inc.
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software and its
|
||||
* documentation for any purpose and without fee is hereby granted, provided
|
||||
* that the above copyright notice appear in all copies and that both that
|
||||
* copyright notice and this permission notice appear in supporting
|
||||
* documentation, and that the name of Network Computing Devices may not be
|
||||
* used in advertising or publicity pertaining to distribution of the software
|
||||
* without specific, written prior permission. Network Computing Devices makes
|
||||
* no representations about the suitability of this software for any purpose.
|
||||
* It is provided ``as is'' without express or implied warranty.
|
||||
*
|
||||
* NETWORK COMPUTING DEVICES DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
|
||||
* SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
|
||||
* IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE FOR ANY SPECIAL,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
* Author: Jim Fulton
|
||||
* Network Computing Devices, Inc.
|
||||
*
|
||||
* Simple if statement processor
|
||||
*
|
||||
* This module can be used to evaluate string representations of C language
|
||||
* if constructs. It accepts the following grammar:
|
||||
*
|
||||
* EXPRESSION := VALUE
|
||||
* | VALUE BINOP EXPRESSION
|
||||
*
|
||||
* VALUE := '(' EXPRESSION ')'
|
||||
* | '!' VALUE
|
||||
* | '-' VALUE
|
||||
* | 'defined' '(' variable ')'
|
||||
* | 'defined' variable
|
||||
* | # variable '(' variable-list ')'
|
||||
* | variable
|
||||
* | number
|
||||
*
|
||||
* BINOP := '*' | '/' | '%'
|
||||
* | '+' | '-'
|
||||
* | '<<' | '>>'
|
||||
* | '<' | '>' | '<=' | '>='
|
||||
* | '==' | '!='
|
||||
* | '&' | '|'
|
||||
* | '&&' | '||'
|
||||
*
|
||||
* The normal C order of precidence is supported.
|
||||
*
|
||||
*
|
||||
* External Entry Points:
|
||||
*
|
||||
* ParseIfExpression parse a string for #if
|
||||
*/
|
||||
|
||||
#include "ifparser.h"
|
||||
#include <ctype.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <limits.h>
|
||||
|
||||
/****************************************************************************
|
||||
Internal Macros and Utilities for Parser
|
||||
****************************************************************************/
|
||||
|
||||
#define DO(val) if (!(val)) return NULL
|
||||
#define CALLFUNC(ggg,fff) (*((ggg)->funcs.fff))
|
||||
#define SKIPSPACE(ccc) while (isspace((int)*ccc)) ccc++
|
||||
#define isvarfirstletter(ccc) (isalpha((int)ccc) || (ccc) == '_')
|
||||
|
||||
|
||||
static const char *
|
||||
parse_variable (g, cp, varp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
const char **varp;
|
||||
{
|
||||
SKIPSPACE (cp);
|
||||
|
||||
if (!isvarfirstletter (*cp))
|
||||
return CALLFUNC(g, handle_error) (g, cp, "variable name");
|
||||
|
||||
*varp = cp;
|
||||
/* EMPTY */
|
||||
for (cp++; isalnum((int)*cp) || *cp == '_'; cp++) ;
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
static const char *
|
||||
parse_number (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
long *valp;
|
||||
{
|
||||
long base = 10;
|
||||
SKIPSPACE (cp);
|
||||
|
||||
if (!isdigit((int)*cp))
|
||||
return CALLFUNC(g, handle_error) (g, cp, "number");
|
||||
|
||||
*valp = 0;
|
||||
|
||||
if (*cp == '0') {
|
||||
cp++;
|
||||
if ((*cp == 'x') || (*cp == 'X')) {
|
||||
base = 16;
|
||||
cp++;
|
||||
} else {
|
||||
base = 8;
|
||||
}
|
||||
}
|
||||
|
||||
/* Ignore overflows and assume ASCII, what source is usually written in */
|
||||
while (1) {
|
||||
int increment = -1;
|
||||
if (base == 8) {
|
||||
if ((*cp >= '0') && (*cp <= '7'))
|
||||
increment = *cp++ - '0';
|
||||
} else if (base == 16) {
|
||||
if ((*cp >= '0') && (*cp <= '9'))
|
||||
increment = *cp++ - '0';
|
||||
else if ((*cp >= 'A') && (*cp <= 'F'))
|
||||
increment = *cp++ - ('A' - 10);
|
||||
else if ((*cp >= 'a') && (*cp <= 'f'))
|
||||
increment = *cp++ - ('a' - 10);
|
||||
} else { /* Decimal */
|
||||
if ((*cp >= '0') && (*cp <= '9'))
|
||||
increment = *cp++ - '0';
|
||||
}
|
||||
if (increment < 0)
|
||||
break;
|
||||
*valp = (*valp * base) + increment;
|
||||
}
|
||||
|
||||
/* Skip trailing qualifiers */
|
||||
while (*cp == 'U' || *cp == 'u' || *cp == 'L' || *cp == 'l') cp++;
|
||||
return cp;
|
||||
}
|
||||
|
||||
static const char *
|
||||
parse_character (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
long *valp;
|
||||
{
|
||||
char val;
|
||||
|
||||
SKIPSPACE (cp);
|
||||
if (*cp == '\\')
|
||||
switch (cp[1]) {
|
||||
case 'n': val = '\n'; break;
|
||||
case 't': val = '\t'; break;
|
||||
case 'v': val = '\v'; break;
|
||||
case 'b': val = '\b'; break;
|
||||
case 'r': val = '\r'; break;
|
||||
case 'f': val = '\f'; break;
|
||||
case 'a': val = '\a'; break;
|
||||
case '\\': val = '\\'; break;
|
||||
case '?': val = '\?'; break;
|
||||
case '\'': val = '\''; break;
|
||||
case '\"': val = '\"'; break;
|
||||
case 'x': val = (char) strtol (cp + 2, NULL, 16); break;
|
||||
default: val = (char) strtol (cp + 1, NULL, 8); break;
|
||||
}
|
||||
else
|
||||
val = *cp;
|
||||
while (*cp != '\'') cp++;
|
||||
*valp = (long) val;
|
||||
return cp;
|
||||
}
|
||||
|
||||
static const char *
|
||||
parse_value (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
long *valp;
|
||||
{
|
||||
const char *var, *varend;
|
||||
|
||||
*valp = 0;
|
||||
|
||||
SKIPSPACE (cp);
|
||||
if (!*cp)
|
||||
return cp;
|
||||
|
||||
switch (*cp) {
|
||||
case '(':
|
||||
DO (cp = ParseIfExpression (g, cp + 1, valp));
|
||||
SKIPSPACE (cp);
|
||||
if (*cp != ')')
|
||||
return CALLFUNC(g, handle_error) (g, cp, ")");
|
||||
|
||||
return cp + 1; /* skip the right paren */
|
||||
|
||||
case '!':
|
||||
DO (cp = parse_value (g, cp + 1, valp));
|
||||
*valp = !(*valp);
|
||||
return cp;
|
||||
|
||||
case '-':
|
||||
DO (cp = parse_value (g, cp + 1, valp));
|
||||
*valp = -(*valp);
|
||||
return cp;
|
||||
|
||||
case '+':
|
||||
DO (cp = parse_value (g, cp + 1, valp));
|
||||
*valp = +(*valp);
|
||||
return cp;
|
||||
|
||||
case '~':
|
||||
DO (cp = parse_value (g, cp + 1, valp));
|
||||
*valp = ~(*valp);
|
||||
return cp;
|
||||
|
||||
case '#':
|
||||
DO (cp = parse_variable (g, cp + 1, &var));
|
||||
SKIPSPACE (cp);
|
||||
if (*cp != '(')
|
||||
return CALLFUNC(g, handle_error) (g, cp, "(");
|
||||
do {
|
||||
DO (cp = parse_variable (g, cp + 1, &var));
|
||||
SKIPSPACE (cp);
|
||||
} while (*cp && *cp != ')');
|
||||
if (*cp != ')')
|
||||
return CALLFUNC(g, handle_error) (g, cp, ")");
|
||||
*valp = 1; /* XXX */
|
||||
return cp + 1;
|
||||
|
||||
case '\'':
|
||||
DO (cp = parse_character (g, cp + 1, valp));
|
||||
if (*cp != '\'')
|
||||
return CALLFUNC(g, handle_error) (g, cp, "'");
|
||||
return cp + 1;
|
||||
|
||||
case 'd':
|
||||
if (strncmp (cp, "defined", 7) == 0 && !isalnum((int)cp[7])) {
|
||||
int paren = 0;
|
||||
int len;
|
||||
|
||||
cp += 7;
|
||||
SKIPSPACE (cp);
|
||||
if (*cp == '(') {
|
||||
paren = 1;
|
||||
cp++;
|
||||
}
|
||||
DO (cp = parse_variable (g, cp, &var));
|
||||
len = cp - var;
|
||||
SKIPSPACE (cp);
|
||||
if (paren && *cp != ')')
|
||||
return CALLFUNC(g, handle_error) (g, cp, ")");
|
||||
*valp = (*(g->funcs.eval_defined)) (g, var, len);
|
||||
return cp + paren; /* skip the right paren */
|
||||
}
|
||||
/* fall out */
|
||||
}
|
||||
|
||||
if (isdigit((int)*cp)) {
|
||||
DO (cp = parse_number (g, cp, valp));
|
||||
} else if (!isvarfirstletter(*cp))
|
||||
return CALLFUNC(g, handle_error) (g, cp, "variable or number");
|
||||
else {
|
||||
DO (cp = parse_variable (g, cp, &var));
|
||||
varend = cp;
|
||||
SKIPSPACE(cp);
|
||||
if (*cp != '(') {
|
||||
*valp = (*(g->funcs.eval_variable)) (g, var, varend - var);
|
||||
} else {
|
||||
do {
|
||||
long dummy;
|
||||
DO (cp = ParseIfExpression (g, cp + 1, &dummy));
|
||||
SKIPSPACE(cp);
|
||||
if (*cp == ')')
|
||||
break;
|
||||
if (*cp != ',')
|
||||
return CALLFUNC(g, handle_error) (g, cp, ",");
|
||||
} while (1);
|
||||
|
||||
*valp = 1; /* XXX */
|
||||
cp++;
|
||||
}
|
||||
}
|
||||
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static const char *
|
||||
parse_product (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
long *valp;
|
||||
{
|
||||
long rightval;
|
||||
|
||||
DO (cp = parse_value (g, cp, valp));
|
||||
SKIPSPACE (cp);
|
||||
|
||||
switch (*cp) {
|
||||
case '*':
|
||||
DO (cp = parse_product (g, cp + 1, &rightval));
|
||||
*valp = (*valp * rightval);
|
||||
break;
|
||||
|
||||
case '/':
|
||||
DO (cp = parse_product (g, cp + 1, &rightval));
|
||||
if (rightval)
|
||||
*valp = (*valp / rightval);
|
||||
else
|
||||
*valp = LONG_MAX;
|
||||
break;
|
||||
|
||||
case '%':
|
||||
DO (cp = parse_product (g, cp + 1, &rightval));
|
||||
*valp = (*valp % rightval);
|
||||
break;
|
||||
}
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
static const char *
|
||||
parse_sum (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
long *valp;
|
||||
{
|
||||
long rightval;
|
||||
|
||||
DO (cp = parse_product (g, cp, valp));
|
||||
SKIPSPACE (cp);
|
||||
|
||||
switch (*cp) {
|
||||
case '+':
|
||||
DO (cp = parse_sum (g, cp + 1, &rightval));
|
||||
*valp = (*valp + rightval);
|
||||
break;
|
||||
|
||||
case '-':
|
||||
DO (cp = parse_sum (g, cp + 1, &rightval));
|
||||
*valp = (*valp - rightval);
|
||||
break;
|
||||
}
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
static const char *
|
||||
parse_shift (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
long *valp;
|
||||
{
|
||||
long rightval;
|
||||
|
||||
DO (cp = parse_sum (g, cp, valp));
|
||||
SKIPSPACE (cp);
|
||||
|
||||
switch (*cp) {
|
||||
case '<':
|
||||
if (cp[1] == '<') {
|
||||
DO (cp = parse_shift (g, cp + 2, &rightval));
|
||||
*valp = (*valp << rightval);
|
||||
}
|
||||
break;
|
||||
|
||||
case '>':
|
||||
if (cp[1] == '>') {
|
||||
DO (cp = parse_shift (g, cp + 2, &rightval));
|
||||
*valp = (*valp >> rightval);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
static const char *
|
||||
parse_inequality (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
long *valp;
|
||||
{
|
||||
long rightval;
|
||||
|
||||
DO (cp = parse_shift (g, cp, valp));
|
||||
SKIPSPACE (cp);
|
||||
|
||||
switch (*cp) {
|
||||
case '<':
|
||||
if (cp[1] == '=') {
|
||||
DO (cp = parse_inequality (g, cp + 2, &rightval));
|
||||
*valp = (*valp <= rightval);
|
||||
} else {
|
||||
DO (cp = parse_inequality (g, cp + 1, &rightval));
|
||||
*valp = (*valp < rightval);
|
||||
}
|
||||
break;
|
||||
|
||||
case '>':
|
||||
if (cp[1] == '=') {
|
||||
DO (cp = parse_inequality (g, cp + 2, &rightval));
|
||||
*valp = (*valp >= rightval);
|
||||
} else {
|
||||
DO (cp = parse_inequality (g, cp + 1, &rightval));
|
||||
*valp = (*valp > rightval);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
static const char *
|
||||
parse_equality (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
long *valp;
|
||||
{
|
||||
long rightval;
|
||||
|
||||
DO (cp = parse_inequality (g, cp, valp));
|
||||
SKIPSPACE (cp);
|
||||
|
||||
switch (*cp) {
|
||||
case '=':
|
||||
if (cp[1] == '=')
|
||||
cp++;
|
||||
DO (cp = parse_equality (g, cp + 1, &rightval));
|
||||
*valp = (*valp == rightval);
|
||||
break;
|
||||
|
||||
case '!':
|
||||
if (cp[1] != '=')
|
||||
break;
|
||||
DO (cp = parse_equality (g, cp + 2, &rightval));
|
||||
*valp = (*valp != rightval);
|
||||
break;
|
||||
}
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
static const char *
|
||||
parse_band (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
long *valp;
|
||||
{
|
||||
long rightval;
|
||||
|
||||
DO (cp = parse_equality (g, cp, valp));
|
||||
SKIPSPACE (cp);
|
||||
|
||||
switch (*cp) {
|
||||
case '&':
|
||||
if (cp[1] != '&') {
|
||||
DO (cp = parse_band (g, cp + 1, &rightval));
|
||||
*valp = (*valp & rightval);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
static const char *
|
||||
parse_bxor (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
long *valp;
|
||||
{
|
||||
long rightval;
|
||||
|
||||
DO (cp = parse_band (g, cp, valp));
|
||||
SKIPSPACE (cp);
|
||||
|
||||
switch (*cp) {
|
||||
case '^':
|
||||
DO (cp = parse_bxor (g, cp + 1, &rightval));
|
||||
*valp = (*valp ^ rightval);
|
||||
break;
|
||||
}
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
static const char *
|
||||
parse_bor (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
long *valp;
|
||||
{
|
||||
long rightval;
|
||||
|
||||
DO (cp = parse_bxor (g, cp, valp));
|
||||
SKIPSPACE (cp);
|
||||
|
||||
switch (*cp) {
|
||||
case '|':
|
||||
if (cp[1] != '|') {
|
||||
DO (cp = parse_bor (g, cp + 1, &rightval));
|
||||
*valp = (*valp | rightval);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
static const char *
|
||||
parse_land (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
long *valp;
|
||||
{
|
||||
long rightval;
|
||||
|
||||
DO (cp = parse_bor (g, cp, valp));
|
||||
SKIPSPACE (cp);
|
||||
|
||||
switch (*cp) {
|
||||
case '&':
|
||||
if (cp[1] != '&')
|
||||
return CALLFUNC(g, handle_error) (g, cp, "&&");
|
||||
DO (cp = parse_land (g, cp + 2, &rightval));
|
||||
*valp = (*valp && rightval);
|
||||
break;
|
||||
}
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
static const char *
|
||||
parse_lor (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
long *valp;
|
||||
{
|
||||
long rightval;
|
||||
|
||||
DO (cp = parse_land (g, cp, valp));
|
||||
SKIPSPACE (cp);
|
||||
|
||||
switch (*cp) {
|
||||
case '|':
|
||||
if (cp[1] != '|')
|
||||
return CALLFUNC(g, handle_error) (g, cp, "||");
|
||||
DO (cp = parse_lor (g, cp + 2, &rightval));
|
||||
*valp = (*valp || rightval);
|
||||
break;
|
||||
}
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
External Entry Points
|
||||
****************************************************************************/
|
||||
|
||||
const char *
|
||||
ParseIfExpression (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
long *valp;
|
||||
{
|
||||
return parse_lor (g, cp, valp);
|
||||
}
|
||||
|
||||
|
|
@ -1,105 +0,0 @@
|
|||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/*
|
||||
* $XConsortium: ifparser.h /main/4 1996/09/28 16:15:24 rws $
|
||||
*
|
||||
* Copyright 1992 Network Computing Devices, Inc.
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software and its
|
||||
* documentation for any purpose and without fee is hereby granted, provided
|
||||
* that the above copyright notice appear in all copies and that both that
|
||||
* copyright notice and this permission notice appear in supporting
|
||||
* documentation, and that the name of Network Computing Devices may not be
|
||||
* used in advertising or publicity pertaining to distribution of the software
|
||||
* without specific, written prior permission. Network Computing Devices makes
|
||||
* no representations about the suitability of this software for any purpose.
|
||||
* It is provided ``as is'' without express or implied warranty.
|
||||
*
|
||||
* NETWORK COMPUTING DEVICES DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
|
||||
* SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
|
||||
* IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE FOR ANY SPECIAL,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
* Author: Jim Fulton
|
||||
* Network Computing Devices, Inc.
|
||||
*
|
||||
* Simple if statement processor
|
||||
*
|
||||
* This module can be used to evaluate string representations of C language
|
||||
* if constructs. It accepts the following grammar:
|
||||
*
|
||||
* EXPRESSION := VALUE
|
||||
* | VALUE BINOP EXPRESSION
|
||||
*
|
||||
* VALUE := '(' EXPRESSION ')'
|
||||
* | '!' VALUE
|
||||
* | '-' VALUE
|
||||
* | 'defined' '(' variable ')'
|
||||
* | variable
|
||||
* | number
|
||||
*
|
||||
* BINOP := '*' | '/' | '%'
|
||||
* | '+' | '-'
|
||||
* | '<<' | '>>'
|
||||
* | '<' | '>' | '<=' | '>='
|
||||
* | '==' | '!='
|
||||
* | '&' | '|'
|
||||
* | '&&' | '||'
|
||||
*
|
||||
* The normal C order of precidence is supported.
|
||||
*
|
||||
*
|
||||
* External Entry Points:
|
||||
*
|
||||
* ParseIfExpression parse a string for #if
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#define const /**/
|
||||
typedef int Bool;
|
||||
#define False 0
|
||||
#define True 1
|
||||
|
||||
typedef struct _if_parser {
|
||||
struct { /* functions */
|
||||
char *(*handle_error) (/* struct _if_parser *, const char *,
|
||||
const char * */);
|
||||
long (*eval_variable) (/* struct _if_parser *, const char *, int */);
|
||||
int (*eval_defined) (/* struct _if_parser *, const char *, int */);
|
||||
} funcs;
|
||||
char *data;
|
||||
} IfParser;
|
||||
|
||||
char *ParseIfExpression (
|
||||
#ifdef __STDC__
|
||||
IfParser *,
|
||||
const char *,
|
||||
long *
|
||||
#endif
|
||||
);
|
||||
|
|
@ -1,338 +0,0 @@
|
|||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $TOG: include.c /main/21 1998/02/06 11:10:06 kaleb $ */
|
||||
/*
|
||||
|
||||
Copyright (c) 1993, 1994, 1998 The Open Group
|
||||
|
||||
All Rights Reserved.
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of The Open Group shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from The Open Group.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
#include "def.h"
|
||||
|
||||
extern struct inclist inclist[ MAXFILES ],
|
||||
*inclistp;
|
||||
extern char *includedirs[ ];
|
||||
extern char *notdotdot[ ];
|
||||
extern boolean show_where_not;
|
||||
extern boolean warn_multiple;
|
||||
|
||||
boolean
|
||||
isdot(p)
|
||||
char *p;
|
||||
{
|
||||
if(p && *p++ == '.' && *p++ == '\0')
|
||||
return(TRUE);
|
||||
return(FALSE);
|
||||
}
|
||||
|
||||
boolean
|
||||
isdotdot(p)
|
||||
char *p;
|
||||
{
|
||||
if(p && *p++ == '.' && *p++ == '.' && *p++ == '\0')
|
||||
return(TRUE);
|
||||
return(FALSE);
|
||||
}
|
||||
|
||||
boolean
|
||||
issymbolic(dir, component)
|
||||
char *dir, *component;
|
||||
{
|
||||
#ifdef S_IFLNK
|
||||
struct stat st;
|
||||
char buf[ BUFSIZ ], **pp;
|
||||
|
||||
snprintf(buf, BUFSIZ, "%s%s%s", dir, *dir ? "/" : "", component);
|
||||
for (pp=notdotdot; *pp; pp++)
|
||||
if (strcmp(*pp, buf) == 0)
|
||||
return (TRUE);
|
||||
if (lstat(buf, &st) == 0
|
||||
&& (st.st_mode & S_IFMT) == S_IFLNK) {
|
||||
*pp++ = copy(buf);
|
||||
if (pp >= ¬dotdot[ MAXDIRS ])
|
||||
fatalerr("out of .. dirs, increase MAXDIRS\n");
|
||||
return(TRUE);
|
||||
}
|
||||
#endif
|
||||
return(FALSE);
|
||||
}
|
||||
|
||||
/*
|
||||
* Occasionally, pathnames are created that look like .../x/../y
|
||||
* Any of the 'x/..' sequences within the name can be eliminated.
|
||||
* (but only if 'x' is not a symbolic link!!)
|
||||
*/
|
||||
void
|
||||
remove_dotdot(path)
|
||||
char *path;
|
||||
{
|
||||
char *end, *from, *to, **cp;
|
||||
char *components[ MAXFILES ],
|
||||
newpath[ BUFSIZ ];
|
||||
boolean component_copied;
|
||||
|
||||
/*
|
||||
* slice path up into components.
|
||||
*/
|
||||
to = newpath;
|
||||
if (*path == '/')
|
||||
*to++ = '/';
|
||||
*to = '\0';
|
||||
cp = components;
|
||||
for (from=end=path; *end; end++)
|
||||
if (*end == '/') {
|
||||
while (*end == '/')
|
||||
*end++ = '\0';
|
||||
if (*from)
|
||||
*cp++ = from;
|
||||
from = end;
|
||||
}
|
||||
*cp++ = from;
|
||||
*cp = NULL;
|
||||
|
||||
/*
|
||||
* Recursively remove all 'x/..' component pairs.
|
||||
*/
|
||||
cp = components;
|
||||
while(*cp) {
|
||||
if (!isdot(*cp) && !isdotdot(*cp) && isdotdot(*(cp+1))
|
||||
&& !issymbolic(newpath, *cp))
|
||||
{
|
||||
char **fp = cp + 2;
|
||||
char **tp = cp;
|
||||
|
||||
do
|
||||
*tp++ = *fp; /* move all the pointers down */
|
||||
while (*fp++);
|
||||
if (cp != components)
|
||||
cp--; /* go back and check for nested ".." */
|
||||
} else {
|
||||
cp++;
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Concatenate the remaining path elements.
|
||||
*/
|
||||
cp = components;
|
||||
component_copied = FALSE;
|
||||
while(*cp) {
|
||||
if (component_copied)
|
||||
*to++ = '/';
|
||||
component_copied = TRUE;
|
||||
for (from = *cp; *from; )
|
||||
*to++ = *from++;
|
||||
*to = '\0';
|
||||
cp++;
|
||||
}
|
||||
*to++ = '\0';
|
||||
|
||||
/*
|
||||
* copy the reconstituted path back to our pointer.
|
||||
*/
|
||||
strncpy(path, newpath, BUFSIZ);
|
||||
}
|
||||
|
||||
/*
|
||||
* Add an include file to the list of those included by 'file'.
|
||||
*/
|
||||
struct inclist *newinclude(newfile, incstring)
|
||||
char *newfile, *incstring;
|
||||
{
|
||||
struct inclist *ip;
|
||||
|
||||
/*
|
||||
* First, put this file on the global list of include files.
|
||||
*/
|
||||
ip = inclistp++;
|
||||
if (inclistp == inclist + MAXFILES - 1)
|
||||
fatalerr("out of space: increase MAXFILES\n");
|
||||
ip->i_file = copy(newfile);
|
||||
|
||||
if (incstring == NULL)
|
||||
ip->i_incstring = ip->i_file;
|
||||
else
|
||||
ip->i_incstring = copy(incstring);
|
||||
|
||||
return(ip);
|
||||
}
|
||||
|
||||
void
|
||||
included_by(ip, newfile)
|
||||
struct inclist *ip, *newfile;
|
||||
{
|
||||
int i;
|
||||
|
||||
if (ip == NULL)
|
||||
return;
|
||||
/*
|
||||
* Put this include file (newfile) on the list of files included
|
||||
* by 'file'. If 'file' is NULL, then it is not an include
|
||||
* file itself (i.e. was probably mentioned on the command line).
|
||||
* If it is already on the list, don't stick it on again.
|
||||
*/
|
||||
if (ip->i_list == NULL) {
|
||||
ip->i_list = (struct inclist **)
|
||||
malloc(sizeof(struct inclist *) * ++ip->i_listlen);
|
||||
ip->i_merged = (boolean *)
|
||||
malloc(sizeof(boolean) * ip->i_listlen);
|
||||
} else {
|
||||
for (i=0; i<ip->i_listlen; i++)
|
||||
if (ip->i_list[ i ] == newfile) {
|
||||
i = strlen(newfile->i_file);
|
||||
if (!(ip->i_flags & INCLUDED_SYM) &&
|
||||
!(i > 2 &&
|
||||
newfile->i_file[i-1] == 'c' &&
|
||||
newfile->i_file[i-2] == '.'))
|
||||
{
|
||||
/* only bitch if ip has */
|
||||
/* no #include SYMBOL lines */
|
||||
/* and is not a .c file */
|
||||
if (warn_multiple)
|
||||
{
|
||||
warning("%s includes %s more than once!\n",
|
||||
ip->i_file, newfile->i_file);
|
||||
warning1("Already have\n");
|
||||
for (i=0; i<ip->i_listlen; i++)
|
||||
warning1("\t%s\n", ip->i_list[i]->i_file);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
ip->i_list = (struct inclist **) realloc(ip->i_list,
|
||||
sizeof(struct inclist *) * ++ip->i_listlen);
|
||||
ip->i_merged = (boolean *)
|
||||
realloc(ip->i_merged, sizeof(boolean) * ip->i_listlen);
|
||||
}
|
||||
ip->i_list[ ip->i_listlen-1 ] = newfile;
|
||||
ip->i_merged[ ip->i_listlen-1 ] = FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
inc_clean ()
|
||||
{
|
||||
struct inclist *ip;
|
||||
|
||||
for (ip = inclist; ip < inclistp; ip++) {
|
||||
ip->i_flags &= ~MARKED;
|
||||
}
|
||||
}
|
||||
|
||||
struct inclist *inc_path(file, include, dot)
|
||||
char *file,
|
||||
*include;
|
||||
boolean dot;
|
||||
{
|
||||
static char path[ BUFSIZ ];
|
||||
char **pp, *p;
|
||||
struct inclist *ip;
|
||||
struct stat st;
|
||||
boolean found = FALSE;
|
||||
|
||||
/*
|
||||
* Check all previously found include files for a path that
|
||||
* has already been expanded.
|
||||
*/
|
||||
for (ip = inclist; ip->i_file; ip++)
|
||||
if ((strcmp(ip->i_incstring, include) == 0) &&
|
||||
!(ip->i_flags & INCLUDED_SYM))
|
||||
{
|
||||
found = TRUE;
|
||||
break;
|
||||
}
|
||||
|
||||
/*
|
||||
* If the path was surrounded by "" or is an absolute path,
|
||||
* then check the exact path provided.
|
||||
*/
|
||||
if (!found && (dot || *include == '/')) {
|
||||
if (stat(include, &st) == 0) {
|
||||
ip = newinclude(include, include);
|
||||
found = TRUE;
|
||||
}
|
||||
else if (show_where_not)
|
||||
warning1("\tnot in %s\n", include);
|
||||
}
|
||||
|
||||
/*
|
||||
* If the path was surrounded by "" see if this include file is in the
|
||||
* directory of the file being parsed.
|
||||
*/
|
||||
if (!found && dot) {
|
||||
for (p=file+strlen(file); p>file; p--)
|
||||
if (*p == '/')
|
||||
break;
|
||||
if (p == file)
|
||||
strncpy(path, include, BUFSIZ);
|
||||
else {
|
||||
strncpy(path, file, (p-file) + 1);
|
||||
path[ (p-file) + 1 ] = '\0';
|
||||
strncpy(path + (p-file) + 1, include,
|
||||
BUFSIZ - (p-file) - 1);
|
||||
}
|
||||
remove_dotdot(path);
|
||||
if (stat(path, &st) == 0) {
|
||||
ip = newinclude(path, include);
|
||||
found = TRUE;
|
||||
}
|
||||
else if (show_where_not)
|
||||
warning1("\tnot in %s\n", path);
|
||||
}
|
||||
|
||||
/*
|
||||
* Check the include directories specified. (standard include dir
|
||||
* should be at the end.)
|
||||
*/
|
||||
if (!found)
|
||||
for (pp = includedirs; *pp; pp++) {
|
||||
snprintf(path, BUFSIZ, "%s/%s", *pp, include);
|
||||
remove_dotdot(path);
|
||||
if (stat(path, &st) == 0) {
|
||||
ip = newinclude(path, include);
|
||||
found = TRUE;
|
||||
break;
|
||||
}
|
||||
else if (show_where_not)
|
||||
warning1("\tnot in %s\n", path);
|
||||
}
|
||||
|
||||
if (!found)
|
||||
ip = NULL;
|
||||
return(ip);
|
||||
}
|
|
@ -1,754 +0,0 @@
|
|||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $TOG: main.c /main/86 1998/03/25 08:17:50 kaleb $ */
|
||||
/*
|
||||
|
||||
Copyright (c) 1993, 1994, 1998 The Open Group
|
||||
|
||||
All Rights Reserved.
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of The Open Group shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from The Open Group.
|
||||
|
||||
*/
|
||||
|
||||
#include "def.h"
|
||||
#ifdef hpux
|
||||
#define sigvec sigvector
|
||||
#endif /* hpux */
|
||||
|
||||
#ifdef X_POSIX_C_SOURCE
|
||||
#define _POSIX_C_SOURCE X_POSIX_C_SOURCE
|
||||
#include <signal.h>
|
||||
#undef _POSIX_C_SOURCE
|
||||
#else
|
||||
#if defined(X_NOT_POSIX) || defined(_POSIX_SOURCE)
|
||||
#include <signal.h>
|
||||
#else
|
||||
#define _POSIX_SOURCE
|
||||
#include <signal.h>
|
||||
#undef _POSIX_SOURCE
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if NeedVarargsPrototypes
|
||||
#include <stdarg.h>
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
int _debugmask;
|
||||
#endif
|
||||
|
||||
char *ProgramName;
|
||||
|
||||
char *directives[] = {
|
||||
"if",
|
||||
"ifdef",
|
||||
"ifndef",
|
||||
"else",
|
||||
"endif",
|
||||
"define",
|
||||
"undef",
|
||||
"include",
|
||||
"line",
|
||||
"pragma",
|
||||
"error",
|
||||
"ident",
|
||||
"sccs",
|
||||
"elif",
|
||||
"eject",
|
||||
"warning",
|
||||
NULL
|
||||
};
|
||||
|
||||
#define MAKEDEPEND
|
||||
#include "imakemdep.h" /* from config sources */
|
||||
#undef MAKEDEPEND
|
||||
|
||||
struct inclist inclist[ MAXFILES ],
|
||||
*inclistp = inclist,
|
||||
maininclist;
|
||||
|
||||
char *filelist[ MAXFILES ];
|
||||
char *includedirs[ MAXDIRS + 1 ];
|
||||
char *notdotdot[ MAXDIRS ];
|
||||
char *objprefix = "";
|
||||
char *objsuffix = OBJSUFFIX;
|
||||
char *startat = "# DO NOT DELETE";
|
||||
int width = 78;
|
||||
boolean append = FALSE;
|
||||
boolean printed = FALSE;
|
||||
boolean verbose = FALSE;
|
||||
boolean show_where_not = FALSE;
|
||||
boolean warn_multiple = FALSE; /* Warn on multiple includes of same file */
|
||||
|
||||
void freefile();
|
||||
void redirect();
|
||||
#if !NeedVarargsPrototypes
|
||||
void fatalerr();
|
||||
void warning();
|
||||
void warning1();
|
||||
#endif
|
||||
|
||||
static
|
||||
#ifdef SIGNALRETURNSINT
|
||||
int
|
||||
#else
|
||||
void
|
||||
#endif
|
||||
catch (sig)
|
||||
int sig;
|
||||
{
|
||||
fflush (stdout);
|
||||
fatalerr ("got signal %d\n", sig);
|
||||
}
|
||||
|
||||
#if defined(USG) || (defined(i386) && defined(SYSV))
|
||||
#define USGISH
|
||||
#endif
|
||||
|
||||
#ifndef USGISH
|
||||
#ifndef _POSIX_SOURCE
|
||||
#define sigaction sigvec
|
||||
#define sa_handler sv_handler
|
||||
#define sa_mask sv_mask
|
||||
#define sa_flags sv_flags
|
||||
#endif
|
||||
struct sigaction sig_act;
|
||||
#endif /* USGISH */
|
||||
|
||||
int main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
{
|
||||
char **fp = filelist;
|
||||
char **incp = includedirs;
|
||||
char *p;
|
||||
struct inclist *ip;
|
||||
char *makefile = NULL;
|
||||
struct filepointer *filecontent;
|
||||
struct symtab *psymp = predefs;
|
||||
char *endmarker = NULL;
|
||||
char *defincdir = NULL;
|
||||
|
||||
ProgramName = argv[0];
|
||||
|
||||
while (psymp->s_name)
|
||||
{
|
||||
define2(psymp->s_name, psymp->s_value, &maininclist);
|
||||
psymp++;
|
||||
}
|
||||
if (argc == 2 && argv[1][0] == '@') {
|
||||
struct stat ast;
|
||||
int afd;
|
||||
char *args;
|
||||
char **nargv;
|
||||
int nargc;
|
||||
char quotechar = '\0';
|
||||
|
||||
nargc = 1;
|
||||
if ((afd = open(argv[1]+1, O_RDONLY)) < 0)
|
||||
fatalerr("cannot open \"%s\"\n", argv[1]+1);
|
||||
fstat(afd, &ast);
|
||||
args = (char *)malloc(ast.st_size + 1);
|
||||
if ((ast.st_size = read(afd, args, ast.st_size)) < 0)
|
||||
fatalerr("failed to read %s\n", argv[1]+1);
|
||||
args[ast.st_size] = '\0';
|
||||
close(afd);
|
||||
for (p = args; *p; p++) {
|
||||
if (quotechar) {
|
||||
if (quotechar == '\\' ||
|
||||
(*p == quotechar && p[-1] != '\\'))
|
||||
quotechar = '\0';
|
||||
continue;
|
||||
}
|
||||
switch (*p) {
|
||||
case '\\':
|
||||
case '"':
|
||||
case '\'':
|
||||
quotechar = *p;
|
||||
break;
|
||||
case ' ':
|
||||
case '\n':
|
||||
*p = '\0';
|
||||
if (p > args && p[-1])
|
||||
nargc++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (p[-1])
|
||||
nargc++;
|
||||
nargv = (char **)malloc(nargc * sizeof(char *));
|
||||
nargv[0] = argv[0];
|
||||
argc = 1;
|
||||
for (p = args; argc < nargc; p += strlen(p) + 1)
|
||||
if (*p) nargv[argc++] = p;
|
||||
argv = nargv;
|
||||
}
|
||||
for(argc--, argv++; argc; argc--, argv++) {
|
||||
/* if looking for endmarker then check before parsing */
|
||||
if (endmarker && strcmp (endmarker, *argv) == 0) {
|
||||
endmarker = NULL;
|
||||
continue;
|
||||
}
|
||||
if (**argv != '-') {
|
||||
/* treat +thing as an option for C++ */
|
||||
if (endmarker && **argv == '+')
|
||||
continue;
|
||||
*fp++ = argv[0];
|
||||
continue;
|
||||
}
|
||||
switch(argv[0][1]) {
|
||||
case '-':
|
||||
endmarker = &argv[0][2];
|
||||
if (endmarker[0] == '\0') endmarker = "--";
|
||||
break;
|
||||
case 'D':
|
||||
if (argv[0][2] == '\0') {
|
||||
argv++;
|
||||
argc--;
|
||||
}
|
||||
for (p=argv[0] + 2; *p ; p++)
|
||||
if (*p == '=') {
|
||||
*p = ' ';
|
||||
break;
|
||||
}
|
||||
define(argv[0] + 2, &maininclist);
|
||||
break;
|
||||
case 'I':
|
||||
if (incp >= includedirs + MAXDIRS)
|
||||
fatalerr("Too many -I flags.\n");
|
||||
*incp++ = argv[0]+2;
|
||||
if (**(incp-1) == '\0') {
|
||||
*(incp-1) = *(++argv);
|
||||
argc--;
|
||||
}
|
||||
break;
|
||||
case 'i':
|
||||
if (strncmp(argv[0]+2, "system", 6) == 0) {
|
||||
if (incp >= includedirs + MAXDIRS)
|
||||
fatalerr("Too many -I flags.\n");
|
||||
*incp++ = argv[0]+8;
|
||||
if (**(incp-1) == '\0') {
|
||||
*(incp-1) = *(++argv);
|
||||
argc--;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'Y':
|
||||
defincdir = argv[0]+2;
|
||||
break;
|
||||
/* do not use if endmarker processing */
|
||||
case 'a':
|
||||
if (endmarker) break;
|
||||
append = TRUE;
|
||||
break;
|
||||
case 'w':
|
||||
if (endmarker) break;
|
||||
if (argv[0][2] == '\0') {
|
||||
argv++;
|
||||
argc--;
|
||||
width = atoi(argv[0]);
|
||||
} else
|
||||
width = atoi(argv[0]+2);
|
||||
break;
|
||||
case 'o':
|
||||
if (endmarker) break;
|
||||
if (argv[0][2] == '\0') {
|
||||
argv++;
|
||||
argc--;
|
||||
objsuffix = argv[0];
|
||||
} else
|
||||
objsuffix = argv[0]+2;
|
||||
break;
|
||||
case 'p':
|
||||
if (endmarker) break;
|
||||
if (argv[0][2] == '\0') {
|
||||
argv++;
|
||||
argc--;
|
||||
objprefix = argv[0];
|
||||
} else
|
||||
objprefix = argv[0]+2;
|
||||
break;
|
||||
case 'v':
|
||||
if (endmarker) break;
|
||||
verbose = TRUE;
|
||||
#ifdef DEBUG
|
||||
if (argv[0][2])
|
||||
_debugmask = atoi(argv[0]+2);
|
||||
#endif
|
||||
break;
|
||||
case 's':
|
||||
if (endmarker) break;
|
||||
startat = argv[0]+2;
|
||||
if (*startat == '\0') {
|
||||
startat = *(++argv);
|
||||
argc--;
|
||||
}
|
||||
if (*startat != '#')
|
||||
fatalerr("-s flag's value should start %s\n",
|
||||
"with '#'.");
|
||||
break;
|
||||
case 'f':
|
||||
if (endmarker) break;
|
||||
makefile = argv[0]+2;
|
||||
if (*makefile == '\0') {
|
||||
makefile = *(++argv);
|
||||
argc--;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'm':
|
||||
warn_multiple = TRUE;
|
||||
break;
|
||||
|
||||
/* Ignore -O, -g so we can just pass ${CFLAGS} to
|
||||
makedepend
|
||||
*/
|
||||
case 'O':
|
||||
case 'g':
|
||||
break;
|
||||
default:
|
||||
if (endmarker) break;
|
||||
/* fatalerr("unknown opt = %s\n", argv[0]); */
|
||||
warning("ignoring option %s\n", argv[0]);
|
||||
}
|
||||
}
|
||||
if (!defincdir) {
|
||||
#ifdef PREINCDIR
|
||||
if (incp >= includedirs + MAXDIRS)
|
||||
fatalerr("Too many -I flags.\n");
|
||||
*incp++ = PREINCDIR;
|
||||
#endif
|
||||
if (incp >= includedirs + MAXDIRS)
|
||||
fatalerr("Too many -I flags.\n");
|
||||
*incp++ = INCLUDEDIR;
|
||||
#ifdef POSTINCDIR
|
||||
if (incp >= includedirs + MAXDIRS)
|
||||
fatalerr("Too many -I flags.\n");
|
||||
*incp++ = POSTINCDIR;
|
||||
#endif
|
||||
} else if (*defincdir) {
|
||||
if (incp >= includedirs + MAXDIRS)
|
||||
fatalerr("Too many -I flags.\n");
|
||||
*incp++ = defincdir;
|
||||
}
|
||||
|
||||
redirect(startat, makefile);
|
||||
|
||||
/*
|
||||
* catch signals.
|
||||
*/
|
||||
#ifdef USGISH
|
||||
/* should really reset SIGINT to SIG_IGN if it was. */
|
||||
#ifdef SIGHUP
|
||||
signal (SIGHUP, catch);
|
||||
#endif
|
||||
signal (SIGINT, catch);
|
||||
#ifdef SIGQUIT
|
||||
signal (SIGQUIT, catch);
|
||||
#endif
|
||||
signal (SIGILL, catch);
|
||||
#ifdef SIGBUS
|
||||
signal (SIGBUS, catch);
|
||||
#endif
|
||||
signal (SIGSEGV, catch);
|
||||
#ifdef SIGSYS
|
||||
signal (SIGSYS, catch);
|
||||
#endif
|
||||
#else
|
||||
sig_act.sa_handler = catch;
|
||||
#ifdef _POSIX_SOURCE
|
||||
sigemptyset(&sig_act.sa_mask);
|
||||
sigaddset(&sig_act.sa_mask, SIGINT);
|
||||
sigaddset(&sig_act.sa_mask, SIGQUIT);
|
||||
#ifdef SIGBUS
|
||||
sigaddset(&sig_act.sa_mask, SIGBUS);
|
||||
#endif
|
||||
sigaddset(&sig_act.sa_mask, SIGILL);
|
||||
sigaddset(&sig_act.sa_mask, SIGSEGV);
|
||||
sigaddset(&sig_act.sa_mask, SIGHUP);
|
||||
sigaddset(&sig_act.sa_mask, SIGPIPE);
|
||||
#ifdef SIGSYS
|
||||
sigaddset(&sig_act.sa_mask, SIGSYS);
|
||||
#endif
|
||||
#else
|
||||
sig_act.sa_mask = ((1<<(SIGINT -1))
|
||||
|(1<<(SIGQUIT-1))
|
||||
#ifdef SIGBUS
|
||||
|(1<<(SIGBUS-1))
|
||||
#endif
|
||||
|(1<<(SIGILL-1))
|
||||
|(1<<(SIGSEGV-1))
|
||||
|(1<<(SIGHUP-1))
|
||||
|(1<<(SIGPIPE-1))
|
||||
#ifdef SIGSYS
|
||||
|(1<<(SIGSYS-1))
|
||||
#endif
|
||||
);
|
||||
#endif /* _POSIX_SOURCE */
|
||||
sig_act.sa_flags = 0;
|
||||
sigaction(SIGHUP, &sig_act, (struct sigaction *)0);
|
||||
sigaction(SIGINT, &sig_act, (struct sigaction *)0);
|
||||
sigaction(SIGQUIT, &sig_act, (struct sigaction *)0);
|
||||
sigaction(SIGILL, &sig_act, (struct sigaction *)0);
|
||||
#ifdef SIGBUS
|
||||
sigaction(SIGBUS, &sig_act, (struct sigaction *)0);
|
||||
#endif
|
||||
sigaction(SIGSEGV, &sig_act, (struct sigaction *)0);
|
||||
#ifdef SIGSYS
|
||||
sigaction(SIGSYS, &sig_act, (struct sigaction *)0);
|
||||
#endif
|
||||
#endif /* USGISH */
|
||||
|
||||
/*
|
||||
* now peruse through the list of files.
|
||||
*/
|
||||
for(fp=filelist; *fp; fp++) {
|
||||
filecontent = getfile(*fp);
|
||||
ip = newinclude(*fp, (char *)NULL);
|
||||
|
||||
find_includes(filecontent, ip, ip, 0, FALSE);
|
||||
freefile(filecontent);
|
||||
recursive_pr_include(ip, ip->i_file, base_name(*fp));
|
||||
inc_clean();
|
||||
}
|
||||
if (printed)
|
||||
printf("\n");
|
||||
exit(0);
|
||||
}
|
||||
|
||||
struct filepointer *getfile(file)
|
||||
char *file;
|
||||
{
|
||||
int fd;
|
||||
struct filepointer *content;
|
||||
struct stat st;
|
||||
|
||||
content = (struct filepointer *)malloc(sizeof(struct filepointer));
|
||||
if ((fd = open(file, O_RDONLY)) < 0) {
|
||||
warning("cannot open \"%s\"\n", file);
|
||||
content->f_p = content->f_base = content->f_end = (char *)malloc(1);
|
||||
*content->f_p = '\0';
|
||||
return(content);
|
||||
}
|
||||
fstat(fd, &st);
|
||||
content->f_base = (char *)malloc(st.st_size+1);
|
||||
if (content->f_base == NULL)
|
||||
fatalerr("cannot allocate mem\n");
|
||||
if ((st.st_size = read(fd, content->f_base, st.st_size)) < 0)
|
||||
fatalerr("failed to read %s\n", file);
|
||||
close(fd);
|
||||
content->f_len = st.st_size+1;
|
||||
content->f_p = content->f_base;
|
||||
content->f_end = content->f_base + st.st_size;
|
||||
*content->f_end = '\0';
|
||||
content->f_line = 0;
|
||||
return(content);
|
||||
}
|
||||
|
||||
void
|
||||
freefile(fp)
|
||||
struct filepointer *fp;
|
||||
{
|
||||
free(fp->f_base);
|
||||
free(fp);
|
||||
}
|
||||
|
||||
char *copy(str)
|
||||
char *str;
|
||||
{
|
||||
char *p = (char *)malloc(strlen(str) + 1);
|
||||
|
||||
strncpy(p, str, strlen(str) + 1);
|
||||
return(p);
|
||||
}
|
||||
|
||||
int match(str, list)
|
||||
char *str, **list;
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i=0; *list; i++, list++)
|
||||
if (strcmp(str, *list) == 0)
|
||||
return(i);
|
||||
return(-1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Get the next line. We only return lines beginning with '#' since that
|
||||
* is all this program is ever interested in.
|
||||
*/
|
||||
char *our_getline(filep)
|
||||
struct filepointer *filep;
|
||||
{
|
||||
char *p, /* walking pointer */
|
||||
*eof, /* end of file pointer */
|
||||
*bol; /* beginning of line pointer */
|
||||
int lineno; /* line number */
|
||||
|
||||
p = filep->f_p;
|
||||
eof = filep->f_end;
|
||||
if (p >= eof)
|
||||
return((char *)NULL);
|
||||
lineno = filep->f_line;
|
||||
|
||||
for(bol = p--; ++p < eof; ) {
|
||||
if (*p == '/' && (p+1) < eof && *(p+1) == '*') {
|
||||
/* consume C comments */
|
||||
*p++ = ' ', *p++ = ' ';
|
||||
while (*p) {
|
||||
if (*p == '*' && *(p+1) == '/') {
|
||||
*p++ = ' ', *p = ' ';
|
||||
break;
|
||||
}
|
||||
else if (*p == '\n')
|
||||
lineno++;
|
||||
*p++ = ' ';
|
||||
}
|
||||
continue;
|
||||
}
|
||||
else if (*p == '/' && (p+1) < eof && *(p+1) == '/') {
|
||||
/* consume C++ comments */
|
||||
*p++ = ' ';
|
||||
*p++ = ' ';
|
||||
while (p < eof && *p) {
|
||||
if (*p == '\\' && (p+1) < eof &&
|
||||
*(p+1) == '\n') {
|
||||
*(p++) = ' ';
|
||||
lineno++;
|
||||
}
|
||||
else if (*p == '?' && (p+3) < eof &&
|
||||
*(p+1) == '?' &&
|
||||
*(p+2) == '/' &&
|
||||
*(p+3) == '\n') {
|
||||
*(p++) = ' ';
|
||||
*(p++) = ' ';
|
||||
*(p++) = ' ';
|
||||
lineno++;
|
||||
}
|
||||
else if (*p == '\n')
|
||||
break; /* to process end of line */
|
||||
*(p++) = ' ';
|
||||
}
|
||||
--p;
|
||||
}
|
||||
else if (*p == '\\') {
|
||||
if (*(p+1) == '\n') {
|
||||
*p = ' ';
|
||||
*(p+1) = ' ';
|
||||
lineno++;
|
||||
}
|
||||
}
|
||||
else if (*p == '\n') {
|
||||
lineno++;
|
||||
if (*bol == '#') {
|
||||
char *cp;
|
||||
|
||||
*p++ = '\0';
|
||||
/* punt lines with just # (yacc generated) */
|
||||
for (cp = bol+1;
|
||||
*cp && (*cp == ' ' || *cp == '\t'); cp++);
|
||||
if (*cp) goto done;
|
||||
}
|
||||
bol = p+1;
|
||||
}
|
||||
}
|
||||
if (*bol != '#')
|
||||
bol = NULL;
|
||||
done:
|
||||
filep->f_p = p;
|
||||
filep->f_line = lineno;
|
||||
return(bol);
|
||||
}
|
||||
|
||||
/*
|
||||
* Strip the file name down to what we want to see in the Makefile.
|
||||
* It will have objprefix and objsuffix around it.
|
||||
*/
|
||||
char *base_name(file)
|
||||
char *file;
|
||||
{
|
||||
char *p;
|
||||
|
||||
file = copy(file);
|
||||
for(p=file+strlen(file); p>file && *p != '.'; p--) ;
|
||||
|
||||
if (*p == '.')
|
||||
*p = '\0';
|
||||
return(file);
|
||||
}
|
||||
|
||||
#if defined(USG) && !defined(CRAY) && !defined(SVR4)
|
||||
int rename (from, to)
|
||||
char *from, *to;
|
||||
{
|
||||
(void) unlink (to);
|
||||
if (link (from, to) == 0) {
|
||||
unlink (from);
|
||||
return 0;
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
#endif /* USGISH */
|
||||
|
||||
void
|
||||
redirect(line, makefile)
|
||||
char *line,
|
||||
*makefile;
|
||||
{
|
||||
struct stat st;
|
||||
FILE *fdin, *fdout;
|
||||
char backup[ BUFSIZ ],
|
||||
buf[ BUFSIZ ];
|
||||
boolean found = FALSE;
|
||||
int len;
|
||||
|
||||
/*
|
||||
* if makefile is "-" then let it pour onto stdout.
|
||||
*/
|
||||
if (makefile && *makefile == '-' && *(makefile+1) == '\0') {
|
||||
puts(line);
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* use a default makefile is not specified.
|
||||
*/
|
||||
if (!makefile) {
|
||||
if (stat("Makefile", &st) == 0)
|
||||
makefile = "Makefile";
|
||||
else if (stat("makefile", &st) == 0)
|
||||
makefile = "makefile";
|
||||
else
|
||||
fatalerr("[mM]akefile is not present\n");
|
||||
}
|
||||
else
|
||||
stat(makefile, &st);
|
||||
if ((fdin = fopen(makefile, "r")) == NULL)
|
||||
fatalerr("cannot open \"%s\"\n", makefile);
|
||||
snprintf(backup, BUFSIZ, "%s.bak", makefile);
|
||||
unlink(backup);
|
||||
if (rename(makefile, backup) < 0)
|
||||
fatalerr("cannot rename %s to %s\n", makefile, backup);
|
||||
if ((fdout = freopen(makefile, "w", stdout)) == NULL)
|
||||
fatalerr("cannot open \"%s\"\n", backup);
|
||||
len = strlen(line);
|
||||
while (!found && fgets(buf, BUFSIZ, fdin)) {
|
||||
if (*buf == '#' && strncmp(line, buf, len) == 0)
|
||||
found = TRUE;
|
||||
fputs(buf, fdout);
|
||||
}
|
||||
if (!found) {
|
||||
if (verbose)
|
||||
warning("Adding new delimiting line \"%s\" and dependencies...\n",
|
||||
line);
|
||||
puts(line); /* same as fputs(fdout); but with newline */
|
||||
} else if (append) {
|
||||
while (fgets(buf, BUFSIZ, fdin)) {
|
||||
fputs(buf, fdout);
|
||||
}
|
||||
}
|
||||
fflush(fdout);
|
||||
#if defined(USGISH) || defined(_SEQUENT_)
|
||||
chmod(makefile, st.st_mode);
|
||||
#else
|
||||
fchmod(fileno(fdout), st.st_mode);
|
||||
#endif /* USGISH */
|
||||
}
|
||||
|
||||
void
|
||||
#if NeedVarargsPrototypes
|
||||
fatalerr(char *msg, ...)
|
||||
#else
|
||||
/*VARARGS*/
|
||||
fatalerr(msg,x1,x2,x3,x4,x5,x6,x7,x8,x9)
|
||||
char *msg;
|
||||
#endif
|
||||
{
|
||||
#if NeedVarargsPrototypes
|
||||
va_list args;
|
||||
#endif
|
||||
fprintf(stderr, "%s: error: ", ProgramName);
|
||||
#if NeedVarargsPrototypes
|
||||
va_start(args, msg);
|
||||
vfprintf(stderr, msg, args);
|
||||
va_end(args);
|
||||
#else
|
||||
fprintf(stderr, msg,x1,x2,x3,x4,x5,x6,x7,x8,x9);
|
||||
#endif
|
||||
exit (1);
|
||||
}
|
||||
|
||||
void
|
||||
#if NeedVarargsPrototypes
|
||||
warning(char *msg, ...)
|
||||
#else
|
||||
/*VARARGS0*/
|
||||
warning(msg,x1,x2,x3,x4,x5,x6,x7,x8,x9)
|
||||
char *msg;
|
||||
#endif
|
||||
{
|
||||
#if NeedVarargsPrototypes
|
||||
va_list args;
|
||||
#endif
|
||||
fprintf(stderr, "%s: warning: ", ProgramName);
|
||||
#if NeedVarargsPrototypes
|
||||
va_start(args, msg);
|
||||
vfprintf(stderr, msg, args);
|
||||
va_end(args);
|
||||
#else
|
||||
fprintf(stderr, msg,x1,x2,x3,x4,x5,x6,x7,x8,x9);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
#if NeedVarargsPrototypes
|
||||
warning1(char *msg, ...)
|
||||
#else
|
||||
/*VARARGS0*/
|
||||
warning1(msg,x1,x2,x3,x4,x5,x6,x7,x8,x9)
|
||||
char *msg;
|
||||
#endif
|
||||
{
|
||||
#if NeedVarargsPrototypes
|
||||
va_list args;
|
||||
va_start(args, msg);
|
||||
vfprintf(stderr, msg, args);
|
||||
va_end(args);
|
||||
#else
|
||||
fprintf(stderr, msg,x1,x2,x3,x4,x5,x6,x7,x8,x9);
|
||||
#endif
|
||||
}
|
|
@ -1,368 +0,0 @@
|
|||
.\" $TOG: mkdepend.man /main/20 1998/02/06 11:10:18 kaleb $
|
||||
.\" Copyright (c) 1993, 1994, 1998 The Open Group
|
||||
.\"
|
||||
.\" All Rights Reserved.
|
||||
.\"
|
||||
.\" The above copyright notice and this permission notice shall be included in
|
||||
.\" all copies or substantial portions of the Software.
|
||||
.\"
|
||||
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
.\" THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
|
||||
.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
.\" SOFTWARE.
|
||||
.\"
|
||||
.\" Except as contained in this notice, the name of The Open Group shall not
|
||||
.\" be used in advertising or otherwise to promote the sale, use or other
|
||||
.\" dealing in this Software without prior written authorization from The
|
||||
.\" Open Group.
|
||||
.TH MAKEDEPEND 1 "Release 6.4" "X Version 11"
|
||||
.UC 4
|
||||
.SH NAME
|
||||
makedepend \- create dependencies in makefiles
|
||||
.SH SYNOPSIS
|
||||
.B makedepend
|
||||
[
|
||||
.BI \-D name\fB=\fPdef
|
||||
] [
|
||||
.BI \-D name
|
||||
] [
|
||||
.BI \-I includedir
|
||||
] [
|
||||
.BI \-Y includedir
|
||||
] [
|
||||
.B \-a
|
||||
] [
|
||||
.BI \-f makefile
|
||||
] [
|
||||
.BI \-o objsuffix
|
||||
] [
|
||||
.BI \-p objprefix
|
||||
] [
|
||||
.BI \-s string
|
||||
] [
|
||||
.BI \-w width
|
||||
] [
|
||||
.B \-v
|
||||
] [
|
||||
.B \-m
|
||||
] [
|
||||
\-\^\-
|
||||
.I otheroptions
|
||||
\-\^\-
|
||||
]
|
||||
.I sourcefile
|
||||
\&.\|.\|.
|
||||
.br
|
||||
.SH DESCRIPTION
|
||||
The
|
||||
.B makedepend
|
||||
program reads each
|
||||
.I sourcefile
|
||||
in sequence and parses it like a C-preprocessor,
|
||||
processing all
|
||||
.I #include,
|
||||
.I #define,
|
||||
.I #undef,
|
||||
.I #ifdef,
|
||||
.I #ifndef,
|
||||
.I #endif,
|
||||
.I #if,
|
||||
.I #elif
|
||||
and
|
||||
.I #else
|
||||
directives so that it can correctly tell which
|
||||
.I #include,
|
||||
directives would be used in a compilation.
|
||||
Any
|
||||
.I #include,
|
||||
directives can reference files having other
|
||||
.I #include
|
||||
directives, and parsing will occur in these files as well.
|
||||
.PP
|
||||
Every file that a
|
||||
.I sourcefile
|
||||
includes,
|
||||
directly or indirectly,
|
||||
is what
|
||||
.B makedepend
|
||||
calls a \fIdependency.\fP
|
||||
These dependencies are then written to a
|
||||
.I makefile
|
||||
in such a way that
|
||||
.B make(1)
|
||||
will know which object files must be recompiled when a dependency has changed.
|
||||
.PP
|
||||
By default,
|
||||
.B makedepend
|
||||
places its output in the file named
|
||||
.I makefile
|
||||
if it exists, otherwise
|
||||
.I Makefile.
|
||||
An alternate makefile may be specified with the
|
||||
.B \-f
|
||||
option.
|
||||
It first searches the makefile for
|
||||
the line
|
||||
.sp
|
||||
# DO NOT DELETE THIS LINE \-\^\- make depend depends on it.
|
||||
.sp
|
||||
or one provided with the
|
||||
.B \-s
|
||||
option,
|
||||
as a delimiter for the dependency output.
|
||||
If it finds it, it will delete everything
|
||||
following this to the end of the makefile
|
||||
and put the output after this line.
|
||||
If it doesn't find it, the program
|
||||
will append the string to the end of the makefile
|
||||
and place the output following that.
|
||||
For each
|
||||
.I sourcefile
|
||||
appearing on the command line,
|
||||
.B makedepend
|
||||
puts lines in the makefile of the form
|
||||
.sp
|
||||
sourcefile.o:\0dfile .\|.\|.
|
||||
.sp
|
||||
Where \fIsourcefile.o\fP is the name from the command
|
||||
line with its suffix replaced with ``.o'',
|
||||
and \fIdfile\fP is a dependency discovered in a
|
||||
.I #include
|
||||
directive while parsing
|
||||
.I sourcefile
|
||||
or one of the files it included.
|
||||
.SH EXAMPLE
|
||||
Normally,
|
||||
.B makedepend
|
||||
will be used in a makefile target so that typing ``make depend'' will
|
||||
bring the dependencies up to date for the makefile.
|
||||
For example,
|
||||
.nf
|
||||
SRCS\0=\0file1.c\0file2.c\0.\|.\|.
|
||||
CFLAGS\0=\0\-O\0\-DHACK\0\-I\^.\^.\^/foobar\0\-xyz
|
||||
depend:
|
||||
makedepend\0\-\^\-\0$(CFLAGS)\0\-\^\-\0$(SRCS)
|
||||
.fi
|
||||
.SH OPTIONS
|
||||
The program
|
||||
will ignore any option that it does not understand so that you may use
|
||||
the same arguments that you would for
|
||||
.B cc(1).
|
||||
.TP 5
|
||||
.B \-D\fIname\fP=\fIdef\fP \fRor\fP \-D\fIname\fP
|
||||
Define.
|
||||
This places a definition for
|
||||
.I name
|
||||
in
|
||||
.B makedepend's
|
||||
symbol table.
|
||||
Without
|
||||
.I =def\|
|
||||
the symbol becomes defined as ``1''.
|
||||
.TP 5
|
||||
.B \-I\fIincludedir\fP
|
||||
Include directory.
|
||||
This option tells
|
||||
.B makedepend
|
||||
to prepend
|
||||
.I includedir
|
||||
to its list of directories to search when it encounters
|
||||
a
|
||||
.I #include
|
||||
directive.
|
||||
By default,
|
||||
.B makedepend
|
||||
only searches the standard include directories (usually /usr/include
|
||||
and possibly a compiler-dependent directory).
|
||||
.TP 5
|
||||
.B \-Y\fIincludedir\fP
|
||||
Replace all of the standard include directories with the single specified
|
||||
include directory; you can omit the
|
||||
.I includedir
|
||||
to simply prevent searching the standard include directories.
|
||||
.TP 5
|
||||
.B \-a
|
||||
Append the dependencies to the end of the file instead of replacing them.
|
||||
.TP 5
|
||||
.B \-f\fImakefile\fP
|
||||
Filename.
|
||||
This allows you to specify an alternate makefile in which
|
||||
.B makedepend
|
||||
can place its output.
|
||||
Specifying ``\-'' as the file name (i.e., \fB\-f\-\fP) sends the
|
||||
output to standard output instead of modifying an existing file.
|
||||
.TP 5
|
||||
.B \-o\fIobjsuffix\fP
|
||||
Object file suffix.
|
||||
Some systems may have object files whose suffix is something other
|
||||
than ``.o''.
|
||||
This option allows you to specify another suffix, such as
|
||||
``.b'' with
|
||||
.I \-o.b
|
||||
or ``:obj''
|
||||
with
|
||||
.I \-o:obj
|
||||
and so forth.
|
||||
.TP 5
|
||||
.B \-p\fIobjprefix\fP
|
||||
Object file prefix.
|
||||
The prefix is prepended to the name of the object file. This is
|
||||
usually used to designate a different directory for the object file.
|
||||
The default is the empty string.
|
||||
.TP 5
|
||||
.B \-s\fIstring\fP
|
||||
Starting string delimiter.
|
||||
This option permits you to specify
|
||||
a different string for
|
||||
.B makedepend
|
||||
to look for in the makefile.
|
||||
.TP 5
|
||||
.B \-w\fIwidth\fP
|
||||
Line width.
|
||||
Normally,
|
||||
.B makedepend
|
||||
will ensure that every output line that it writes will be no wider than
|
||||
78 characters for the sake of readability.
|
||||
This option enables you to change this width.
|
||||
.TP 5
|
||||
.B \-v
|
||||
Verbose operation.
|
||||
This option causes
|
||||
.B makedepend
|
||||
to emit the list of files included by each input file on standard output.
|
||||
.TP 5
|
||||
.B \-m
|
||||
Warn about multiple inclusion.
|
||||
This option causes
|
||||
.B makedepend
|
||||
to produce a warning if any input file includes another file more than
|
||||
once. In previous versions of
|
||||
.B makedepend
|
||||
this was the default behavior; the default has been changed to better
|
||||
match the behavior of the C compiler, which does not consider multiple
|
||||
inclusion to be an error. This option is provided for backward
|
||||
compatibility, and to aid in debugging problems related to multiple
|
||||
inclusion.
|
||||
.TP 5
|
||||
.B "\-\^\- \fIoptions\fP \-\^\-"
|
||||
If
|
||||
.B makedepend
|
||||
encounters a double hyphen (\-\^\-) in the argument list,
|
||||
then any unrecognized argument following it
|
||||
will be silently ignored; a second double hyphen terminates this
|
||||
special treatment.
|
||||
In this way,
|
||||
.B makedepend
|
||||
can be made to safely ignore esoteric compiler arguments that might
|
||||
normally be found in a CFLAGS
|
||||
.B make
|
||||
macro (see the
|
||||
.B EXAMPLE
|
||||
section above).
|
||||
All options that
|
||||
.B makedepend
|
||||
recognizes and appear between the pair of double hyphens
|
||||
are processed normally.
|
||||
.SH ALGORITHM
|
||||
The approach used in this program enables it to run an order of magnitude
|
||||
faster than any other ``dependency generator'' I have ever seen.
|
||||
Central to this performance are two assumptions:
|
||||
that all files compiled by a single
|
||||
makefile will be compiled with roughly the same
|
||||
.I \-I
|
||||
and
|
||||
.I \-D
|
||||
options;
|
||||
and that most files in a single directory will include largely the
|
||||
same files.
|
||||
.PP
|
||||
Given these assumptions,
|
||||
.B makedepend
|
||||
expects to be called once for each makefile, with
|
||||
all source files that are maintained by the
|
||||
makefile appearing on the command line.
|
||||
It parses each source and include
|
||||
file exactly once, maintaining an internal symbol table
|
||||
for each.
|
||||
Thus, the first file on the command line will take an amount of time
|
||||
proportional to the amount of time that a normal C preprocessor takes.
|
||||
But on subsequent files, if it encounters an include file
|
||||
that it has already parsed, it does not parse it again.
|
||||
.PP
|
||||
For example,
|
||||
imagine you are compiling two files,
|
||||
.I file1.c
|
||||
and
|
||||
.I file2.c,
|
||||
they each include the header file
|
||||
.I header.h,
|
||||
and the file
|
||||
.I header.h
|
||||
in turn includes the files
|
||||
.I def1.h
|
||||
and
|
||||
.I def2.h.
|
||||
When you run the command
|
||||
.sp
|
||||
makedepend\0file1.c\0file2.c
|
||||
.sp
|
||||
.B makedepend
|
||||
will parse
|
||||
.I file1.c
|
||||
and consequently,
|
||||
.I header.h
|
||||
and then
|
||||
.I def1.h
|
||||
and
|
||||
.I def2.h.
|
||||
It then decides that the dependencies for this file are
|
||||
.sp
|
||||
file1.o:\0header.h\0def1.h\0def2.h
|
||||
.sp
|
||||
But when the program parses
|
||||
.I file2.c
|
||||
and discovers that it, too, includes
|
||||
.I header.h,
|
||||
it does not parse the file,
|
||||
but simply adds
|
||||
.I header.h,
|
||||
.I def1.h
|
||||
and
|
||||
.I def2.h
|
||||
to the list of dependencies for
|
||||
.I file2.o.
|
||||
.SH "SEE ALSO"
|
||||
cc(1), make(1)
|
||||
.SH BUGS
|
||||
.B makedepend
|
||||
parses, but does not currently evaluate, the SVR4
|
||||
#predicate(token-list) preprocessor expression;
|
||||
such expressions are simply assumed to be true.
|
||||
This may cause the wrong
|
||||
.I #include
|
||||
directives to be evaluated.
|
||||
.PP
|
||||
Imagine you are parsing two files,
|
||||
say
|
||||
.I file1.c
|
||||
and
|
||||
.I file2.c,
|
||||
each includes the file
|
||||
.I def.h.
|
||||
The list of files that
|
||||
.I def.h
|
||||
includes might truly be different when
|
||||
.I def.h
|
||||
is included by
|
||||
.I file1.c
|
||||
than when it is included by
|
||||
.I file2.c.
|
||||
But once
|
||||
.B makedepend
|
||||
arrives at a list of dependencies for a file,
|
||||
it is cast in concrete.
|
||||
.SH AUTHOR
|
||||
Todd Brunhoff, Tektronix, Inc. and MIT Project Athena
|
|
@ -1,670 +0,0 @@
|
|||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $TOG: parse.c /main/35 1998/03/25 08:17:55 kaleb $ */
|
||||
/*
|
||||
|
||||
Copyright (c) 1993, 1994, 1998 The Open Group
|
||||
|
||||
All Rights Reserved.
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of The Open Group shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from The Open Group.
|
||||
|
||||
*/
|
||||
|
||||
#include "def.h"
|
||||
|
||||
static int deftype();
|
||||
static int zero_value();
|
||||
static int merge2defines();
|
||||
|
||||
extern char *directives[];
|
||||
extern struct inclist maininclist;
|
||||
|
||||
int
|
||||
gobble(filep, file, file_red)
|
||||
struct filepointer *filep;
|
||||
struct inclist *file, *file_red;
|
||||
{
|
||||
char *line;
|
||||
int type;
|
||||
|
||||
while ((line = our_getline(filep))) {
|
||||
switch(type = deftype(line, filep, file_red, file, FALSE)) {
|
||||
case IF:
|
||||
case IFFALSE:
|
||||
case IFGUESSFALSE:
|
||||
case IFDEF:
|
||||
case IFNDEF:
|
||||
type = gobble(filep, file, file_red);
|
||||
while ((type == ELIF) || (type == ELIFFALSE) ||
|
||||
(type == ELIFGUESSFALSE))
|
||||
type = gobble(filep, file, file_red);
|
||||
if (type == ELSE)
|
||||
(void)gobble(filep, file, file_red);
|
||||
break;
|
||||
case ELSE:
|
||||
case ENDIF:
|
||||
debug(0,("%s, line %d: #%s\n",
|
||||
file->i_file, filep->f_line,
|
||||
directives[type]));
|
||||
return(type);
|
||||
case DEFINE:
|
||||
case UNDEF:
|
||||
case INCLUDE:
|
||||
case INCLUDEDOT:
|
||||
case PRAGMA:
|
||||
case ERROR:
|
||||
case IDENT:
|
||||
case SCCS:
|
||||
case EJECT:
|
||||
case WARNING:
|
||||
break;
|
||||
case ELIF:
|
||||
case ELIFFALSE:
|
||||
case ELIFGUESSFALSE:
|
||||
return(type);
|
||||
case -1:
|
||||
warning("%s, line %d: unknown directive == \"%s\"\n",
|
||||
file_red->i_file, filep->f_line, line);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return(-1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Decide what type of # directive this line is.
|
||||
*/
|
||||
int deftype (line, filep, file_red, file, parse_it)
|
||||
char *line;
|
||||
struct filepointer *filep;
|
||||
struct inclist *file_red, *file;
|
||||
int parse_it;
|
||||
{
|
||||
char *p;
|
||||
char *directive, savechar, *q;
|
||||
int ret;
|
||||
|
||||
/*
|
||||
* Parse the directive...
|
||||
*/
|
||||
directive=line+1;
|
||||
while (*directive == ' ' || *directive == '\t')
|
||||
directive++;
|
||||
|
||||
p = directive;
|
||||
while (*p >= 'a' && *p <= 'z')
|
||||
p++;
|
||||
savechar = *p;
|
||||
*p = '\0';
|
||||
ret = match(directive, directives);
|
||||
*p = savechar;
|
||||
|
||||
/* If we don't recognize this compiler directive or we happen to just
|
||||
* be gobbling up text while waiting for an #endif or #elif or #else
|
||||
* in the case of an #elif we must check the zero_value and return an
|
||||
* ELIF or an ELIFFALSE.
|
||||
*/
|
||||
|
||||
if (ret == ELIF && !parse_it)
|
||||
{
|
||||
while (*p == ' ' || *p == '\t')
|
||||
p++;
|
||||
/*
|
||||
* parse an expression.
|
||||
*/
|
||||
debug(0,("%s, line %d: #elif %s ",
|
||||
file->i_file, filep->f_line, p));
|
||||
ret = zero_value(p, filep, file_red);
|
||||
if (ret != IF)
|
||||
{
|
||||
debug(0,("false...\n"));
|
||||
if (ret == IFFALSE)
|
||||
return(ELIFFALSE);
|
||||
else
|
||||
return(ELIFGUESSFALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
debug(0,("true...\n"));
|
||||
return(ELIF);
|
||||
}
|
||||
}
|
||||
|
||||
if (ret < 0 || ! parse_it)
|
||||
return(ret);
|
||||
|
||||
/*
|
||||
* now decide how to parse the directive, and do it.
|
||||
*/
|
||||
while (*p == ' ' || *p == '\t')
|
||||
p++;
|
||||
q = p + strlen(p);
|
||||
do {
|
||||
q--;
|
||||
} while (*q == ' ' || *q == '\t');
|
||||
q[1] = '\0';
|
||||
switch (ret) {
|
||||
case IF:
|
||||
/*
|
||||
* parse an expression.
|
||||
*/
|
||||
ret = zero_value(p, filep, file_red);
|
||||
debug(0,("%s, line %d: %s #if %s\n",
|
||||
file->i_file, filep->f_line, ret?"false":"true", p));
|
||||
break;
|
||||
case IFDEF:
|
||||
case IFNDEF:
|
||||
debug(0,("%s, line %d: #%s %s\n",
|
||||
file->i_file, filep->f_line, directives[ret], p));
|
||||
case UNDEF:
|
||||
/*
|
||||
* separate the name of a single symbol.
|
||||
*/
|
||||
while (isalnum((int)*p) || *p == '_')
|
||||
*line++ = *p++;
|
||||
*line = '\0';
|
||||
break;
|
||||
case INCLUDE:
|
||||
debug(2,("%s, line %d: #include %s\n",
|
||||
file->i_file, filep->f_line, p));
|
||||
|
||||
/* Support ANSI macro substitution */
|
||||
{
|
||||
struct symtab **sym = isdefined(p, file_red, NULL);
|
||||
while (sym) {
|
||||
p = (*sym)->s_value;
|
||||
debug(3,("%s : #includes SYMBOL %s = %s\n",
|
||||
file->i_incstring,
|
||||
(*sym) -> s_name,
|
||||
(*sym) -> s_value));
|
||||
/* mark file as having included a 'soft include' */
|
||||
file->i_flags |= INCLUDED_SYM;
|
||||
sym = isdefined(p, file_red, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Separate the name of the include file.
|
||||
*/
|
||||
while (*p && *p != '"' && *p != '<')
|
||||
p++;
|
||||
if (! *p)
|
||||
return(-2);
|
||||
if (*p++ == '"') {
|
||||
ret = INCLUDEDOT;
|
||||
while (*p && *p != '"')
|
||||
*line++ = *p++;
|
||||
} else
|
||||
while (*p && *p != '>')
|
||||
*line++ = *p++;
|
||||
*line = '\0';
|
||||
break;
|
||||
case DEFINE:
|
||||
/*
|
||||
* copy the definition back to the beginning of the line.
|
||||
*/
|
||||
memmove (line, p, strlen(p) + 1);
|
||||
break;
|
||||
case ELSE:
|
||||
case ENDIF:
|
||||
case ELIF:
|
||||
case PRAGMA:
|
||||
case ERROR:
|
||||
case IDENT:
|
||||
case SCCS:
|
||||
case EJECT:
|
||||
debug(0,("%s, line %d: #%s\n",
|
||||
file->i_file, filep->f_line, directives[ret]));
|
||||
/*
|
||||
* nothing to do.
|
||||
*/
|
||||
break;
|
||||
}
|
||||
return(ret);
|
||||
}
|
||||
|
||||
struct symtab **fdefined(symbol, file, srcfile)
|
||||
char *symbol;
|
||||
struct inclist *file;
|
||||
struct inclist **srcfile;
|
||||
{
|
||||
struct inclist **ip;
|
||||
struct symtab **val;
|
||||
int i;
|
||||
static int recurse_lvl = 0;
|
||||
|
||||
if (file->i_flags & DEFCHECKED)
|
||||
return(NULL);
|
||||
file->i_flags |= DEFCHECKED;
|
||||
if ((val = slookup(symbol, file)))
|
||||
debug(1,("%s defined in %s as %s\n",
|
||||
symbol, file->i_file, (*val)->s_value));
|
||||
if (val == NULL && file->i_list)
|
||||
{
|
||||
for (ip = file->i_list, i=0; i < file->i_listlen; i++, ip++)
|
||||
if (file->i_merged[i]==FALSE) {
|
||||
val = fdefined(symbol, *ip, srcfile);
|
||||
if ((*ip)->i_flags & FINISHED) {
|
||||
merge2defines(file,*ip);
|
||||
file->i_merged[i]=TRUE;
|
||||
}
|
||||
if (val!=NULL) break;
|
||||
}
|
||||
}
|
||||
else if (val != NULL && srcfile != NULL) *srcfile = file;
|
||||
recurse_lvl--;
|
||||
file->i_flags &= ~DEFCHECKED;
|
||||
|
||||
return(val);
|
||||
}
|
||||
|
||||
struct symtab **isdefined(symbol, file, srcfile)
|
||||
char *symbol;
|
||||
struct inclist *file;
|
||||
struct inclist **srcfile;
|
||||
{
|
||||
struct symtab **val;
|
||||
|
||||
if ((val = slookup(symbol, &maininclist))) {
|
||||
debug(1,("%s defined on command line\n", symbol));
|
||||
if (srcfile != NULL) *srcfile = &maininclist;
|
||||
return(val);
|
||||
}
|
||||
if ((val = fdefined(symbol, file, srcfile)))
|
||||
return(val);
|
||||
debug(1,("%s not defined in %s\n", symbol, file->i_file));
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* Return type based on if the #if expression evaluates to 0
|
||||
*/
|
||||
int
|
||||
zero_value(exp, filep, file_red)
|
||||
char *exp;
|
||||
struct filepointer *filep;
|
||||
struct inclist *file_red;
|
||||
{
|
||||
if ((cppsetup(exp, filep, file_red)))
|
||||
return(IFFALSE);
|
||||
else
|
||||
return(IF);
|
||||
}
|
||||
|
||||
void
|
||||
define2(name, val, file)
|
||||
char *name, *val;
|
||||
struct inclist *file;
|
||||
{
|
||||
int first, last, below;
|
||||
struct symtab **sp = NULL, **dest;
|
||||
struct symtab *stab;
|
||||
|
||||
/* Make space if it's needed */
|
||||
if (file->i_defs == NULL)
|
||||
{
|
||||
file->i_defs = (struct symtab **)
|
||||
malloc(sizeof (struct symtab*) * SYMTABINC);
|
||||
file->i_ndefs = 0;
|
||||
}
|
||||
else if (!(file->i_ndefs % SYMTABINC))
|
||||
file->i_defs = (struct symtab **)
|
||||
realloc(file->i_defs,
|
||||
sizeof(struct symtab*)*(file->i_ndefs+SYMTABINC));
|
||||
|
||||
if (file->i_defs == NULL)
|
||||
fatalerr("malloc()/realloc() failure in insert_defn()\n");
|
||||
|
||||
below = first = 0;
|
||||
last = file->i_ndefs - 1;
|
||||
while (last >= first)
|
||||
{
|
||||
/* Fast inline binary search */
|
||||
char *s1;
|
||||
char *s2;
|
||||
int middle = (first + last) / 2;
|
||||
|
||||
/* Fast inline strchr() */
|
||||
s1 = name;
|
||||
s2 = file->i_defs[middle]->s_name;
|
||||
while (*s1++ == *s2++)
|
||||
if (s2[-1] == '\0') break;
|
||||
|
||||
/* If exact match, set sp and break */
|
||||
if (*--s1 == *--s2)
|
||||
{
|
||||
sp = file->i_defs + middle;
|
||||
break;
|
||||
}
|
||||
|
||||
/* If name > i_defs[middle] ... */
|
||||
if (*s1 > *s2)
|
||||
{
|
||||
below = first;
|
||||
first = middle + 1;
|
||||
}
|
||||
/* else ... */
|
||||
else
|
||||
{
|
||||
below = last = middle - 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* Search is done. If we found an exact match to the symbol name,
|
||||
just replace its s_value */
|
||||
if (sp != NULL)
|
||||
{
|
||||
free((*sp)->s_value);
|
||||
(*sp)->s_value = copy(val);
|
||||
return;
|
||||
}
|
||||
|
||||
sp = file->i_defs + file->i_ndefs++;
|
||||
dest = file->i_defs + below + 1;
|
||||
while (sp > dest)
|
||||
{
|
||||
*sp = sp[-1];
|
||||
sp--;
|
||||
}
|
||||
stab = (struct symtab *) malloc(sizeof (struct symtab));
|
||||
if (stab == NULL)
|
||||
fatalerr("malloc()/realloc() failure in insert_defn()\n");
|
||||
|
||||
stab->s_name = copy(name);
|
||||
stab->s_value = copy(val);
|
||||
*sp = stab;
|
||||
}
|
||||
|
||||
void
|
||||
define(def, file)
|
||||
char *def;
|
||||
struct inclist *file;
|
||||
{
|
||||
char *val;
|
||||
|
||||
/* Separate symbol name and its value */
|
||||
val = def;
|
||||
while (isalnum((int)*val) || *val == '_')
|
||||
val++;
|
||||
if (*val)
|
||||
*val++ = '\0';
|
||||
while (*val == ' ' || *val == '\t')
|
||||
val++;
|
||||
|
||||
if (!*val)
|
||||
val = "1";
|
||||
define2(def, val, file);
|
||||
}
|
||||
|
||||
struct symtab **slookup(symbol, file)
|
||||
char *symbol;
|
||||
struct inclist *file;
|
||||
{
|
||||
int first = 0;
|
||||
int last = file->i_ndefs - 1;
|
||||
|
||||
if (file) while (last >= first)
|
||||
{
|
||||
/* Fast inline binary search */
|
||||
char *s1;
|
||||
char *s2;
|
||||
int middle = (first + last) / 2;
|
||||
|
||||
/* Fast inline strchr() */
|
||||
s1 = symbol;
|
||||
s2 = file->i_defs[middle]->s_name;
|
||||
while (*s1++ == *s2++)
|
||||
if (s2[-1] == '\0') break;
|
||||
|
||||
/* If exact match, we're done */
|
||||
if (*--s1 == *--s2)
|
||||
{
|
||||
return file->i_defs + middle;
|
||||
}
|
||||
|
||||
/* If symbol > i_defs[middle] ... */
|
||||
if (*s1 > *s2)
|
||||
{
|
||||
first = middle + 1;
|
||||
}
|
||||
/* else ... */
|
||||
else
|
||||
{
|
||||
last = middle - 1;
|
||||
}
|
||||
}
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
int merge2defines(file1, file2)
|
||||
struct inclist *file1;
|
||||
struct inclist *file2;
|
||||
{
|
||||
if ((file1!=NULL) && (file2!=NULL))
|
||||
{
|
||||
int first1 = 0;
|
||||
int last1 = file1->i_ndefs - 1;
|
||||
|
||||
int first2 = 0;
|
||||
int last2 = file2->i_ndefs - 1;
|
||||
|
||||
int first=0;
|
||||
struct symtab** i_defs = NULL;
|
||||
int deflen=file1->i_ndefs+file2->i_ndefs;
|
||||
|
||||
if (deflen>0)
|
||||
{
|
||||
/* make sure deflen % SYMTABINC == 0 is still true */
|
||||
deflen += (SYMTABINC - deflen % SYMTABINC) % SYMTABINC;
|
||||
i_defs=(struct symtab**)
|
||||
malloc(deflen*sizeof(struct symtab*));
|
||||
if (i_defs==NULL) return 0;
|
||||
}
|
||||
|
||||
while ((last1 >= first1) && (last2 >= first2))
|
||||
{
|
||||
char *s1=file1->i_defs[first1]->s_name;
|
||||
char *s2=file2->i_defs[first2]->s_name;
|
||||
|
||||
if (strcmp(s1,s2) < 0)
|
||||
i_defs[first++]=file1->i_defs[first1++];
|
||||
else if (strcmp(s1,s2) > 0)
|
||||
i_defs[first++]=file2->i_defs[first2++];
|
||||
else /* equal */
|
||||
{
|
||||
i_defs[first++]=file2->i_defs[first2++];
|
||||
first1++;
|
||||
}
|
||||
}
|
||||
while (last1 >= first1)
|
||||
{
|
||||
i_defs[first++]=file1->i_defs[first1++];
|
||||
}
|
||||
while (last2 >= first2)
|
||||
{
|
||||
i_defs[first++]=file2->i_defs[first2++];
|
||||
}
|
||||
|
||||
if (file1->i_defs) free(file1->i_defs);
|
||||
file1->i_defs=i_defs;
|
||||
file1->i_ndefs=first;
|
||||
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
undefine(symbol, file)
|
||||
char *symbol;
|
||||
struct inclist *file;
|
||||
{
|
||||
struct symtab **ptr;
|
||||
struct inclist *srcfile;
|
||||
while ((ptr = isdefined(symbol, file, &srcfile)) != NULL)
|
||||
{
|
||||
srcfile->i_ndefs--;
|
||||
for (; ptr < srcfile->i_defs + srcfile->i_ndefs; ptr++)
|
||||
*ptr = ptr[1];
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
find_includes(filep, file, file_red, recursion, failOK)
|
||||
struct filepointer *filep;
|
||||
struct inclist *file, *file_red;
|
||||
int recursion;
|
||||
boolean failOK;
|
||||
{
|
||||
char *line;
|
||||
int type;
|
||||
boolean recfailOK;
|
||||
|
||||
while ((line = our_getline(filep))) {
|
||||
switch(type = deftype(line, filep, file_red, file, TRUE)) {
|
||||
case IF:
|
||||
doif:
|
||||
type = find_includes(filep, file,
|
||||
file_red, recursion+1, failOK);
|
||||
while ((type == ELIF) || (type == ELIFFALSE) ||
|
||||
(type == ELIFGUESSFALSE))
|
||||
type = gobble(filep, file, file_red);
|
||||
if (type == ELSE)
|
||||
gobble(filep, file, file_red);
|
||||
break;
|
||||
case IFFALSE:
|
||||
case IFGUESSFALSE:
|
||||
doiffalse:
|
||||
if (type == IFGUESSFALSE || type == ELIFGUESSFALSE)
|
||||
recfailOK = TRUE;
|
||||
else
|
||||
recfailOK = failOK;
|
||||
type = gobble(filep, file, file_red);
|
||||
if (type == ELSE)
|
||||
find_includes(filep, file,
|
||||
file_red, recursion+1, recfailOK);
|
||||
else
|
||||
if (type == ELIF)
|
||||
goto doif;
|
||||
else
|
||||
if ((type == ELIFFALSE) || (type == ELIFGUESSFALSE))
|
||||
goto doiffalse;
|
||||
break;
|
||||
case IFDEF:
|
||||
case IFNDEF:
|
||||
if ((type == IFDEF && isdefined(line, file_red, NULL))
|
||||
|| (type == IFNDEF && !isdefined(line, file_red, NULL))) {
|
||||
debug(1,(type == IFNDEF ?
|
||||
"line %d: %s !def'd in %s via %s%s\n" : "",
|
||||
filep->f_line, line,
|
||||
file->i_file, file_red->i_file, ": doit"));
|
||||
type = find_includes(filep, file,
|
||||
file_red, recursion+1, failOK);
|
||||
while (type == ELIF || type == ELIFFALSE || type == ELIFGUESSFALSE)
|
||||
type = gobble(filep, file, file_red);
|
||||
if (type == ELSE)
|
||||
gobble(filep, file, file_red);
|
||||
}
|
||||
else {
|
||||
debug(1,(type == IFDEF ?
|
||||
"line %d: %s !def'd in %s via %s%s\n" : "",
|
||||
filep->f_line, line,
|
||||
file->i_file, file_red->i_file, ": gobble"));
|
||||
type = gobble(filep, file, file_red);
|
||||
if (type == ELSE)
|
||||
find_includes(filep, file,
|
||||
file_red, recursion+1, failOK);
|
||||
else if (type == ELIF)
|
||||
goto doif;
|
||||
else if (type == ELIFFALSE || type == ELIFGUESSFALSE)
|
||||
goto doiffalse;
|
||||
}
|
||||
break;
|
||||
case ELSE:
|
||||
case ELIFFALSE:
|
||||
case ELIFGUESSFALSE:
|
||||
case ELIF:
|
||||
if (!recursion)
|
||||
gobble(filep, file, file_red);
|
||||
case ENDIF:
|
||||
if (recursion)
|
||||
return(type);
|
||||
case DEFINE:
|
||||
define(line, file);
|
||||
break;
|
||||
case UNDEF:
|
||||
if (!*line) {
|
||||
warning("%s, line %d: incomplete undef == \"%s\"\n",
|
||||
file_red->i_file, filep->f_line, line);
|
||||
break;
|
||||
}
|
||||
undefine(line, file_red);
|
||||
break;
|
||||
case INCLUDE:
|
||||
add_include(filep, file, file_red, line, FALSE, failOK);
|
||||
break;
|
||||
case INCLUDEDOT:
|
||||
add_include(filep, file, file_red, line, TRUE, failOK);
|
||||
break;
|
||||
case ERROR:
|
||||
warning("%s: %d: %s\n", file_red->i_file,
|
||||
filep->f_line, line);
|
||||
break;
|
||||
|
||||
case PRAGMA:
|
||||
case IDENT:
|
||||
case SCCS:
|
||||
case EJECT:
|
||||
break;
|
||||
case -1:
|
||||
warning("%s", file_red->i_file);
|
||||
if (file_red != file)
|
||||
warning1(" (reading %s)", file->i_file);
|
||||
warning1(", line %d: unknown directive == \"%s\"\n",
|
||||
filep->f_line, line);
|
||||
break;
|
||||
case -2:
|
||||
warning("%s", file_red->i_file);
|
||||
if (file_red != file)
|
||||
warning1(" (reading %s)", file->i_file);
|
||||
warning1(", line %d: incomplete include == \"%s\"\n",
|
||||
filep->f_line, line);
|
||||
break;
|
||||
}
|
||||
}
|
||||
file->i_flags |= FINISHED;
|
||||
return(-1);
|
||||
}
|
|
@ -1,148 +0,0 @@
|
|||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $TOG: pr.c /main/21 1998/02/06 11:10:30 kaleb $ */
|
||||
/*
|
||||
|
||||
Copyright (c) 1993, 1994, 1998 The Open Group
|
||||
|
||||
All Rights Reserved.
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of The Open Group shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from The Open Group.
|
||||
|
||||
*/
|
||||
|
||||
#include "def.h"
|
||||
|
||||
extern struct inclist inclist[ MAXFILES ],
|
||||
*inclistp;
|
||||
extern char *objprefix;
|
||||
extern char *objsuffix;
|
||||
extern int width;
|
||||
extern boolean printed;
|
||||
extern boolean verbose;
|
||||
extern boolean show_where_not;
|
||||
|
||||
void
|
||||
add_include(filep, file, file_red, include, dot, failOK)
|
||||
struct filepointer *filep;
|
||||
struct inclist *file, *file_red;
|
||||
char *include;
|
||||
boolean dot;
|
||||
boolean failOK;
|
||||
{
|
||||
struct inclist *newfile;
|
||||
struct filepointer *content;
|
||||
|
||||
/*
|
||||
* First decide what the pathname of this include file really is.
|
||||
*/
|
||||
newfile = inc_path(file->i_file, include, dot);
|
||||
if (newfile == NULL) {
|
||||
if (failOK)
|
||||
return;
|
||||
if (file != file_red)
|
||||
warning("%s (reading %s, line %d): ",
|
||||
file_red->i_file, file->i_file, filep->f_line);
|
||||
else
|
||||
warning("%s, line %d: ", file->i_file, filep->f_line);
|
||||
warning1("cannot find include file \"%s\"\n", include);
|
||||
show_where_not = TRUE;
|
||||
newfile = inc_path(file->i_file, include, dot);
|
||||
show_where_not = FALSE;
|
||||
}
|
||||
|
||||
if (newfile) {
|
||||
included_by(file, newfile);
|
||||
if (!(newfile->i_flags & SEARCHED)) {
|
||||
newfile->i_flags |= SEARCHED;
|
||||
content = getfile(newfile->i_file);
|
||||
find_includes(content, newfile, file_red, 0, failOK);
|
||||
freefile(content);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
pr(ip, file, base)
|
||||
struct inclist *ip;
|
||||
char *file, *base;
|
||||
{
|
||||
static char *lastfile;
|
||||
static int current_len;
|
||||
int len, i;
|
||||
char buf[ BUFSIZ ];
|
||||
|
||||
printed = TRUE;
|
||||
len = strlen(ip->i_file)+1;
|
||||
if (current_len + len > width || file != lastfile) {
|
||||
lastfile = file;
|
||||
snprintf(buf, BUFSIZ, "\n%s%s%s: %s", objprefix, base,
|
||||
objsuffix, ip->i_file);
|
||||
len = current_len = strlen(buf);
|
||||
}
|
||||
else {
|
||||
buf[0] = ' ';
|
||||
strncpy(buf+1, ip->i_file, BUFSIZ - 1);
|
||||
current_len += len;
|
||||
}
|
||||
fwrite(buf, len, 1, stdout);
|
||||
|
||||
/*
|
||||
* If verbose is set, then print out what this file includes.
|
||||
*/
|
||||
if (! verbose || ip->i_list == NULL || ip->i_flags & NOTIFIED)
|
||||
return;
|
||||
ip->i_flags |= NOTIFIED;
|
||||
lastfile = NULL;
|
||||
printf("\n# %s includes:", ip->i_file);
|
||||
for (i=0; i<ip->i_listlen; i++)
|
||||
printf("\n#\t%s", ip->i_list[ i ]->i_incstring);
|
||||
}
|
||||
|
||||
void
|
||||
recursive_pr_include(head, file, base)
|
||||
struct inclist *head;
|
||||
char *file, *base;
|
||||
{
|
||||
int i;
|
||||
|
||||
if (head->i_flags & MARKED)
|
||||
return;
|
||||
head->i_flags |= MARKED;
|
||||
if (head->i_file != file)
|
||||
pr(head, file, base);
|
||||
for (i=0; i<head->i_listlen; i++)
|
||||
recursive_pr_include(head->i_list[ i ], file, base);
|
||||
}
|
|
@ -1,55 +0,0 @@
|
|||
XCOMM $XConsortium: Imakefile /main/16 1996/11/13 14:43:28 lehors $
|
||||
#if UseCCMakeDepend
|
||||
MDEP_PROG = makedepend
|
||||
#endif
|
||||
|
||||
#ifdef ExportListGenSource
|
||||
EXPORTLISTGEN = exportlistgen
|
||||
#endif
|
||||
|
||||
PROGRAMS = xmkmf $(MDEP_PROG) mergelib ProgramTargetName(makestrs) $(EXPORTLISTGEN) $(CMKDIRHIER)
|
||||
DEPLIBS =
|
||||
DEPEND_DEFINES = $(DEPENDDEFINES)
|
||||
|
||||
XCOMM Some compilers generate fatal errors if an -L directory does
|
||||
XCOMM not exist. Since BUILDLIBDIR may not exist yet suppress its use.
|
||||
LDPRELIB =
|
||||
LDPRELIBS =
|
||||
|
||||
all:: $(PROGRAMS)
|
||||
|
||||
includes:: ProgramTargetName(makestrs)
|
||||
|
||||
#ifdef ExportListGenSource
|
||||
CppScriptTarget(exportlistgen,ExportListGenSource,-DCXXFILT=$(CXXFILT),)
|
||||
InstallNamedProg(exportlistgen,exportlistgen,$(BINDIR))
|
||||
#endif
|
||||
|
||||
CppScriptTarget(xmkmf,xmkmf.cpp,-DCONFIGDIRSPEC='"'"-I$(CONFIGDIR)"'"',$(ICONFIGFILES))
|
||||
CppScriptTarget(makedepend,mdepend.cpp,-DPREPROC='"'"$(PREPROCESSCMD)"'"',$(ICONFIGFILES))
|
||||
CppScriptTarget(mergelib,mergelib.cpp,"-DARCMD=$(AR)" "-DRANLIB=$(RANLIB)",$(ICONFIGFILES))
|
||||
|
||||
#if HasSymLinks
|
||||
#if CrossCompiling
|
||||
SimpleHostProgramTarget(lndir)
|
||||
#else
|
||||
SimpleProgramTarget(lndir)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
NormalProgramTarget(makestrs,makestrs.o,,,)
|
||||
|
||||
InstallNamedProg(xmkmf,xmkmf,$(BINDIR))
|
||||
InstallManPage(xmkmf,$(MANDIR))
|
||||
InstallNamedProg(mkdirhier.sh,mkdirhier,$(BINDIR))
|
||||
InstallManPage(mkdirhier,$(MANDIR))
|
||||
#if UseCCMakeDepend
|
||||
InstallNamedProg(makedepend,makedepend,$(BINDIR))
|
||||
#endif
|
||||
#if SystemV || SystemV4
|
||||
InstallNamedProg(bsdinst.sh,bsdinst,$(BINDIR))
|
||||
#endif
|
||||
InstallNamedProg(mergelib,mergelib,$(BINDIR))
|
||||
|
||||
InstallNamedProg(makeg.sh,makeg,$(BINDIR))
|
||||
InstallManPage(makeg,$(MANDIR))
|
|
@ -1,20 +0,0 @@
|
|||
# $XConsortium: Makefile.ini,v 1.2 94/04/17 14:55:28 gildea Exp $
|
||||
#
|
||||
# A way to get lndir built the first time, before you have imake up
|
||||
# and running. You may well have to specify OSFLAGS=-D<something> to
|
||||
# get it to compile, which values are embedded in config files. What
|
||||
# you would pass as BOOTSTRAPCFLAGS might work.
|
||||
|
||||
OSFLAGS =
|
||||
CC = cc
|
||||
CDEBUGFLAGS = -O
|
||||
INCLUDES = -I.
|
||||
CFLAGS = $(OSFLAGS) $(CDEBUGFLAGS) $(INCLUDES)
|
||||
SHELL = /bin/sh
|
||||
RM = rm -f
|
||||
LN = ln -s
|
||||
|
||||
lndir:
|
||||
$(LN) ../../include X11
|
||||
$(CC) -o lndir $(CFLAGS) lndir.c
|
||||
$(RM) X11
|
|
@ -1,136 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
#
|
||||
# This accepts bsd-style install arguments and makes the appropriate calls
|
||||
# to the System V install.
|
||||
# $XConsortium: bsdinst.sh /main/8 1996/09/28 16:16:11 rws $
|
||||
|
||||
flags=""
|
||||
dst=""
|
||||
src=""
|
||||
dostrip=""
|
||||
owner=""
|
||||
mode=""
|
||||
|
||||
while [ x$1 != x ]; do
|
||||
case $1 in
|
||||
-c) shift
|
||||
continue;;
|
||||
|
||||
-m) flags="$flags $1 $2 "
|
||||
mode="$2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-o) flags="$flags -u $2 "
|
||||
owner="$2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-g) flags="$flags $1 $2 "
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-s) dostrip="strip"
|
||||
shift
|
||||
continue;;
|
||||
|
||||
*) if [ x$src = x ]
|
||||
then
|
||||
src=$1
|
||||
else
|
||||
dst=$1
|
||||
fi
|
||||
shift
|
||||
continue;;
|
||||
esac
|
||||
done
|
||||
|
||||
case "$mode" in
|
||||
"")
|
||||
;;
|
||||
*)
|
||||
case "$owner" in
|
||||
"")
|
||||
flags="$flags -u root"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ x$src = x ]
|
||||
then
|
||||
echo "$0: no input file specified"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ x$dst = x ]
|
||||
then
|
||||
echo "$0: no destination specified"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
# set up some variable to be used later
|
||||
|
||||
rmcmd=""
|
||||
srcdir="."
|
||||
|
||||
# if the destination isn't a directory we'll need to copy it first
|
||||
|
||||
if [ ! -d $dst ]
|
||||
then
|
||||
dstbase=`basename $dst`
|
||||
cp $src /tmp/$dstbase
|
||||
rmcmd="rm -f /tmp/$dstbase"
|
||||
src=$dstbase
|
||||
srcdir=/tmp
|
||||
dst="`echo $dst | sed 's,^\(.*\)/.*$,\1,'`"
|
||||
if [ x$dst = x ]
|
||||
then
|
||||
dst="."
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# If the src file has a directory, copy it to /tmp to make install happy
|
||||
|
||||
srcbase=`basename $src`
|
||||
|
||||
if [ "$src" != "$srcbase" ] && [ "$src" != "./$srcbase" ]
|
||||
then
|
||||
cp $src /tmp/$srcbase
|
||||
src=$srcbase
|
||||
srcdir=/tmp
|
||||
rmcmd="rm -f /tmp/$srcbase"
|
||||
fi
|
||||
|
||||
# do the actual install
|
||||
|
||||
if [ -f /usr/sbin/install ]
|
||||
then
|
||||
installcmd=/usr/sbin/install
|
||||
elif [ -f /etc/install ]
|
||||
then
|
||||
installcmd=/etc/install
|
||||
else
|
||||
installcmd=install
|
||||
fi
|
||||
|
||||
# This rm is commented out because some people want to be able to
|
||||
# install through symbolic links. Uncomment it if it offends you.
|
||||
# rm -f $dst/$srcbase
|
||||
(cd $srcdir ; $installcmd -f $dst $flags $src)
|
||||
|
||||
if [ x$dostrip = xstrip ]
|
||||
then
|
||||
strip $dst/$srcbase
|
||||
fi
|
||||
|
||||
# and clean up
|
||||
|
||||
$rmcmd
|
||||
|
|
@ -1,360 +0,0 @@
|
|||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $TOG: checktree.c /main/8 1998/02/06 11:23:04 kaleb $ */
|
||||
|
||||
/*
|
||||
|
||||
Copyright (c) 1993, 1998 The Open Group
|
||||
|
||||
All Rights Reserved.
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of The Open Group shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from The Open Group.
|
||||
*/
|
||||
|
||||
#include <X11/Xos.h>
|
||||
#include <stdio.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/param.h>
|
||||
#include <errno.h>
|
||||
|
||||
#ifndef X_NOT_POSIX
|
||||
#include <dirent.h>
|
||||
#else
|
||||
#ifdef SYSV
|
||||
#include <dirent.h>
|
||||
#else
|
||||
#ifdef USG
|
||||
#include <dirent.h>
|
||||
#else
|
||||
#include <sys/dir.h>
|
||||
#ifndef dirent
|
||||
#define dirent direct
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef S_IFLNK
|
||||
#define Stat lstat
|
||||
#else
|
||||
#define Stat stat
|
||||
#endif
|
||||
|
||||
#define CHARSALLOWED \
|
||||
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_."
|
||||
|
||||
#define fmode_bits_minset 0444
|
||||
#define fmode_bits_maxset 0777
|
||||
#define fmode_bits_write 0222
|
||||
#define dmode_bits_minset 0775
|
||||
|
||||
#ifdef X_NOT_STDC_ENV
|
||||
extern int errno;
|
||||
#endif
|
||||
|
||||
int dorcs = 1; /* check RCS file */
|
||||
int do83 = 1; /* check for 8+3 clash */
|
||||
int doro = 1; /* disallow writable (checked out) files */
|
||||
int dodot = 1; /* disallow .files */
|
||||
int dotwiddle = 1; /* disallow file~ */
|
||||
|
||||
int dontcare(fn)
|
||||
char *fn;
|
||||
{
|
||||
char *cp;
|
||||
|
||||
if (fn[strlen(fn) - 1] == '~')
|
||||
return 1;
|
||||
cp = strrchr(fn, '.');
|
||||
return cp && (!strcmp(cp + 1, "Z") || !strcmp(cp + 1, "PS"));
|
||||
}
|
||||
|
||||
checkfile(fullname, fn, fs)
|
||||
char *fullname, *fn;
|
||||
struct stat *fs;
|
||||
{
|
||||
char *cp;
|
||||
int maxlen = 12;
|
||||
int len, mode;
|
||||
|
||||
if (dodot && fn[0] == '.') {
|
||||
printf("dot file: %s\n", fullname);
|
||||
return;
|
||||
}
|
||||
for (len = 0, cp = fn; *cp; len++, cp++) {
|
||||
if (!strchr(CHARSALLOWED, *cp)) {
|
||||
if (dotwiddle || *cp != '~' || cp[1])
|
||||
printf ("bad character: %s\n", fullname);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (len > maxlen && !dontcare(fn))
|
||||
printf("too long (%d): %s\n", len, fullname);
|
||||
#ifdef S_IFLNK
|
||||
if ((fs->st_mode & S_IFLNK) == S_IFLNK) {
|
||||
printf("symbolic link: %s\n", fullname);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
mode = fs->st_mode & (~S_IFMT);
|
||||
if ((fs->st_mode & S_IFDIR) == S_IFDIR) {
|
||||
maxlen = 14;
|
||||
if ((mode & dmode_bits_minset) != dmode_bits_minset)
|
||||
printf("directory mode 0%o not minimum 0%o: %s\n",
|
||||
mode, dmode_bits_minset, fullname);
|
||||
} else if ((fs->st_mode & S_IFREG) != S_IFREG)
|
||||
printf("not a regular file: %s\n", fullname);
|
||||
else {
|
||||
if ((mode & fmode_bits_minset) != fmode_bits_minset)
|
||||
printf("file mode 0%o not minimum 0%o: %s\n",
|
||||
fs->st_mode, fmode_bits_minset, fullname);
|
||||
if (fs->st_nlink != 1)
|
||||
printf("%d links instead of 1: %s\n", fs->st_nlink, fullname);
|
||||
if (doro && (mode & fmode_bits_write) && !dontcare(fn))
|
||||
printf("writable: %s\n", fullname);
|
||||
}
|
||||
if ((mode & ~fmode_bits_maxset) != 0)
|
||||
printf("mode 0%o outside maximum set 0%o: %s\n",
|
||||
mode, fmode_bits_maxset, fullname);
|
||||
}
|
||||
|
||||
void
|
||||
checkrcs(dir, p)
|
||||
char *dir;
|
||||
char *p;
|
||||
{
|
||||
DIR *df;
|
||||
struct dirent *dp;
|
||||
struct stat fs;
|
||||
int i;
|
||||
|
||||
if (!(df = opendir(dir))) {
|
||||
fprintf(stderr, "cannot open: %s\n", dir);
|
||||
return;
|
||||
}
|
||||
while (dp = readdir(df)) {
|
||||
i = strlen(dp->d_name);
|
||||
if (dp->d_name[i - 1] == 'v' && dp->d_name[i - 2] == ',') {
|
||||
strcpy(p, dp->d_name);
|
||||
p[i - 2] = '\0';
|
||||
if (Stat(dir, &fs) < 0) {
|
||||
strcpy(p, "RCS/");
|
||||
strcat(p, dp->d_name);
|
||||
printf("not used: %s\n", dir);
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir(df);
|
||||
}
|
||||
|
||||
int
|
||||
Strncmp(cp1, cp2, n)
|
||||
char *cp1, *cp2;
|
||||
int n;
|
||||
{
|
||||
char c1, c2;
|
||||
|
||||
for (; --n >= 0 && *cp1 && *cp2; cp1++, cp2++) {
|
||||
if (*cp1 != *cp2) {
|
||||
c1 = *cp1;
|
||||
c2 = *cp2;
|
||||
if (c1 >= 'A' && c1 <= 'Z')
|
||||
c1 += 'a' - 'A';
|
||||
else if (c1 == '-')
|
||||
c1 = '_';
|
||||
if (c2 >= 'A' && c2 <= 'Z')
|
||||
c2 += 'a' - 'A';
|
||||
else if (c2 == '-')
|
||||
c2 = '_';
|
||||
if (c1 != c2)
|
||||
return (int)c1 - (int)c2;
|
||||
}
|
||||
}
|
||||
if (n < 0)
|
||||
return 0;
|
||||
return (int)*cp1 - (int)*cp2;
|
||||
}
|
||||
|
||||
int
|
||||
fncomp(n1, n2)
|
||||
char **n1, **n2;
|
||||
{
|
||||
int i, res;
|
||||
char *cp1, *cp2;
|
||||
char c1, c2;
|
||||
|
||||
i = Strncmp(*n1, *n2, 8);
|
||||
if (!i) {
|
||||
cp1 = strrchr(*n1, '.');
|
||||
cp2 = strrchr(*n2, '.');
|
||||
if (cp1 || cp2) {
|
||||
if (!cp1)
|
||||
return -1;
|
||||
if (!cp2)
|
||||
return 1;
|
||||
i = Strncmp(cp1 + 1, cp2 + 1, 3);
|
||||
}
|
||||
}
|
||||
return i;
|
||||
}
|
||||
|
||||
void
|
||||
checkdir(dir)
|
||||
char *dir;
|
||||
{
|
||||
DIR *df;
|
||||
struct dirent *dp;
|
||||
char *p;
|
||||
struct stat fs;
|
||||
char *s, **names;
|
||||
int i, max;
|
||||
|
||||
if (!(df = opendir(dir))) {
|
||||
fprintf(stderr, "cannot open: %s\n", dir);
|
||||
return;
|
||||
}
|
||||
p = dir + strlen(dir);
|
||||
if (p[-1] != '/')
|
||||
*p++ = '/';
|
||||
i = 0;
|
||||
max = 0;
|
||||
names = NULL;
|
||||
while (dp = readdir(df)) {
|
||||
strcpy(p, dp->d_name);
|
||||
if (Stat(dir, &fs) < 0) {
|
||||
perror(dir);
|
||||
continue;
|
||||
}
|
||||
if ((fs.st_mode & S_IFDIR) == S_IFDIR) {
|
||||
if (dp->d_name[0] == '.' &&
|
||||
(dp->d_name[1] == '\0' || (dp->d_name[1] == '.' &&
|
||||
dp->d_name[2] == '\0')))
|
||||
continue;
|
||||
if (!strcmp (dp->d_name, "RCS")) {
|
||||
if (dorcs)
|
||||
checkrcs(dir, p);
|
||||
continue;
|
||||
}
|
||||
if (!strcmp (dp->d_name, "SCCS"))
|
||||
continue;
|
||||
if (!strcmp (dp->d_name, "CVS.adm"))
|
||||
continue;
|
||||
checkfile(dir, p, &fs);
|
||||
checkdir(dir);
|
||||
continue;
|
||||
}
|
||||
checkfile(dir, p, &fs);
|
||||
if (dorcs && !dontcare(dp->d_name)) {
|
||||
strcpy(p, "RCS/");
|
||||
strcat(p, dp->d_name);
|
||||
strcat(p, ",v");
|
||||
if (Stat(dir, &fs) < 0) {
|
||||
strcpy(p, dp->d_name);
|
||||
printf("no RCS: %s\n", dir);
|
||||
}
|
||||
}
|
||||
if (do83) {
|
||||
s = (char *)malloc(strlen(dp->d_name) + 1);
|
||||
strcpy(s, dp->d_name);
|
||||
if (i >= max) {
|
||||
max += 25;
|
||||
if (names)
|
||||
names = (char **)realloc((char *)names,
|
||||
(max + 1) * sizeof(char *));
|
||||
else
|
||||
names = (char **)malloc((max + 1) * sizeof(char *));
|
||||
}
|
||||
names[i++] = s;
|
||||
}
|
||||
}
|
||||
closedir(df);
|
||||
if (do83) {
|
||||
qsort((char *)names, i, sizeof(char *), fncomp);
|
||||
max = i - 1;
|
||||
*p = '\0';
|
||||
for (i = 0; i < max; i++) {
|
||||
if (!fncomp(&names[i], &names[i + 1]))
|
||||
printf("8+3 clash: %s%s and %s\n",
|
||||
dir, names[i], names[i + 1]);
|
||||
free(names[i]);
|
||||
}
|
||||
if (names) {
|
||||
free(names[i]);
|
||||
free((char *)names);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
{
|
||||
char buf[2048];
|
||||
|
||||
argc--;
|
||||
argv++;
|
||||
while (argc > 0) {
|
||||
if (!strcmp(*argv, "-rcs")) {
|
||||
dorcs = 0;
|
||||
argc--;
|
||||
argv++;
|
||||
} else if (!strcmp(*argv, "-83")) {
|
||||
do83 = 0;
|
||||
argc--;
|
||||
argv++;
|
||||
} else if (!strcmp(*argv, "-ro")) {
|
||||
doro = 0;
|
||||
argc--;
|
||||
argv++;
|
||||
} else if (!strcmp(*argv, "-dot")) {
|
||||
dodot = 0;
|
||||
argc--;
|
||||
argv++;
|
||||
} else if (!strcmp(*argv, "-twiddle")) {
|
||||
dotwiddle = 0;
|
||||
argc--;
|
||||
argv++;
|
||||
} else
|
||||
break;
|
||||
}
|
||||
if (!argc) {
|
||||
strcpy(buf, ".");
|
||||
checkdir(buf);
|
||||
} else
|
||||
while (--argc >= 0) {
|
||||
strcpy(buf, *argv++);
|
||||
checkdir(buf);
|
||||
}
|
||||
}
|
|
@ -1,93 +0,0 @@
|
|||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $TOG: chownxterm.c /main/4 1998/02/06 11:23:10 kaleb $ */
|
||||
/*
|
||||
|
||||
Copyright (c) 1993, 1994, 1998 The Open Group
|
||||
|
||||
All Rights Reserved.
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of The Open Group shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from The Open Group.
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
* chownxterm --- make xterm suid root
|
||||
*
|
||||
* By Stephen Gildea, December 1993
|
||||
*/
|
||||
|
||||
|
||||
#define XTERM_PATH "/x11/programs/xterm/xterm"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
|
||||
char *prog_name;
|
||||
|
||||
void help()
|
||||
{
|
||||
setgid(getgid());
|
||||
setuid(getuid());
|
||||
printf("chown-xterm makes %s suid root\n", XTERM_PATH);
|
||||
printf("This is necessary on Ultrix for /dev/tty operation.\n");
|
||||
exit(0);
|
||||
}
|
||||
|
||||
void print_error(err_string)
|
||||
char *err_string;
|
||||
{
|
||||
setgid(getgid());
|
||||
setuid(getuid());
|
||||
fprintf(stderr, "%s: \"%s\"", prog_name, err_string);
|
||||
perror(" failed");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
{
|
||||
prog_name = argv[0];
|
||||
if (argc >= 2 && strcmp(argv[1], "-help") == 0) {
|
||||
help();
|
||||
} else {
|
||||
if (chown(XTERM_PATH, 0, -1) != 0)
|
||||
print_error("chown root " XTERM_PATH);
|
||||
if (chmod(XTERM_PATH, 04555) != 0)
|
||||
print_error("chmod 4555 " XTERM_PATH);
|
||||
}
|
||||
exit(0);
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
#!/bin/sh
|
||||
lib=$1
|
||||
shift
|
||||
if cray2; then
|
||||
bld cr $lib `lorder $* | tsort`
|
||||
else
|
||||
ar -cq $lib $*
|
||||
fi
|
||||
|
|
@ -1,215 +0,0 @@
|
|||
XCOMM!/bin/sh
|
||||
XCOMM $TOG: elistgen.hp /main/5 1999/04/16 13:54:01 mgreess $
|
||||
XCOMM
|
||||
XCOMM #########################################################################
|
||||
XCOMM Construct shared-library export lists for HP-UX based on standardized
|
||||
XCOMM export list description file
|
||||
XCOMM
|
||||
XCOMM Usage: exportlistgen libfoo.sl libfoo.elist > libfoo.lopt
|
||||
XCOMM
|
||||
XCOMM libfoo.sl => shared library of interest
|
||||
XCOMM libfoo.elist => Meta description of necessary export list.
|
||||
XCOMM
|
||||
XCOMM The output may then be passed to the linker to reconstruct the
|
||||
XCOMM shared library. For unknown reasons naming only exported symbols
|
||||
XCOMM with "+e" does not work for debuggable C++ code, even though "nm"
|
||||
XCOMM reports no difference between the resulting libraries. The linker
|
||||
XCOMM complains that "first non-inline virtual function" is not defined for
|
||||
XCOMM vtables. We instead hide internal symbols with "-h" as a work-around.
|
||||
XCOMM
|
||||
XCOMM Author: Aloke Gupta 5/25/94.
|
||||
XCOMM (c) Copyright 1996 Digital Equipment Corporation.
|
||||
XCOMM (c) Copyright 1994,1996 Hewlett-Packard Company.
|
||||
XCOMM (c) Copyright 1996 International Business Machines Corp.
|
||||
XCOMM (c) Copyright 1996 Sun Microsystems, Inc.
|
||||
XCOMM (c) Copyright 1996 Novell, Inc.
|
||||
XCOMM (c) Copyright 1996 FUJITSU LIMITED.
|
||||
XCOMM (c) Copyright 1996 Hitachi.
|
||||
XCOMM
|
||||
XCOMM #########################################################################
|
||||
|
||||
XCOMM Utility programs
|
||||
FILTER=CXXFILT # C++ symbol demangler
|
||||
AWK=awk # awk
|
||||
PATH=/usr/bin:/bin:/usr/ucb # For nm, cat, pr, expand, awk, c++filt
|
||||
|
||||
XCOMM Temporary files
|
||||
EXPORTLIST=/tmp/elistgen1.$$ # list of export symbols from "libfoo.elist"
|
||||
NMLIST=/tmp/elistgen2.$$ # name list from libfoo.sl
|
||||
FILTLIST=/tmp/elistgen3.$$ # demangled (C++) version of NMLIST
|
||||
|
||||
XCOMM Print useful information at the top of the output
|
||||
echo "#" `date`
|
||||
echo "# This linker options list was produced by" $0
|
||||
echo "# Input export list description taken from:" $2
|
||||
echo "# Target library:" $1
|
||||
echo "# Target Operating System:" `uname -msrv`
|
||||
echo "# "
|
||||
|
||||
XCOMM Extract the globally visible symbols from target library
|
||||
XCOMM The NMLIST generated here is later used to cross-check the symbols in the
|
||||
XCOMM supplied export-list.
|
||||
XCOMM
|
||||
nm -p $1 | $AWK '
|
||||
/ [cCTDB][S ] [^\$]/{print $3} # Text, Data, BSS, or Secondary symbols
|
||||
' | uniq > $NMLIST.all
|
||||
|
||||
nm -p $1 | $AWK '
|
||||
/ [uU][S ] [^\$]/{print $3} # Text, Data, BSS, or Secondary symbols
|
||||
' | uniq > $NMLIST.undef
|
||||
|
||||
cat $NMLIST.all $NMLIST.undef $NMLIST.undef | sort | uniq -c | $AWK '{if ($1=="1") print $2}' > $NMLIST
|
||||
|
||||
|
||||
XCOMM nm -p $1 | $AWK '
|
||||
XCOMM / [cCTDB][S ] [^\$]/{print $3} # Text, Data, BSS, or Secondary symbols
|
||||
XCOMM ' > $NMLIST
|
||||
|
||||
XCOMM Demangle the global library symbols. This operation is necessary to
|
||||
XCOMM convert mangled C++ symbols into their C++ notation.
|
||||
${FILTER:-cat} $NMLIST > $FILTLIST
|
||||
|
||||
XCOMM
|
||||
XCOMM Cleanup the export-list description file.
|
||||
XCOMM Note that C++ symbols may have embedded spaces in them.
|
||||
XCOMM
|
||||
cat $2 | $AWK '
|
||||
BEGIN {
|
||||
csyms = 0; # C language symbols in libfoo.list
|
||||
cplusplus = 0; # C++ language symbols in libfoo.list
|
||||
isyms = 0; # C internal symbols in libfoo.elist
|
||||
icplusplus = 0; # C++ internal symbols in libfoo.elist
|
||||
implicit = ""; # Handling of implicit symbols.
|
||||
}
|
||||
$1 == "default" {
|
||||
# A default clause suppresses warnings about implicit symbols.
|
||||
if ($2 != "" && $2 != "force" && $2 != "public" &&
|
||||
$2 != "private" && $2 != "internal") {
|
||||
print "# Warning: illegal default clause:", $2 | "cat 1>&2";
|
||||
next;
|
||||
}
|
||||
if (implicit != "")
|
||||
print "# Warning: multiple default clauses." | "cat 1>&2";
|
||||
implicit = $2;
|
||||
next;
|
||||
}
|
||||
$1 == "force" || $1 == "public" || $1 == "private" {
|
||||
csyms ++;
|
||||
print $1 ";;" $2;
|
||||
next;
|
||||
}
|
||||
$1 == "publicC++" || $1 == "privateC++" {
|
||||
cplusplus ++;
|
||||
string = $2;
|
||||
for (n = 3; n <= NF; n++)
|
||||
string = string " " $n;
|
||||
print $1 ";;" string;
|
||||
next;
|
||||
}
|
||||
$1 == "internal" {
|
||||
isyms ++;
|
||||
print $1 ";;" $2;
|
||||
next;
|
||||
}
|
||||
$1 == "internalC++" {
|
||||
icplusplus ++;
|
||||
string = $2;
|
||||
for (n = 3; n <= NF; n++)
|
||||
string = string " " $n;
|
||||
print $1 ";;" string;
|
||||
next;
|
||||
}
|
||||
END {
|
||||
printf("# Exporting %d C and %d C++ symbols, hiding %d and %d.\n",
|
||||
csyms, cplusplus, isyms, icplusplus) | "cat 1>&2";
|
||||
if (implicit != "") {
|
||||
print "# Unspecified symbols are " implicit "." | "cat 1>&2";
|
||||
print "default;;" implicit;
|
||||
}
|
||||
}
|
||||
' > $EXPORTLIST
|
||||
|
||||
XCOMM Read in the above files and write result to stdout. The contents
|
||||
XCOMM of NMLIST and FILTLIST are used to construct a symbol lookup table.
|
||||
XCOMM The contents of EXPORTLIST are converted with the help of this table.
|
||||
XCOMM Use ";" as a delimiter in the symbol lookup table.
|
||||
XCOMM
|
||||
(pr -m -s";" -t -w1024 $NMLIST $FILTLIST| expand -t 1;cat $EXPORTLIST ) | $AWK '
|
||||
BEGIN {
|
||||
FS = ";";
|
||||
implicit = 0;
|
||||
}
|
||||
NF == 2 {
|
||||
# This is "pr" output, i.e., symbol translation table.
|
||||
syms[$2] = $1;
|
||||
next;
|
||||
}
|
||||
NF == 3 && $1 == "default" {
|
||||
# Treatment of unspecified symbols.
|
||||
if ($3 == "internal" || $3 == "internalC++")
|
||||
implicit = 1;
|
||||
else if ($3 == "private" || $3 == "privateC++")
|
||||
implicit = 2;
|
||||
else if ($3 == "public" || $3 == "publicC++")
|
||||
implicit = 3;
|
||||
else # $3 == "force"
|
||||
implicit = 4;
|
||||
next;
|
||||
}
|
||||
NF == 3 {
|
||||
# Parse our instructions for this symbol.
|
||||
if ($1 == "internal" || $1 == "internalC++")
|
||||
export = 1;
|
||||
else if ($1 == "private" || $1 == "privateC++")
|
||||
export = 2;
|
||||
else if ($1 == "public" || $1 == "publicC++")
|
||||
export = 3;
|
||||
else # $1 == "force"
|
||||
export = 4;
|
||||
|
||||
# Process it.
|
||||
if (length(syms[$3]) > 0) {
|
||||
if (donelist[$3])
|
||||
print "# Warning: Duplicate entry for", $3,
|
||||
"in export list" | "cat 1>&2";
|
||||
if (donelist[$3] < export)
|
||||
donelist[$3] = export;
|
||||
} else {
|
||||
if (export == 4)
|
||||
donelist[$3] = export;
|
||||
else
|
||||
print "# Warning:", $3,
|
||||
"was not in the nm list for this library" | "cat 1>&2";
|
||||
}
|
||||
next;
|
||||
}
|
||||
END {
|
||||
# Force implicit exporting of errno.
|
||||
if (! donelist["errno"])
|
||||
donelist["errno"] = 4;
|
||||
|
||||
# Complain about some implicit symbols.
|
||||
for (i in syms) {
|
||||
if (!donelist[i] && (length(syms[i]) > 0)) {
|
||||
# Ignore automatic symbols generated by the C++ compiler.
|
||||
if (implicit == 0 &&
|
||||
(syms[i] !~ /^__noperfopt__/) &&
|
||||
(syms[i] !~ /^__ptbl_vec__/) &&
|
||||
(syms[i] !~ /^__vtbl__[0-9]*_/) &&
|
||||
(syms[i] !~ /^__cfront_version_[0-9]*_xxxxxxxx$/))
|
||||
print "# Warning:", syms[i],
|
||||
"was not in the export list" | "cat 1>&2";
|
||||
donelist[i] = implicit;
|
||||
}
|
||||
if ((donelist[i] > 1) && (length(syms[i]) > 0))
|
||||
print "-e", syms[i];
|
||||
}
|
||||
}
|
||||
'
|
||||
|
||||
XCOMM Clean up temporary files
|
||||
rm $EXPORTLIST
|
||||
rm $NMLIST.all
|
||||
rm $NMLIST.undef
|
||||
rm $NMLIST
|
||||
rm $FILTLIST
|
|
@ -1,220 +0,0 @@
|
|||
XCOMM!/bin/sh
|
||||
XCOMM $XConsortium: elistgen.ibm /main/2 1996/12/04 10:13:18 swick $
|
||||
XCOMM
|
||||
XCOMM #########################################################################
|
||||
XCOMM Construct shared-library export lists for IBM-AIX based on standardized
|
||||
XCOMM export list description file
|
||||
XCOMM
|
||||
XCOMM Usage: elistgen libfoo.sl libfoo.elist > libfoo.lopt
|
||||
XCOMM
|
||||
XCOMM libfoo.a => shared library of interest
|
||||
XCOMM libfoo.elist => Meta description of necessary export list.
|
||||
XCOMM
|
||||
XCOMM The output file, "libfoo.lopt" may then be passed to the IBM linker to
|
||||
XCOMM reconstruct the shared library, libfoo.sl.
|
||||
XCOMM
|
||||
XCOMM Author: Yanling Qi 10/03/94, Last updated 10/03/94
|
||||
XCOMM (c) Copyright 1996 Digital Equipment Corporation.
|
||||
XCOMM (c) Copyright 1996 Hewlett-Packard Company.
|
||||
XCOMM (c) Copyright 1994,1996 International Business Machines Corp.
|
||||
XCOMM (c) Copyright 1996 Sun Microsystems, Inc.
|
||||
XCOMM (c) Copyright 1996 Novell, Inc.
|
||||
XCOMM (c) Copyright 1996 FUJITSU LIMITED.
|
||||
XCOMM (c) Copyright 1996 Hitachi.
|
||||
XCOMM
|
||||
XCOMM #########################################################################
|
||||
|
||||
#define HASH #
|
||||
|
||||
XCOMM Utility programs
|
||||
FILTER=CXXFILT # C++ symbol demangler
|
||||
AWK=awk # awk
|
||||
|
||||
XCOMM For dump, cat, pr, expand, awk, c++filt
|
||||
PATH=/usr/bin:/bin:/usr/ucb:/usr/lpp/xlC/bin
|
||||
|
||||
XCOMM Temporary files
|
||||
EXPORTLIST=/tmp/elistgen1.$$ # export directives from "libfoo.list"
|
||||
NMLIST=/tmp/elistgen2.$$ # name list from libfoo.sl
|
||||
FILTLIST=/tmp/elistgen3.$$ # demangled (C++) version of above
|
||||
|
||||
XCOMM Print useful information
|
||||
echo "*" `date`
|
||||
echo "* This linker options list was produced by" $0
|
||||
echo "* Input export list description taken from:" $2
|
||||
echo "* Target library:" $1
|
||||
echo "* Target Operating System:" `uname`
|
||||
echo "*"
|
||||
|
||||
XCOMM Extract the globally visible symbols from target library
|
||||
dump -g $1 | $AWK '$1 ~ /[0-9][0-9]/ && $2 !~ /^[\.]/ {print $2}' > $NMLIST
|
||||
|
||||
XCOMM Demangle the global library symbols
|
||||
${FILTER:-cat} $NMLIST > $FILTLIST
|
||||
|
||||
XCOMM
|
||||
XCOMM Clean up the export-list description file.
|
||||
XCOMM Note that C++ symbols may have embedded spaces in them.
|
||||
XCOMM
|
||||
$AWK '
|
||||
BEGIN {
|
||||
csyms = 0; # C language symbols in libfoo.list
|
||||
cplusplus = 0; # C++ language symbols in libfoo.list
|
||||
isyms = 0; # C internal symbols in libfoo.list
|
||||
iplusplus = 0; # C++ internal symbols in libfoo.list
|
||||
count = 0; # Running count of symbols
|
||||
implicit = ""; # Handling of implicit symbols.
|
||||
}
|
||||
$1 == "default" {
|
||||
HASH A default clause suppresses warnings about implicit symbols.
|
||||
if ($2 != "" && $2 != "force" && $2 != "public" &&
|
||||
$2 != "private" && $2 != "internal") {
|
||||
print "# Warning: illegal default clause:", $2 | "cat 1>&2";
|
||||
next;
|
||||
}
|
||||
if (implicit != "")
|
||||
print "# Warning: multiple default clauses." | "cat 1>&2";
|
||||
implicit = $2;
|
||||
next;
|
||||
}
|
||||
$1 == "force" || $1 == "public" || $1 == "private" {
|
||||
csyms ++;
|
||||
symbol[count++] = $1 ";;" $2;
|
||||
next;
|
||||
}
|
||||
$1 == "publicC++" || $1 == "privateC++" {
|
||||
HASH forceC++ is unsupported because we only know how to demangle,
|
||||
HASH not how to mangle symbols, and the final ld input file must
|
||||
HASH be mangled.
|
||||
cplusplus ++;
|
||||
string = $2;
|
||||
for (n = 3; n <= NF; n++)
|
||||
string = string " " $n;
|
||||
symbol[count++] = $1 ";;" string;
|
||||
next;
|
||||
}
|
||||
$1 == "internal" {
|
||||
isyms ++;
|
||||
symbol[count++] = $1 ";;" $2;
|
||||
next;
|
||||
}
|
||||
$1 == "internalC++" {
|
||||
iplusplus ++;
|
||||
string = ";;" $2;
|
||||
for (n = 3; n <= NF; n++)
|
||||
string = string " " $n;
|
||||
symbol[count++] = $1 ";;" string;
|
||||
next;
|
||||
}
|
||||
$1 == "#line" || $1 == "#" {
|
||||
HASH cpp will have removed comments, but may have added other stuff.
|
||||
next;
|
||||
}
|
||||
NF > 0 {
|
||||
print "# Warning: unrecognized directive:", $0 | "cat 1>&2";
|
||||
next;
|
||||
}
|
||||
END {
|
||||
printf("# Exporting %d C and %d C++ symbols, hiding %d and %d.\n",
|
||||
csyms, cplusplus, isyms, iplusplus) | "cat 1>&2";
|
||||
if (implicit != "") {
|
||||
print "# Unspecified symbols are " implicit "." | "cat 1>&2";
|
||||
print "default;;" implicit;
|
||||
}
|
||||
for (i in symbol)
|
||||
print symbol[i];
|
||||
}
|
||||
' $2 > $EXPORTLIST
|
||||
|
||||
XCOMM
|
||||
XCOMM Read in the above files and write result to stdout. Use the
|
||||
XCOMM delimiter ";" to identify the entries in the symbol lookup table.
|
||||
XCOMM
|
||||
(pr -m -s";" -t -w1024 $NMLIST $FILTLIST | expand -t 1; cat $EXPORTLIST) | $AWK '
|
||||
BEGIN {
|
||||
FS = ";";
|
||||
implicit = 0;
|
||||
}
|
||||
NF == 2 {
|
||||
HASH This is "pr" output, i.e., symbol translation table
|
||||
r2=$2
|
||||
gsub(/ /,"",r2); # Remove spaces because c++filt is unpredictable
|
||||
syms[r2] = $1;
|
||||
r1=$1;
|
||||
gsub(/ /,"",r1);
|
||||
mangled[r1] = 1; # Save the mangling because the export lists
|
||||
HASH sometimes use it instead of a prototype.
|
||||
next;
|
||||
}
|
||||
NF == 3 && $1 == "default" {
|
||||
HASH Treatment of unspecified symbols.
|
||||
if ($3 == "internal")
|
||||
implicit = 1;
|
||||
else if ($3 == "private" || $3 == "privateC++")
|
||||
implicit = 2;
|
||||
else if ($3 == "public" || $3 == "publicC++")
|
||||
implicit = 3;
|
||||
else # $3 == "force"
|
||||
implicit = 4;
|
||||
next;
|
||||
}
|
||||
NF == 3 {
|
||||
HASH Generate canonical demangled form as an alternate symbol.
|
||||
alt=$3;
|
||||
gsub(/ \.\.\./,",...",alt); # change " ..." to ",..." to match c++filt
|
||||
gsub(/ /,"",alt); # remove all spaces
|
||||
gsub(/\(void\)/,"()",alt); # change "(void)" to "()" to match c++filt
|
||||
|
||||
HASH Parse our instructions for this symbol.
|
||||
if ($1 == "internal" || $1 == "internalC++")
|
||||
export = 1;
|
||||
else if ($1 == "private" || $1 == "privateC++")
|
||||
export = 2;
|
||||
else if ($1 == "public" || $1 == "publicC++")
|
||||
export = 3;
|
||||
else # $1 == "force"
|
||||
export = 4;
|
||||
|
||||
HASH Process it.
|
||||
if ((length(syms[alt]) > 0) || mangled[alt]) {
|
||||
HASH This symbol is present in the library.
|
||||
if (donelist[alt])
|
||||
print "# Warning: Duplicate entry for", $3,
|
||||
"in export list" | "cat 1>&2";
|
||||
if (donelist[alt] < export) {
|
||||
if (export > 1)
|
||||
print syms[alt];
|
||||
donelist[alt] = export;
|
||||
}
|
||||
} else {
|
||||
HASH Print forced-export symbols without complaining.
|
||||
if (export == 4) {
|
||||
print alt;
|
||||
donelist[alt] = export;
|
||||
} else {
|
||||
print "# Warning:", $3,
|
||||
"was not in the nm list for this library" | "cat 1>&2";
|
||||
}
|
||||
}
|
||||
|
||||
next;
|
||||
}
|
||||
END {
|
||||
HASH Process implicit symbols.
|
||||
for (i in syms) {
|
||||
if ((! donelist[i]) && (length(syms[i]) > 0)) {
|
||||
HASH Do not complain about C++ virtual function tables.
|
||||
if (implicit == 0 && syms[i] !~ /^__vft[0-9]*_/)
|
||||
print "# Warning:", syms[i],
|
||||
"was not in the export list" | "cat 1>&2";
|
||||
if (implicit > 1)
|
||||
print syms[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
'
|
||||
|
||||
XCOMM Clean up temporary files
|
||||
rm $EXPORTLIST
|
||||
rm $NMLIST
|
||||
rm $FILTLIST
|
|
@ -1,270 +0,0 @@
|
|||
XCOMM!/bin/sh -f
|
||||
XCOMM $TOG: elistgen.sun /main/9 1999/09/07 17:54:17 mgreess $
|
||||
XCOMM
|
||||
XCOMM ########################################################################
|
||||
XCOMM Construct shared-library scoping mapfile for Solaris based on standardized
|
||||
XCOMM export list description file
|
||||
XCOMM
|
||||
XCOMM Usage: exportlistgen libfoo.so libfoo.elist > mapfile.scope
|
||||
XCOMM
|
||||
XCOMM libfoo.so => shared library of interest
|
||||
XCOMM libfoo.elist => Meta description of necessary export list.
|
||||
XCOMM
|
||||
XCOMM The output file, "mapfile.scope" may then be passed to the Solaris
|
||||
XCOMM linker to reconstruct the shared library, libfoo.so.
|
||||
XCOMM
|
||||
XCOMM ########################################################################
|
||||
|
||||
XCOMM Utility programs
|
||||
FILTER=CXXFILT # C++ symbol demangler
|
||||
AWK=nawk # Awk
|
||||
|
||||
XCOMM For nm, cat, pr, expand, awk, c++filt
|
||||
PATH=/usr/bin:/bin:/usr/ccs/bin:/usr/ucb:/opt/SUNWspro/bin
|
||||
|
||||
XCOMM Try to detect broken versions of c++filt.
|
||||
if [ `echo _okay | ${FILTER:-cat}` != "_okay" ]; then
|
||||
if [ -x /opt/SUNWspro/bin/c++filt ]; then
|
||||
echo "# Your $FILTER is broken -- using /opt/SUNWspro/bin/c++filt."
|
||||
FILTER=/opt/SUNWspro/bin/c++filt
|
||||
else
|
||||
echo "# ERROR: no working $FILTER available."
|
||||
exit 1
|
||||
fi;
|
||||
fi;
|
||||
|
||||
XCOMM Temporary files
|
||||
EXPORTLIST=/tmp/elistgen1.$$ # export directives from "libfoo.list"
|
||||
NMLIST=/tmp/elistgen2.$$ # name list from libfoo.sl
|
||||
FILTLIST=/tmp/elistgen3.$$ # demangled (C++) version of above
|
||||
|
||||
XCOMM Print useful information at the top of the output
|
||||
echo "#" `date`
|
||||
echo "# This scoping mapfile was produced by" $0
|
||||
echo "# Export list description taken from:" $2
|
||||
echo "# Target library:" $1
|
||||
echo "# Target Operating System:" `uname -msrv`
|
||||
echo "# "
|
||||
|
||||
XCOMM Extract the globally visible symbols from target library
|
||||
XCOMM The NMLIST generated here is later used to cross-check the symbols in the
|
||||
XCOMM nm stopped working on Solaris 2.5, use dump instead.
|
||||
XCOMM nm -p $1 | $AWK '/ [ TDBS] /{print $3}' > $NMLIST
|
||||
/usr/ccs/bin/dump -t -v $1 | egrep "(FUNC|OBJT).(GLOB|WEAK)" | egrep -v "(FUNC|OBJT).(GLOB|WEAK). *[0-9]. *UNDEF" | $AWK '{print $8}' > $NMLIST
|
||||
|
||||
XCOMM Extract the globally visible symbols from target library
|
||||
XCOMM The NMLIST generated here is later used to cross-check the symbols in the
|
||||
${FILTER:-cat} $NMLIST > $FILTLIST
|
||||
|
||||
XCOMM Clean up the export-list description file. Sort the directives.
|
||||
$AWK '
|
||||
BEGIN {
|
||||
csyms = 0; # C public symbols in libfoo.list
|
||||
cplusplus = 0; # C++ public symbols in libfoo.list
|
||||
isyms = 0; # C internal symbols in libfoo.list
|
||||
iplusplus = 0; # C++ internal symbols in libfoo.list
|
||||
implicit = ""; # Handling of implicit symbols
|
||||
}
|
||||
$1 == "default" {
|
||||
# A default clause suppresses warnings about implicit symbols.
|
||||
if ($2 != "" && $2 != "force" && $2 != "public" && $2 != "private" && $2 != "internal") {
|
||||
print "# Warning: illegal default clause:", $2 | "cat 1>&2";
|
||||
next;
|
||||
}
|
||||
if (implicit != "")
|
||||
print "# Warning: multiple default clauses." | "cat 1>&2";
|
||||
implicit = $2;
|
||||
next;
|
||||
}
|
||||
$1 == "force" {
|
||||
csyms ++;
|
||||
print $1 ";;" $2;
|
||||
next;
|
||||
}
|
||||
$1 == "public" {
|
||||
csyms ++;
|
||||
print $1 ";;" $2;
|
||||
next;
|
||||
}
|
||||
$1 == "publicC++" {
|
||||
cplusplus ++;
|
||||
string = $2;
|
||||
for (n = 3; n <= NF; n++)
|
||||
string = string " " $n;
|
||||
print $1 ";;" string;
|
||||
next;
|
||||
}
|
||||
$1 == "private" {
|
||||
csyms ++;
|
||||
print $1 ";;" $2;
|
||||
next;
|
||||
}
|
||||
$1 == "privateC++" {
|
||||
cplusplus ++;
|
||||
string = $2;
|
||||
for (n = 3; n <= NF; n++)
|
||||
string = string " " $n;
|
||||
print $1 ";;" string;
|
||||
next;
|
||||
}
|
||||
$1 == "internal" {
|
||||
isyms ++;
|
||||
print $1 ";;" $2;
|
||||
next;
|
||||
}
|
||||
$1 == "internalC++" {
|
||||
iplusplus ++;
|
||||
string = $2;
|
||||
for (n = 3; n <= NF; n++)
|
||||
string = string " " $n;
|
||||
print $1 ";;" string;
|
||||
next;
|
||||
}
|
||||
$1 == "#line" || $1 == "#" {
|
||||
# cpp will have removed comments, but may have added other stuff.
|
||||
next;
|
||||
}
|
||||
NF > 0 {
|
||||
print "# Warning: unrecognized directive:", $0 | "cat 1>&2";
|
||||
next;
|
||||
}
|
||||
END {
|
||||
printf("# Exporting %d C and %d C++ symbols, hiding %d and %d.\n", csyms, cplusplus, isyms, iplusplus) | "cat 1>&2";
|
||||
if (implicit != "") {
|
||||
print "# Unspecified symbols are " implicit "." | "cat 1>&2";
|
||||
print "default;;" implicit;
|
||||
}
|
||||
}
|
||||
' $2 1>$EXPORTLIST
|
||||
|
||||
|
||||
XCOMM Read in the above files and write result to stdout. The contents
|
||||
XCOMM of NMLIST and FILTLIST are used to construct a symbol lookup table.
|
||||
XCOMM The contents of EXPORTLIST are converted with the help of this table.
|
||||
XCOMM Use ";" as a delimiter in the symbol lookup table.
|
||||
(pr -m -s";" -t -w1024 $NMLIST $FILTLIST | expand -1; cat $EXPORTLIST) | $AWK '
|
||||
BEGIN {
|
||||
FS = ";";
|
||||
implicit = 0;
|
||||
}
|
||||
NF == 2 {
|
||||
# This is "pr" output, i.e., symbol translation table
|
||||
r2=$2;
|
||||
gsub(/static /,"",r2); # remove keyword "static" as above
|
||||
gsub(/ /,"",r2); # Remove spaces because c++filt is unpredictable
|
||||
syms[r2] = $1;
|
||||
r1=$1;
|
||||
gsub(/ /,"",r1);
|
||||
mangled[r1] = 1; # Save the mangling because the export lists
|
||||
# sometimes use it instead of a prototype.
|
||||
next;
|
||||
}
|
||||
NF == 3 && $1 == "default" {
|
||||
# Treatment of unspecified symbols.
|
||||
if ($3 == "internal" || $3 == "internalC++")
|
||||
implicit = 1;
|
||||
else if ($3 == "private" || $3 == "privateC++")
|
||||
implicit = 2;
|
||||
else if ($3 == "public" || $3 == "publicC++")
|
||||
implicit = 3;
|
||||
else # $3 == "force"
|
||||
implicit = 4;
|
||||
next;
|
||||
}
|
||||
NF == 3 {
|
||||
# Generate canonical demangled form as an alternate symbol.
|
||||
alt=$3;
|
||||
gsub(/ \.\.\./,",...",alt); # change " ..." to ",..." to match c++filt
|
||||
gsub(/ /,"",alt); # remove all spaces
|
||||
|
||||
# An export directive. Parse our instructions for this symbol.
|
||||
if ($1 == "internal" || $1 == "internalC++")
|
||||
export = 1;
|
||||
else if ($3 == "private" || $3 == "privateC++")
|
||||
export = 2;
|
||||
else if ($3 == "public" || $3 == "publicC++")
|
||||
export = 3;
|
||||
else # $3 == "force"
|
||||
export = 4;
|
||||
|
||||
# Process it.
|
||||
if ((length(syms[alt]) > 0) || mangled[alt]) {
|
||||
# This symbol is present in the library.
|
||||
if (donelist[alt])
|
||||
print "# Warning: Duplicate entry for", $3,
|
||||
"in export list" | "cat 1>&2";
|
||||
if (donelist[alt] < export) {
|
||||
donelist[alt] = export;
|
||||
}
|
||||
} else {
|
||||
# Print forced-export symbols without complaining.
|
||||
if (export == 4) {
|
||||
donelist[alt] = export;
|
||||
} else {
|
||||
print "# Warning:", $3,
|
||||
"was not in the nm list for this library" | "cat 1>&2";
|
||||
}
|
||||
}
|
||||
|
||||
next;
|
||||
}
|
||||
END {
|
||||
# Ignore magic linker symbols.
|
||||
if (implicit == 0) {
|
||||
if (!donelist["_DYNAMIC"])
|
||||
donelist["_DYNAMIC"] = 1;
|
||||
if (!donelist["_GLOBAL_OFFSET_TABLE_"])
|
||||
donelist["_GLOBAL_OFFSET_TABLE_"] = 1;
|
||||
if (!donelist["_PROCEDURE_LINKAGE_TABLE_"])
|
||||
donelist["_PROCEDURE_LINKAGE_TABLE_"] = 1;
|
||||
if (!donelist["_edata"])
|
||||
donelist["_edata"] = 1;
|
||||
if (!donelist["_end"])
|
||||
donelist["_end"] = 1;
|
||||
if (!donelist["_etext"])
|
||||
donelist["_etext"] = 1;
|
||||
}
|
||||
|
||||
# Process implicit symbols.
|
||||
for (i in syms) {
|
||||
if (donelist[i] == 0 && length(syms[i]) > 0) {
|
||||
if (implicit == 0) {
|
||||
# Ignore magic symbols introduced by the C++ compiler.
|
||||
if ((syms[i] !~ /[_a-zA-Z0-9]*__vtbl$/) &&
|
||||
(syms[i] !~ /libC_errors/) &&
|
||||
(syms[i] !~ /_ex_/) &&
|
||||
(syms[i] !~ /__rt/) &&
|
||||
(syms[i] !~ /__RT/) &&
|
||||
(syms[i] !~ /^__ptbl_vec__/))
|
||||
print "# Warning:", syms[i], "was not in the export list" | "cat 1>&2";
|
||||
} else {
|
||||
donelist[i] = implicit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Generate the linker file.
|
||||
print "";
|
||||
print "SUNW.1.1 {";
|
||||
print " global:";
|
||||
for (i in syms)
|
||||
if (donelist[i] >= 2 && length(syms[i]) > 0)
|
||||
print " " syms[i] ";";
|
||||
print " local:";
|
||||
print " *;";
|
||||
print "};";
|
||||
|
||||
print "";
|
||||
print "SUNW_private.1.1 {";
|
||||
print " global:";
|
||||
for (i in syms)
|
||||
if (donelist[i] == 1 && length(syms[i]) > 0)
|
||||
print " " syms[i] ";";
|
||||
print "} SUNW.1.1;"
|
||||
}
|
||||
'
|
||||
|
||||
XCOMM Clean up temporary files
|
||||
rm $EXPORTLIST
|
||||
rm $NMLIST
|
||||
rm $FILTLIST
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue