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 (c) 2018, 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 # not linted 35 SMATCH=off 36 37 CLEANFILES = $(OBJS) parser.tab.c parser.tab.h 38 CLOBBERFILES = $(PROG) $(POFILE) 39 PIFILES = $(OBJS:%.o=%.i) 40 POFILE = iconv_cmd.po 41 42 all: $(PROG) 43 44 install: all $(ROOTPROG) 45 46 $(PROG): $(OBJS) 47 $(LINK.c) $(OBJS) -o $@ $(LDLIBS) 48 $(POST_PROCESS) 49 50 $(OBJS): parser.tab.h 51 $(PIFILES): parser.tab.h 52 53 parser.tab.c parser.tab.h: parser.y 54 $(YACC) $(YFLAGS) parser.y 55 56 lint: $(SRCS) 57 $(LINT.c) $(CPPFLAGS) $(SRCS) 58 59 clean: 60 $(RM) $(CLEANFILES) 61 62 $(POFILE): $(PIFILES) 63 $(RM) $@ 64 $(RM) messages.po 65 $(XGETTEXT) -s $(PIFILES) 66 $(SED) -e '/domain/d' messages.po > $@ 67 $(RM) $(PIFILES) messages.po 68 69 .KEEP_STATE: 70 71 include ../Makefile.targ