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 # Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
  23 # Use is subject to license terms.
  24 #
  25 #       Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
  26 #         All Rights Reserved
  27 #
  28 # Copyright 2017 Joyent, Inc.
  29 #
  30 
  31 # cmd/msgfmt/Makefile
  32 
  33 include ../Makefile.cmd
  34 
  35 XOBJS=  xgettext.o
  36 
  37 LXOBJS= xgettext.lx.o
  38 
  39 GOBJS=  gnu_msgfmt.o gnu_handle.o gnu_lex.o gnu_hash.o gnu_check.o
  40 
  41 YOBJS=  gnu_po.o
  42 
  43 BOBJS=  gnu_msgs.o
  44 
  45 LOBJS=  gnu_msgs_rev.o
  46 
  47 SOBJS=  msgfmt.o check_header.o
  48 
  49 COBJS=  option.o util.o
  50 
  51 BINPROG= msgfmt xgettext
  52 LIBPROG= gmsgfmt
  53 PROG=  $(BINPROG) $(LIBPROG)
  54 
  55 YFLAGS += -d
  56 LINTFLAGS +=    -um
  57 
  58 POFILE= msgfmt_all.po
  59 POFILES= $(SOBJS:%.o=%.po) $(GOBJS:%.o=%.po) $(COBJS:%.o=%.po) \
  60         $(BOBJS:%.o=%.po) $(YOBJS:%.o=%.po)
  61 
  62 CLOBBERFILES += gmsgfmt_rev
  63 
  64 ROOTBINPROG= $(BINPROG:%=$(ROOTBIN)/%)
  65 ROOTLIBPROG= $(LIBPROG:%=$(ROOTLIB)/%)
  66 
  67 CERRWARN += -_gcc=-Wno-parentheses
  68 CERRWARN += -_gcc=-Wno-unused-label
  69 CERRWARN += -_gcc=-Wno-uninitialized
  70 CERRWARN += -_gcc=-Wno-unused-variable
  71 
  72 .KEEP_STATE:
  73 
  74 .PARALLEL:      $(SOBJS) $(GOBJS) $(YOBJS) $(COBJS) $(BOBJS) $(LOBJS) \
  75                 $(XOBJS) $(LXOBJS)
  76 
  77 all: $(PROG) gmsgfmt_rev
  78 
  79 msgfmt: $(SOBJS) $(COBJS)
  80         $(LINK.c) $(SOBJS) $(COBJS) -o $@ $(LDLIBS)
  81         $(POST_PROCESS)
  82 
  83 gmsgfmt:        $(GOBJS) $(YOBJS) $(BOBJS) $(COBJS)
  84         $(LINK.c) $(GOBJS) $(YOBJS) $(BOBJS) $(COBJS) -o $@ $(LDLIBS)
  85         $(POST_PROCESS)
  86 
  87 gmsgfmt_rev:    $(GOBJS) $(YOBJS) $(LOBJS) $(COBJS)
  88         $(LINK.c) $(GOBJS) $(YOBJS) $(LOBJS) $(COBJS) -o $@ $(LDLIBS)
  89         $(POST_PROCESS)
  90 
  91 xgettext: $(XOBJS) $(LXOBJS)
  92         $(LINK.c) $(XOBJS) $(LXOBJS) -o $@ $(LDLIBS)
  93         $(POST_PROCESS)
  94 
  95 $(POFILES): y.tab.h
  96 
  97 $(POFILE):      $(POFILES)
  98         $(RM) $@
  99         cat $(POFILES) > $@
 100 
 101 install: all $(ROOTBINPROG) $(ROOTLIBPROG)
 102 
 103 clean:  
 104         $(RM) $(SOBJS) $(GOBJS) $(YOBJS) $(COBJS) \
 105                 $(XOBJS) $(LXOBJS) $(BOBJS) $(LOBJS) \
 106                 $(POFILE) $(POFILES) gnu_po.c y.tab.h xgettext.lx.c
 107 
 108 lint:   gnu_po.c y.tab.h
 109         $(LINT.c) $(SOBJS:%.o=%.c) $(COBJS:%.o=%.c) $(LDLIBS)
 110         $(LINT.c) $(GOBJS:%.o=%.c) $(BOBJS:%.o=%.c) $(COBJS:%.o=%.c) $(LDLIBS)
 111         $(LINT.c) $(GOBJS:%.o=%.c) $(LOBJS:%.o=%.c) $(COBJS:%.o=%.c) $(LDLIBS)
 112         $(LINT.c) $(XOBJS:%.o=%.c) $(LDLIBS)
 113 
 114 gnu_po.c + y.tab.h:     gnu_po.y
 115         $(RM) gnu_po.c y.tab.h
 116         $(YACC.y) gnu_po.y
 117         mv y.tab.c gnu_po.c
 118 
 119 gnu_lex.o:      y.tab.h
 120 
 121 include ../Makefile.targ