Home | History | Annotate | Download | only in libconv
      1 #
      2 # CDDL HEADER START
      3 #
      4 # The contents of this file are subject to the terms of the
      5 # Common Development and Distribution License (the "License").
      6 # You may not use this file except in compliance with the License.
      7 #
      8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
      9 # or http://www.opensolaris.org/os/licensing.
     10 # See the License for the specific language governing permissions
     11 # and limitations under the License.
     12 #
     13 # When distributing Covered Code, include this CDDL HEADER in each
     14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     15 # If applicable, add the following below this CDDL HEADER, with the
     16 # fields enclosed by brackets "[]" replaced with your own identifying
     17 # information: Portions Copyright [yyyy] [name of copyright owner]
     18 #
     19 # CDDL HEADER END
     20 #
     21 
     22 #
     23 # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
     24 # Use is subject to license terms.
     25 #
     26 
     27 pics/%.o:	../common/%.c
     28 		$(COMPILE.c) -o $@ $<
     29 		$(POST_PROCESS_O)
     30 
     31 pics/%.o:	%.s
     32 		$(COMPILE.s) -o $@ $<
     33 		$(POST_PROCESS_O)
     34 
     35 pics/%32.o:	../common/%.c
     36 		$(COMPILE.c) -o $@ $<
     37 		$(POST_PROCESS_O)
     38 
     39 pics/%64.o:	../common/%.c
     40 		$(COMPILE.c) -D_ELF64 -o $@ $<
     41 		$(POST_PROCESS_O)
     42 
     43 pics/elfcap.o:	$(ELFCAP)/elfcap.c
     44 		$(COMPILE.c) -o $@ $(ELFCAP)/elfcap.c
     45 		$(POST_PROCESS_O)
     46 
     47 # This rule generates the report_bufsize.h include file used by libconv
     48 # code to ensure that their private buffer size calculations agree with
     49 # the public values exposed in sgs/include/conv.h. The limit value
     50 # supplied must be larger than the largest buffer used in libconv. There
     51 # is little penalty for making it very large, because the header file is
     52 # only included in error situations where the compilation will fail.
     53 #
     54 # We make this depend on Makefile.targ, because a change to Makefile.targ
     55 # can change the limit, in which case we want to force everything to rebuild.
     56 report_bufsize.h:	../Makefile.targ
     57 		perl ../../tools/libconv_mk_report_bufsize.pl 8000
     58 
     59 ../common/%.c ../common/%_machelf.c:	%_msg.h
     60 
     61 %_msg.h %_msg.c: $(SGSMSG) ../common/%.msg report_bufsize.h
     62 		$(SGSMSG) $(SGSMSGFLAGS) -h $*_msg.h -d $*_msg.c \
     63 			-n sgs_msg_libconv_$* $<
     64 
     65 $(SGSMSG):	FRC
     66 		@ cd $(SGSTOOLS)/$(MACH); pwd; $(MAKE) catalog
     67 		@ pwd
     68 
     69 vernote.s:	bld_vernote $(README_REVISION) $(ONLDREADME)
     70 		./bld_vernote \
     71 			-R `perl $(README_REVISION) $(VERNOTE_DEBUG) \
     72 				$(ONLDREADME)` \
     73 			-r "$(RELEASE)" -o $@
     74 
     75 bld_vernote:	../common/bld_vernote.ksh
     76 		$(RM) -f $@
     77 		cp ../common/bld_vernote.ksh $@
     78 		chmod a+x $@
     79 
     80 $(LIBRARY):	pics $$(PICS)
     81 		@ $(RM) $(LIBRARY)
     82 		$(AR) $(ARFLAGS) $@ $(PICS)
     83 		$(POST_PROCESS_A)
     84 
     85 chkmsg:		$(LINTSRCS)
     86 		sh $(CHKMSG) $(CHKMSGFLAGS) $(LINTSRCS)
     87 
     88 .PARALLEL:	$(LINTOUT32) $(LINTOUT64) $(LINTLIB32) $(LINTLIB64)
     89 
     90 lint:		$(LINTLIB32) $(LINTOUT32) $(LINTLIB64) $(LINTOUT64) \
     91 		    .WAIT $(SGSLINTOUT)
     92 
     93 catalog:
     94 
     95 pics:
     96 		-@mkdir -p $@
     97 
     98 clobber:	clean
     99 		-$(RM) $(LIBRARY) $(CLOBBERFILES)
    100 
    101 clean:
    102 		-$(RM) $(PICS) $(CLEANFILES)
    103 
    104 delete:
    105 
    106 include		$(SRC)/cmd/sgs/Makefile.targ
    107