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