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, Version 1.0 only
   6 # (the "License").  You may not use this file except in compliance
   7 # with the License.
   8 #
   9 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  10 # or http://www.opensolaris.org/os/licensing.
  11 # See the License for the specific language governing permissions
  12 # and limitations under the License.
  13 #
  14 # When distributing Covered Code, include this CDDL HEADER in each
  15 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16 # If applicable, add the following below this CDDL HEADER, with the
  17 # fields enclosed by brackets "[]" replaced with your own identifying
  18 # information: Portions Copyright [yyyy] [name of copyright owner]
  19 #
  20 # CDDL HEADER END
  21 #
  22 #
  23 # Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
  24 # Use is subject to license terms.
  25 #
  26 # Copyright (c) 2018, Joyent, Inc.
  27 
  28 include         ../Makefile.cmd
  29 
  30 PROG1 =         refer addbib lookbib sortbib
  31 PROG2 =         roffbib indxbib
  32 PROG3 =         mkey inv hunt
  33 PROG =          $(PROG1) $(PROG2)
  34 
  35 OBJS =          addbib.o deliv2.o glue1.o glue2.o glue3.o glue4.o       \
  36                 glue5.o hunt1.o hunt2.o hunt3.o hunt5.o hunt6.o         \
  37                 hunt7.o hunt8.o inv1.o inv2.o inv3.o            \
  38                 inv5.o inv6.o lookbib.o mkey1.o mkey2.o mkey3.o         \
  39                 refer..o refer0.o refer1.o refer2.o refer3.o refer4.o   \
  40                 refer5.o refer6.o refer7.o refer8.o shell.o sortbib.o   \
  41                 tick.o types.o
  42 
  43 #
  44 # for messaging catalog
  45 #
  46 POFILES= $(OBJS:%.o=%.po)
  47 POFILE= refer.po
  48 
  49 CERRWARN += -_gcc=-Wno-implicit-function-declaration
  50 CERRWARN += -_gcc=-Wno-parentheses
  51 CERRWARN += -_gcc=-Wno-unused-variable
  52 CERRWARN += -_gcc=-Wno-uninitialized
  53 
  54 # not linted
  55 SMATCH=off
  56 
  57 CLOBBERFILES += $(PROG3)
  58 
  59 addbib.po :=    XGETFLAGS += -a -x addbib.xcl
  60 
  61 
  62 OTXTS =         tmac.bib
  63 
  64 REFDIR =        $(ROOTLIB)/refer
  65 TMACDIR =       $(ROOTSHLIB)/tmac
  66 #Don't re-install dir already installed by Targetdirs
  67 #ROOTDIRS =     $(REFDIR) $(TMACDIR)
  68 ROOTDIRS =     $(REFDIR)
  69 
  70 SUBDIRS =       papers
  71 
  72 REFDIRPROG =    $(PROG3:%=$(REFDIR)/%)
  73 IOTXTS =        $(OTXTS:%=$(TMACDIR)/%)
  74 
  75 $(IOTXTS):=     FILEMODE = 0644
  76 
  77 all:=           TARGET= all
  78 install:=       TARGET= install
  79 clean:=         TARGET= clean
  80 clobber:=       TARGET= clobber
  81 
  82 mkey:=          POBJS=  mkey1.o mkey2.o mkey3.o deliv2.o
  83 inv:=           POBJS= inv1.o inv2.o inv3.o inv5.o inv6.o deliv2.o
  84 hunt:=          POBJS= hunt1.o hunt2.o hunt3.o hunt5.o hunt6.o          \
  85                         hunt7.o glue5.o refer3.o shell.o        \
  86                         deliv2.o hunt8.o glue4.o tick.o
  87 refer:=         POBJS= glue1.o refer1.o refer2.o refer4.o refer5.o      \
  88                         refer6.o mkey3.o refer7.o refer8.o hunt2.o      \
  89                         hunt3.o deliv2.o hunt5.o hunt6.o hunt8.o        \
  90                         glue3.o hunt7.o glue2.o glue4.o         \
  91                         glue5.o refer0.o shell.o
  92 addbib:=        POBJS= addbib.o
  93 lookbib:=       POBJS= lookbib.o
  94 sortbib:=       POBJS= sortbib.o
  95 
  96 .KEEP_STATE :
  97 
  98 .PARALLEL: $(OBJS)
  99 
 100 all:            $(PROG) $(PROG3) $(OTXTS)
 101 
 102 $(PROG1) $(PROG3): $$(POBJS)
 103                 $(LINK.c) -o $@ $(POBJS) $(LDFLAGS) $(LDLIBS)
 104                 $(POST_PROCESS)
 105 
 106 $(POFILE):      $(POFILES)
 107         $(RM)   $@
 108         cat     $(POFILES)      > $@
 109 
 110 types.po:
 111         touch types.po
 112 
 113 
 114 install:        all .WAIT $(ROOTDIRS) \
 115                 $(ROOTPROG) $(REFDIRPROG) $(IOTXTS) $(SUBDIRS)
 116 
 117 $(REFDIR)/% :   %
 118                 $(INS.file)
 119 
 120 $(TMACDIR)/% :  %
 121                 $(INS.file)
 122 
 123 clean :         $(SUBDIRS)
 124                 $(RM) $(OBJS)
 125 
 126 clobber :       $(SUBDIRS) local_clobber
 127 
 128 lint:
 129         $(LINT.c) mkey1.c mkey2.c mkey3.c deliv2.c $(LDLIBS)
 130         $(LINT.c) inv1.c inv2.c inv3.c inv5.c inv6.c deliv2.c $(LDLIBS)
 131         $(LINT.c) hunt1.c hunt2.c hunt3.c hunt5.c hunt6.c       \
 132                 hunt7.c glue5.c refer3.c shell.c        \
 133                 deliv2.c hunt8.c glue4.c tick.c $(LDLIBS)
 134         $(LINT.c) glue1.c refer1.c refer2.c refer4.c refer5.c   \
 135                 refer6.c mkey3.c refer7.c refer8.c hunt2.c      \
 136                 hunt3.c deliv2.c hunt5.c hunt6.c hunt8.c        \
 137                 glue3.c hunt7.c glue2.c glue4.c         \
 138                 glue5.c refer0.c shell.c $(LDLIBS)
 139         $(LINT.c) addbib.c $(LDLIBS)
 140         $(LINT.c) lookbib.c $(LDLIBS)
 141         $(LINT.c) sortbib.c $(LDLIBS)
 142 
 143 local_clobber:
 144                 $(RM) $(PROG) $(OBJS) $(CLOBBERFILES)
 145 
 146 strip:
 147 
 148 $(SUBDIRS):     FRC
 149                 @cd $@; pwd; $(MAKE) $(TARGET)
 150 
 151 $(ROOTDIRS) :
 152                 $(INS.dir)
 153 
 154 FRC:
 155 
 156 include ../Makefile.targ