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