Makefile revision 2406
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland#
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland# CDDL HEADER START
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland#
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland# The contents of this file are subject to the terms of the
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland# Common Development and Distribution License (the "License").
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland# You may not use this file except in compliance with the License.
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland#
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland# or http://www.opensolaris.org/os/licensing.
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland# See the License for the specific language governing permissions
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland# and limitations under the License.
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland#
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland# When distributing Covered Code, include this CDDL HEADER in each
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland# If applicable, add the following below this CDDL HEADER, with the
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland# fields enclosed by brackets "[]" replaced with your own identifying
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland# information: Portions Copyright [yyyy] [name of copyright owner]
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland#
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland# CDDL HEADER END
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland#
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland# Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland#
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterlandinclude ../make-rules/shared-macros.mk
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterlanddownload setup prep build install publish \
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterlandvalidate: links pkglint time-$(MACH32).so time-$(MACH64).so
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland# generate wrappers for parfait. we need to generate them
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland# with the correct compiler variables from the common makefiles because
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland# some things reset the environment which causes lovely infinite
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland# loops
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland#
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland# currently, parfait doesn't support gcc4.7+, so we force the use
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland# of gcc3 in both sets of wrappers.
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterlandlinks:
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland @$(MKDIR) $(PARFAIT_TOOLS)
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland @for i in cc CC gcc g++ ld ; do \
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland $(RM) $(PARFAIT_TOOLS)/$$i ; \
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland echo "#!/bin/ksh" > $(PARFAIT_TOOLS)/$$i ; \
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland echo "IFS=" >> $(PARFAIT_TOOLS)/$$i ; \
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland echo "export PARFAIT_NATIVESUNCC=$(SPRO_VROOT)/bin/cc" >> $(PARFAIT_TOOLS)/$$i ; \
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland echo "export PARFAIT_NATIVESUNCXX=$(SPRO_VROOT)/bin/CC" >> $(PARFAIT_TOOLS)/$$i ; \
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland echo "export PARFAIT_NATIVEGCC=$(GCC3_ROOT)/bin/gcc" >> $(PARFAIT_TOOLS)/$$i ; \
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland echo "export PARFAIT_NATIVEGXX=$(GCC3_ROOT)/bin/g++" >> $(PARFAIT_TOOLS)/$$i ; \
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland echo "export PARFAIT_NATIVELD=/usr/bin/ld" >> $(PARFAIT_TOOLS)/$$i ; \
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland echo "exec" $(PARFAIT_ROOT)/$(MACH)/parfait-$$i '$$*' >> $(PARFAIT_TOOLS)/$$i ; \
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland chmod +x $(PARFAIT_TOOLS)/$$i ; \
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland done
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland @$(MKDIR) $(PARFAIT_TOOLS_GCC3)
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland @for i in cc CC gcc g++ ld ; do \
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland $(RM) $(PARFAIT_TOOLS_GCC3)/$$i ; \
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland sed \
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland -e "s,$(GCC_ROOT),$(GCC3_ROOT)," < $(PARFAIT_TOOLS)/$$i \
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland > $(PARFAIT_TOOLS_GCC3)/$$i ; \
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland chmod +x $(PARFAIT_TOOLS_GCC3)/$$i ; \
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland done
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterlandpkglint:
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland @rm -f pkglint
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland @sed -e "s,WS_TOP_XXX,$(WS_TOP)/$(MACH)," \
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland < pkglint.sh \
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland > pkglint
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland @chmod +x pkglint
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterlandtime-$(MACH64).o: BITS=64
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterlandtime-$(MACH32).o time-$(MACH64).o: CFLAGS += -Kpic
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterlandtime-$(MACH32).o time-$(MACH64).o: time.c
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland @$(CC) $(CFLAGS) -c -o $@ $<
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterlandtime-%.so: time-%.o
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland @$(LD) -G -o $@ $<
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterlandclean:
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland @$(RM) time-*.o time*.bc
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland @$(RM) pkglint
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterlandclobber: clean
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland @$(RM) time-*.so python/pkglint/*.pyc
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland @$(RM) -r $(PARFAIT_TOOLS) $(PARFAIT_TOOLS_GCC3) $(MACH)
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland
5c51f1241dbbdf2656d0e10011981411ed0c9673Moriah Waterland