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 # Copyright 2017 Joyent Inc.
  15 #
  16 
  17 PROG=iconv
  18 
  19 include ../Makefile.cmd
  20 include ../Makefile.ctf
  21 
  22 OBJS = iconv_main.o iconv_list.o charmap.o parser.tab.o scanner.o
  23 
  24 SRCS    = $(OBJS:%.o=%.c)
  25 
  26 CSTD=   $(CSTD_GNU99)
  27 LDLIBS          += -lcmdutils -lavl
  28 YFLAGS          = -d -b parser
  29 CPPFLAGS        += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
  30 $(RELEASE_BUILD) CPPFLAGS += -DNDEBUG
  31 
  32 CERRWARN +=     -_gcc=-Wno-unused-label
  33 
  34 CLEANFILES      = $(OBJS) parser.tab.c parser.tab.h
  35 CLOBBERFILES    = $(PROG) $(POFILE)
  36 PIFILES         = $(OBJS:%.o=%.i)
  37 POFILE          = iconv_cmd.po
  38 
  39 all: $(PROG)
  40 
  41 install: all $(ROOTPROG)
  42 
  43 $(PROG): $(OBJS)
  44         $(LINK.c) $(OBJS) -o $@ $(LDLIBS)
  45         $(POST_PROCESS)
  46 
  47 $(OBJS):        parser.tab.h
  48 $(PIFILES):     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 .KEEP_STATE:
  67 
  68 include ../Makefile.targ