home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OpenStep 4.2J (Developer)
/
os42jdev.iso
/
NextDeveloper
/
Makefiles
/
pb_makefiles
/
compatibility.make
< prev
next >
Wrap
Text File
|
1997-02-07
|
3KB
|
110 lines
#
# compatibility.make
#
# This file provides backward-compatibility with projects which used to
# be built using project_makefiles. If you have not used any internal
# makefile api, then your old-style projects should build if this makefile
# is included. If you have used internal api, careful examination of your
# product should indicate what changes are necessary for it to build both
# under project_makefiles and pb_makefiles.
#
#
# Variables on LHS are used by the client
#
SYM_DIR = $(SFILE_DIR)
DERIVED_SRC_DIR = $(SFILE_DIR)
PRODUCT_ROOT = $(PRODUCT_DIR)
RESOURCES_ROOT = $(GLOBAL_RESOURCE_DIR)
#
# Variables on RHS are defined by the client
#
OTHER_YFLAGS = $(YFLAGS)
OTHER_LFLAGS = $(LFLAGS)
OTHER_PSWFLAGS = $(PSWFLAGS)
OTHER_RPCFLAGS = $(RPCFLAGS)
LOCAL_LDFLAGS += $(OTHER_LIBTOOL_FLAGS)
OTHER_STRIPFLAGS += $(APP_STRIP_OPTS)
PROFILE_BUILD_LIBS = $(PROF_LIBS)
V = $(VAR_NAME)
ifeq "" "$(VERSION_NAME)"
VERSION_NAME = $(DEPLOY_WITH_VERSION_NAME)
endif
ifeq "" "$(VERSION_NAME)"
VERSION_NAME = UNSPECIFIED
endif
INCLUDED_OSS = $(INCLUDED_PLATFORMS)
INCLUDED_OSS := $(subst winnt,WINDOWS,$(INCLUDED_OSS))
INCLUDED_OSS := $(subst nextstep,NEXTSTEP,$(INCLUDED_OSS))
INCLUDED_OSS := $(subst hpux,HPUX,$(INCLUDED_OSS))
INCLUDED_OSS := $(subst solaris,SOLARIS,$(INCLUDED_OSS))
EXCLUDED_OSS = $(EXCLUDED_PLATFORMS)
EXCLUDED_OSS := $(subst winnt,WINDOWS,$(EXCLUDED_OSS))
EXCLUDED_OSS := $(subst nextstep,NEXTSTEP,$(EXCLUDED_OSS))
EXCLUDED_OSS := $(subst hpux,HPUX,$(EXCLUDED_OSS))
EXCLUDED_OSS := $(subst solaris,SOLARIS,$(EXCLUDED_OSS))
ifneq "" "$($(OS)_PUBLIC_HEADERS_DIR)"
PUBLIC_HEADER_DIR = $($(OS)_PUBLIC_HEADERS_DIR)
endif
ifneq "" "$(PUBLIC_HEADER_DIR)"
PUBLIC_HDR_INSTALLDIR = $(PUBLIC_HEADER_DIR)
endif
ifneq "" "$(PRIVATE_HEADER_DIR)"
PRIVATE_HDR_INSTALLDIR = $(PRIVATE_HEADER_DIR)
endif
BEFORE_BUILD_RECURSION += $(OTHER_INITIAL_TARGETS)
ifeq "YES" "$(SKIP_EXPORTING_HEADERS)"
SKIP_PREBUILD = YES
endif
#
# Variables the client should provide, but doesn't
#
include $(MAKEFILEDIR)/platform.make
ALL_SUBPROJECTS := $(LIBRARIES) $(LIBRARY_SUBPROJECTS) $(FRAMEWORK_SUBPROJECTS) $(SUBPROJECTS) $(BUNDLES) $(TOOLS) $(PALETTES) $(AGGREGATES) $(LEGACIES)
YFILES := $(filter %.y, $(OTHERLINKED))
LFILES := $(filter %.l, $(OTHERLINKED))
OTHERLINKED := $(filter-out %.y, $(OTHERLINKED))
OTHERLINKED := $(filter-out %.l, $(OTHERLINKED))
#
# Targets are invoked/depended on by the client
#
#
# Dependencies are provided by the client
#
.PHONY: before_install after_install
echo_makefile_variable: sv
BEFORE_INSTALL += _before_install $(OTHER_INSTALL_DEPENDS)
_before_install: before_install # silly _ required because before_install was :: rule
AFTER_INSTALL += _after_install
_after_install: after_install # similar silliness
#
# we need this hack because libtool on NT does not work without arch_only
#
ifeq "WINDOWS" "$(OS)"
ifeq "LIBRARY" "$(PROJTYPE)"
PROJTYPE_LDFLAGS += -arch_only $(ARCH)
endif
ifeq "FRAMEWORK" "$(PROJTYPE)"
PROJTYPE_LDFLAGS += -arch_only $(ARCH)
endif
endif
#
# Old NeXT-internal projects use SGS, so set this for backward-compatibility.
#
ifndef VERSIONING_SYSTEM
VERSIONING_SYSTEM = next-sgs
endif