1 #
   2 # Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
   3 # Use is subject to license terms.
   4 #
   5 # Copyright (c) 2018, Joyent, Inc.
   6 #
   7 
   8 include         ../../Makefile.cmd
   9 
  10 PROG =          eqn
  11 
  12 CSRCS =         diacrit.c eqnbox.c font.c fromto.c funny.c      \
  13                 glob.c integral.c io.c lex.c lookup.c           \
  14                 mark.c matrix.c move.c over.c paren.c           \
  15                 pile.c shift.c size.c sqrt.c text.c
  16 
  17 SRCS =          $(CSRCS:%=../%)
  18 
  19 YACCSRC =       e.y
  20 
  21 COBJS =         $(CSRCS:%.c=%.o)
  22 OBJS =          $(YACCSRC:%.y=%.o) $(COBJS)
  23 
  24 #
  25 # for message catalog
  26 #
  27 POFILE= eqn.d.po
  28 POFILES= $(SRCS:%.c=%.po) e.po
  29 
  30 CLEANFILES =    y.tab.c y.tab.h $(YACCSRC:%.y=%.c) $(YACCSRC:%.y=%.def)
  31 
  32 YFLAGS =        -d
  33 CPPFLAGS =      -I. -I.. $(CPPFLAGS.master)
  34 LDFLAGS +=      $(MAPFILE.NGB:%=-M%)
  35 
  36 CERRWARN +=     -_gcc=-Wno-implicit-function-declaration
  37 CERRWARN +=     -_gcc=-Wno-unused-label
  38 CERRWARN +=     $(CNOWARN_UNINIT)
  39 
  40 # not linted
  41 SMATCH=off
  42 
  43 .KEEP_STATE:
  44 
  45 all :           $(PROG) 
  46 
  47 catalog:        $(POFILE)
  48 
  49 $(POFILE):      e.def $(POFILES)
  50         $(RM)   $@
  51         cat     $(POFILES)      > $@
  52 
  53 $(PROG) :       $(OBJS) $(MAPFILE.NGB)
  54                 $(LINK.c) -o $@ $(OBJS) $(LDFLAGS) $(LDLIBS)
  55                 $(POST_PROCESS)
  56 
  57 $(YACCSRC:%.y=%.c) + $(YACCSRC:%.y=%.def) : ../$(YACCSRC)
  58                 $(YACC.y) ../$(YACCSRC)
  59                 $(MV) y.tab.c $(YACCSRC:%.y=%.c)
  60                 $(MV) y.tab.h $(YACCSRC:%.y=%.def)
  61 
  62 $(COBJS) :      $$(@:%.o=../%.c)
  63                 $(COMPILE.c) ../$(@:%.o=%.c)
  64 
  65 install :       all $(ROOTPROG)
  66 
  67 clean:
  68                 $(RM) $(OBJS) $(CLEANFILES)
  69 
  70 lint:           lint_SRCS
  71 
  72 strip :
  73                 $(STRIP) $(PROG)
  74 
  75 include         ../../Makefile.targ