xref: /illumos-gate/usr/src/cmd/refer/Makefile (revision d3b5f563)
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
28include		../Makefile.cmd
29
30PROG1 =		refer addbib lookbib sortbib
31PROG2 =		roffbib indxbib
32PROG3 =		mkey inv hunt
33PROG =		$(PROG1) $(PROG2)
34
35OBJS =		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#
46POFILES= $(OBJS:%.o=%.po)
47POFILE= refer.po
48
49CERRWARN += -_gcc=-Wno-implicit-function-declaration
50CERRWARN += -_gcc=-Wno-parentheses
51CERRWARN += -_gcc=-Wno-unused-variable
52CERRWARN += $(CNOWARN_UNINIT)
53
54# not linted
55SMATCH=off
56
57CLOBBERFILES += $(PROG3)
58
59addbib.po :=	XGETFLAGS += -a -x addbib.xcl
60
61
62OTXTS =		tmac.bib
63
64REFDIR =	$(ROOTLIB)/refer
65TMACDIR =	$(ROOTSHLIB)/tmac
66#Don't re-install dir already installed by Targetdirs
67#ROOTDIRS =	$(REFDIR) $(TMACDIR)
68ROOTDIRS =     $(REFDIR)
69
70SUBDIRS =	papers
71
72REFDIRPROG =	$(PROG3:%=$(REFDIR)/%)
73IOTXTS =	$(OTXTS:%=$(TMACDIR)/%)
74
75$(IOTXTS):=	FILEMODE = 0644
76
77all:=		TARGET=	all
78install:=	TARGET=	install
79clean:=		TARGET=	clean
80clobber:=	TARGET=	clobber
81
82mkey:=		POBJS=  mkey1.o mkey2.o mkey3.o deliv2.o
83inv:=		POBJS= inv1.o inv2.o inv3.o inv5.o inv6.o deliv2.o
84hunt:=		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
87refer:=		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
92addbib:=	POBJS= addbib.o
93lookbib:=	POBJS= lookbib.o
94sortbib:=	POBJS= sortbib.o
95
96.KEEP_STATE :
97
98.PARALLEL: $(OBJS)
99
100all:		$(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
110types.po:
111	touch types.po
112
113
114install:	all .WAIT $(ROOTDIRS) \
115		$(ROOTPROG) $(REFDIRPROG) $(IOTXTS) $(SUBDIRS)
116
117$(REFDIR)/% :	%
118		$(INS.file)
119
120$(TMACDIR)/% :	%
121		$(INS.file)
122
123clean :		$(SUBDIRS)
124		$(RM) $(OBJS)
125
126clobber :	$(SUBDIRS) local_clobber
127
128lint:
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
143local_clobber:
144		$(RM) $(PROG) $(OBJS) $(CLOBBERFILES)
145
146strip:
147
148$(SUBDIRS):	FRC
149		@cd $@; pwd; $(MAKE) $(TARGET)
150
151$(ROOTDIRS) :
152		$(INS.dir)
153
154FRC:
155
156include ../Makefile.targ
157