1 #
   2 # This file and its contents are supplied under the terms of the
   3 # Common Development and Distribution License ("CDDL"), version 1.0.
   4 # You may only use this file in accordance with the terms of version
   5 # 1.0 of the CDDL.
   6 #
   7 # A full copy of the text of the CDDL should have accompanied this
   8 # source.  A copy of the CDDL is also available via the Internet at
   9 # http://www.illumos.org/license/CDDL.
  10 #
  11 
  12 #
  13 # Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
  14 #
  15 
  16 PROG=iconv
  17 SHFILES=iconv_list
  18 
  19 include ../Makefile.cmd
  20 
  21 OBJS = iconv.o charmap.o parser.tab.o scanner.o
  22 
  23 SRCS    = $(OBJS:%.o=%.c)
  24 
  25 C99MODE=        $(C99_ENABLE)
  26 LDLIBS          += -lgen
  27 LDLIBS          += -lavl
  28 YFLAGS          = -d -b parser
  29 $(RELEASE_BUILD) CPPFLAGS += -DNDEBUG
  30 
  31 CLEANFILES      = $(OBJS) parser.tab.c parser.tab.h
  32 CLOBBERFILES    = $(PROG) $(POFILE)
  33 PIFILES         = $(OBJS:%.o=%.i)
  34 POFILE          = iconv_cmd.po
  35 
  36 all: $(PROG) $(SHFILES)
  37 
  38 ROOTLIBICONV    = $(ROOT)/usr/lib/iconv
  39 ROOTLIBICONVSH  = $(SHFILES:%=$(ROOTLIBICONV)/%)
  40 $(ROOTLIBICONVSH) := FILEMODE = 0555
  41 
  42 install: all $(ROOTPROG) $(ROOTLIBICONV) $(ROOTLIBICONVSH)
  43 
  44 $(PROG): $(OBJS)
  45         $(LINK.c) $(OBJS) -o $@ $(LDLIBS)
  46         $(POST_PROCESS)
  47 
  48 $(OBJS):        parser.tab.h
  49 
  50 parser.tab.c parser.tab.h: parser.y
  51         $(YACC) $(YFLAGS) parser.y
  52 
  53 lint:   $(SRCS)
  54         $(LINT.c) $(CPPFLAGS) $(SRCS)
  55 
  56 clean:  
  57         $(RM) $(CLEANFILES)
  58 
  59 $(POFILE):      $(PIFILES)
  60         $(RM) $@
  61         $(RM) messages.po
  62         $(XGETTEXT) -s $(PIFILES)
  63         $(SED) -e '/domain/d' messages.po > $@
  64         $(RM) $(PIFILES) messages.po
  65 
  66 $(ROOTLIBICONV):
  67         $(INS.dir)
  68 
  69 $(ROOTLIBICONV)/%: %
  70         $(INS.file)
  71 
  72 .KEEP_STATE:
  73 
  74 include ../Makefile.targ