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 2008 Sun Microsystems, Inc.  All rights reserved.
  23 # Use is subject to license terms.
  24 #
  25 # Copyright 2019 OmniOS Community Edition (OmniOSce) Association.
  26 #
  27 
  28 PROG=           m4
  29 XPG4PROG=       m4
  30 
  31 include         ../../../Makefile.cmd
  32 include         ../../../sgs/Makefile.var
  33 
  34 COBJS=          m4.o  m4ext.o  m4macs.o
  35 
  36 YOBJS=          m4objs/m4y.o
  37 XPG4YOBJS=      m4objs.xpg4/m4y_xpg4.o
  38 
  39 OBJS=           $(COBJS:%=m4objs/%) $(YOBJS)
  40 XPG4OBJS=       $(COBJS:%=m4objs.xpg4/%) $(XPG4YOBJS)
  41 ALLOBJS=        $(OBJS) $(XPG4OBJS)
  42 
  43 YBLTSRCS=       ../common/m4y.c
  44 XPG4BLTSRCS=    ../common/m4y_xpg4.c
  45 BLTSRCS=        $(YBLTSRCS) $(XPG4BLTSRCS)
  46 
  47 YSRCS=          $(COBJS:%.o=../common/%.c) $(YBLTSRCS)
  48 XPG4SRCS=       $(COBJS:%.o=../common/%.c) $(XPG4BLTSRCS)
  49 SRCS=           $(COBJS:%.o=../common/%.c) $(BLTSRCS)
  50 
  51 INCLIST=        -I../common
  52 DEFLIST=        -DELF
  53 CPPFLAGS=       $(INCLIST) $(DEFLIST) $(CPPFLAGS.master)
  54 CFLAGS +=       $(CCVERBOSE)
  55 CSTD=   $(CSTD_GNU99)
  56 
  57 CERRWARN +=     -_gcc=-Wno-parentheses
  58 CERRWARN +=     -_gcc=-Wno-unused-label
  59 CERRWARN +=     -_gcc=-Wno-uninitialized
  60 
  61 CLEANFILES +=   $(BLTSRCS)
  62 
  63 m4objs.xpg4/%.o := CPPFLAGS += -DXPG4
  64 
  65 m4objs/%.o m4objs.xpg4/%.o: ../common/%.c
  66                 $(COMPILE.c) -o $@ $<
  67 
  68 .KEEP_STATE:
  69 
  70 all:            $(PROG) $(XPG4)
  71 
  72 $(PROG):        $(OBJS)
  73                 $(LINK.c) $(OBJS) -o $@ $(LDLIBS)
  74                 $(POST_PROCESS)
  75 
  76 $(XPG4):        $(XPG4OBJS)
  77                 $(LINK.c) $(XPG4OBJS) -o $@ $(LDLIBS)
  78                 $(POST_PROCESS)
  79 
  80 $(OBJS):        m4objs
  81 
  82 $(XPG4OBJS):    m4objs.xpg4
  83 
  84 m4objs m4objs.xpg4:
  85                 -@mkdir -p $@
  86 
  87 install:        all $(VAR_SGSBINPROG) $(ROOTXPG4PROG) $(VAR_SGSCCSLINK)
  88 
  89 clean:
  90                 $(RM) $(ALLOBJS) $(CLEANFILES)
  91 
  92 include         ../../../Makefile.targ