tools/Makefile
changeset 774 d0cbca26a17c
parent 16 33aaaec59991
child 975 44e81e837f1f
child 2855 576d5a7857b7
equal deleted inserted replaced
773:cfddc5466118 774:d0cbca26a17c
    16 # fields enclosed by brackets "[]" replaced with your own identifying
    16 # fields enclosed by brackets "[]" replaced with your own identifying
    17 # information: Portions Copyright [yyyy] [name of copyright owner]
    17 # information: Portions Copyright [yyyy] [name of copyright owner]
    18 #
    18 #
    19 # CDDL HEADER END
    19 # CDDL HEADER END
    20 #
    20 #
    21 # Copyright (c) 2010, Oracle and/or it's affiliates.  All rights reserved.
    21 # Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
    22 #
    22 #
    23 
    23 
    24 include ../make-rules/shared-macros.mk
    24 include ../make-rules/shared-macros.mk
    25 
    25 
    26 download setup prep build install publish validate:	time-$(MACH32).so \
    26 download setup prep build install publish \
    27 							time-$(MACH64).so
    27 validate:	links time-$(MACH32).so time-$(MACH64).so
       
    28 
       
    29 # generate wrappers for parfait. we need to generate them
       
    30 # with the correct compiler variables from the common makefiles because
       
    31 # some things reset the environment which causes lovely infinite
       
    32 # loops
       
    33 links:
       
    34 	$(MKDIR) parfait
       
    35 	@for i in cc CC gcc g++ ld ; do \
       
    36 		$(MKDIR) parfait ; \
       
    37 		$(RM) parfait/$$i ; \
       
    38 		echo "#!/bin/ksh" > parfait/$$i ; \
       
    39 		echo "IFS=" >> parfait/$$i ; \
       
    40 		echo "export PARFAIT_NATIVESUNCC=$(SPRO_VROOT)/bin/cc" >> parfait/$$i ; \
       
    41 		echo "export PARFAIT_NATIVESUNCXX=$(SPRO_VROOT)/bin/CC" >> parfait/$$i ; \
       
    42 		echo "export PARFAIT_NATIVEGCC=$(GCC_ROOT)/bin/gcc" >> parfait/$$i ; \
       
    43 		echo "export PARFAIT_NATIVEGXX=$(GCC_ROOT)/bin/g++" >> parfait/$$i ; \
       
    44 		echo "export PARFAIT_CLANG="$(PARFAIT_CLANG) >> parfait/$$i ; \
       
    45 		echo "exec" $(PARFAIT_ROOT)/bin/parfait-$$i '$$*' >> parfait/$$i ; \
       
    46 		chmod +x parfait/$$i ; \
       
    47 	done
       
    48 
    28 
    49 
    29 time-$(MACH64).o:			BITS=64
    50 time-$(MACH64).o:			BITS=64
    30 time-$(MACH32).o time-$(MACH64).o:	CFLAGS += -Kpic
    51 time-$(MACH32).o time-$(MACH64).o:	CFLAGS += -Kpic
    31 
    52 
    32 time-$(MACH32).o time-$(MACH64).o:	time.c
    53 time-$(MACH32).o time-$(MACH64).o:	time.c
    34 
    55 
    35 time-%.so:	time-%.o
    56 time-%.so:	time-%.o
    36 	$(LD) -G -o [email protected] $<
    57 	$(LD) -G -o [email protected] $<
    37 
    58 
    38 clean:
    59 clean:
    39 	$(RM) time-*.o
    60 	$(RM) time-*.o time*.bc
    40 
    61 
    41 clobber:	clean
    62 clobber:	clean
    42 	$(RM) time-*.so
    63 	$(RM) time-*.so python/pkglint/*.pyc
       
    64 	$(RM) -r parfait
       
    65