10063 basic support for smatch
[unleashed.git] / usr / src / cmd / troff / troff.d / Makefile
blobdfe5b8fee72e90e78e383308e516a85c1ab94aa3
2 # CDDL HEADER START
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.
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.
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]
19 # CDDL HEADER END
22 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
23 # Use is subject to license terms.
25 # cmd/troff/troff.d/Makefile
27 # Copyright (c) 2019, Joyent, Inc.
29 include ../../Makefile.cmd
31 PROG = troff ta makedev
33 SUBDIRS = tmac.d
35 TAOBJS = draw.o ta.o
36 MAKEDEVOBJS = makedev.o
37 TROFFOBJS = t10.o t6.o
38 COMMONOBJS = hytab.o n1.o n2.o n3.o n4.o n5.o \
39 n7.o n8.o n9.o ni.o nii.o suftab.o
41 SRCS = $(TAOBJS:%.o=%.c) $(MAKEDEVOBJS:%.o=%.c) \
42 $(TROFFOBJS:%.o=%.c) $(COMMONOBJS:%.o=../%.c)
44 TXTS = README maketables troff.sh
46 CPPFLAGS = -DUSG -DINCORE -I. -I.. $(CPPFLAGS.master)
48 CERRWARN += -_gcc=-Wno-implicit-function-declaration
49 CERRWARN += -_gcc=-Wno-unused-variable
50 CERRWARN += -_gcc=-Wno-parentheses
51 CERRWARN += -_gcc=-Wno-uninitialized
52 CERRWARN += -_gcc=-Wno-extra
54 # "parse error: parsing (i (9223372034707292160-96) >= 65)"
55 SMATCH = off
58 # For message catalog
60 POFILES= $(TROFFOBJS:%.o=%.po) $(COMMONOBJS:%.o=../%.po)
61 POFILE= troff.d.po
63 # conditional assignments
65 all := TARGET= all
66 install := TARGET= install
67 clean := TARGET= clean
68 clobber := TARGET= clobber
69 lint := TARGET= lint
70 strip := TARGET= strip
72 troff:= POBJS= $(COMMONOBJS) $(TROFFOBJS)
73 ta:= POBJS= $(TAOBJS)
74 makedev:= POBJS= $(MAKEDEVOBJS)
76 ta:= LDLIBS += -lm
77 troff:= LDLIBS += -lmapmalloc
79 # build rule for common source above
80 %.o: ../%.c
81 $(COMPILE.c) $<
83 .KEEP_STATE:
85 .PARALLEL: $(COMMONOBJS) $(TROFFOBJS) $(TAOBJS) $(MAKEDEVOBJS)
87 all : $(PROG) $(TXTS) $(SUBDIRS)
89 $(PROG) : $$(POBJS)
90 $(LINK.c) -o $@ $(POBJS) $(LDLIBS)
91 $(POST_PROCESS)
93 install: $(PROG) $(ROOTPROG) $(SUBDIRS)
95 clean: $(SUBDIRS)
96 $(RM) $(TAOBJS) $(MAKEDEVOBJS) $(TROFFOBJS) $(COMMONOBJS)
98 catalog: $(POFILE)
100 $(POFILE): $(POFILES)
101 $(RM) $@
102 cat $(POFILES) > $@
105 strip :
106 $(STRIP $(PROG)
108 lint : lint_SRCS
110 include ../../Makefile.targ
112 # additional dependency for clobber which is defined in Makefile.targ
113 clobber: $(SUBDIRS)
115 $(SUBDIRS) : FRC
116 @cd $@; pwd; $(MAKE) $(TARGET)
118 FRC: