Makefile revision 1494
1024N/A# Makefile for X Consolidation Open Source bits
1024N/A#
1024N/A# Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
1024N/A#
1024N/A# Permission is hereby granted, free of charge, to any person obtaining a
1024N/A# copy of this software and associated documentation files (the "Software"),
1024N/A# to deal in the Software without restriction, including without limitation
1024N/A# the rights to use, copy, modify, merge, publish, distribute, sublicense,
1024N/A# and/or sell copies of the Software, and to permit persons to whom the
1024N/A# Software is furnished to do so, subject to the following conditions:
1024N/A#
1024N/A# The above copyright notice and this permission notice (including the next
1024N/A# paragraph) shall be included in all copies or substantial portions of the
1024N/A# Software.
1024N/A#
1024N/A# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1024N/A# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1024N/A# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
1024N/A# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1024N/A# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1024N/A# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
1024N/A# DEALINGS IN THE SOFTWARE.
1024N/A#
1024N/A#
524N/A###############################################################################
524N/A#
524N/A
524N/A# Need to install to proto area by default for inter-package dependencies to
524N/A# work right.
524N/Adefault_target: install
524N/A
524N/A# Modules have to be built in a specific order for dependencies to be
524N/A# handled properly
524N/A
524N/A# Some specific notes:
524N/A# - app/rgb depends on the rgb.h header installed by the Xorg xserver,
524N/A# so has to be built after xserver/xorg
524N/A# - util/util-macros must be first, since any module that does autoreconf
524N/A# requires it
524N/A# - data/xbitmaps must be before app, as some applications depend on the
524N/A# bitmaps installed, but the rest of data depends on applications like
524N/A# xcursorgen for processing, so must come later
524N/A# - font depends on utils like mkfontdir from app
524N/A
524N/A# High level dependencies
524N/Aproto: util/util-macros util/lndir util/build-tools
524N/Autil/lndir: proto/x11proto
524N/Alib: proto font/util util
524N/Autil: proto font/util
524N/Aapp: lib data/xbitmaps font/util
524N/Axserver/xorg xserver/xvnc: proto doc/xorg-sgml-doctools lib font/util
524N/Adriver: xserver/xorg
524N/Aapp/rgb: xserver/xorg
524N/Adoc/xorg-docs: doc/xorg-sgml-doctools
524N/Adata: app
524N/AFONTAPPS = app/bdftopcf app/mkfontscale app/mkfontdir
524N/Afont: $(FONTAPPS) font/util
524N/A$(FONTAPPS): lib
524N/A
524N/AOS_SUBDIRS_common = \
524N/A util/util-macros \
524N/A util/build-tools \
524N/A proto/x11proto \
524N/A util/lndir \
524N/A proto \
524N/A data/xbitmaps \
524N/A font/util \
524N/A util \
524N/A doc/xorg-sgml-doctools \
524N/A doc/xorg-docs \
524N/A lib \
524N/A app \
524N/A $(FONTAPPS) \
524N/A xserver/xorg \
524N/A xserver/xvnc \
524N/A xserver/xserver-common \
524N/A driver \
524N/A kernel \
524N/A app/rgb \
524N/A data \
524N/A font
524N/A
524N/AOS_SUBDIRS_sparc = $(OS_SUBDIRS_common)
524N/AOS_SUBDIRS_i386 = $(OS_SUBDIRS_common)
524N/A
524N/A# Subdirs we used to build, but now just need to clean up
524N/AOBSOLETE_SUBDIRS = \
524N/A doc/docbook-utils
524N/A
524N/APWD:sh=pwd
524N/ATOP=$(PWD)/..
1108N/A
1108N/A### Include common definitions
524N/ADIRNAME=""
1108N/Ainclude $(TOP)/open-src/common/Makefile.subdirs
1108N/A
1108N/APROTOTOP=$(TOP)/proto
1108N/APROTODIR=$(PROTOTOP)/root_$(MACH)
1108N/A
524N/Acheck: check_rtime
524N/A
524N/A# check_rtime script from onbld to check binaries are built with the right
524N/A# linker flags
524N/Acheck_rtime:
524N/A check_rtime -e ../exception_lists/check_rtime -d $(PROTODIR) $(PROTODIR)
524N/A
524N/A# This is generated here instead of in $(TOP)/Makefile so that it has access
524N/A# to the variables defined in Makefile.init like $(GCC)
524N/Ainclude $(TOP)/open-src/common/Makefile.init
524N/A
524N/A$(TOP)/BUILD_INSTRUCTIONS.txt: $(TOP)/BUILD_INSTRUCTIONS
524N/A -rm -f $(@)
524N/A cp $(TOP)/BUILD_INSTRUCTIONS $(@)
524N/A printf '\nThe software in this package was built using:\n\n' >> $(@)
524N/A (for tool in cc CC fbe lint ; do \
524N/A $${tool} -V 2>&1 | head -1 ; \
524N/A done) >> $(@)
524N/A dmake -v >> $(@)
524N/A (for tool in ${GCC} gmake autoconf automake libtool ${PERL} ${PYTHON} hg ; do \
524N/A printf "%s: " "$$(whence $${tool})" ; \
524N/A $${tool} --version | head -1 ; \
524N/A done) >> $(@)
524N/A printf '\non a machine installed with:\n\n' >> $(@)
524N/A pkg list '*-incorporation' >> $(@)
524N/A