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 (the "License"). 6 # You may not use this file except in compliance with the License. 7 # 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. 12 # 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] 18 # 19 # CDDL HEADER END 20 # 21 # 22 # Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23 # Use is subject to license terms. 24 # 25 # cmd/troff/troff.d/Makefile 26 # 27 # Copyright (c) 2019, Joyent, Inc. 28 29 include ../../Makefile.cmd 30 31 PROG = troff ta makedev 32 33 SUBDIRS = tmac.d 34 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 40 41 SRCS = $(TAOBJS:%.o=%.c) $(MAKEDEVOBJS:%.o=%.c) \ 42 $(TROFFOBJS:%.o=%.c) $(COMMONOBJS:%.o=../%.c) 43 44 TXTS = README maketables troff.sh 45 46 CPPFLAGS = -DUSG -DINCORE -I. -I.. $(CPPFLAGS.master) 47 48 CERRWARN += -_gcc=-Wno-implicit-function-declaration 49 CERRWARN += -_gcc=-Wno-unused-variable 50 CERRWARN += -_gcc=-Wno-parentheses 51 CERRWARN += $(CNOWARN_UNINIT) 52 CERRWARN += -_gcc=-Wno-extra 53 54 # "parse error: parsing (i (9223372034707292160-96) >= 65)" 55 SMATCH = off 56 57 # 58 # For message catalog 59 # 60 POFILES= $(TROFFOBJS:%.o=%.po) $(COMMONOBJS:%.o=../%.po) 61 POFILE= troff.d.po 62 63 # conditional assignments 64 65 all := TARGET= all 66 install := TARGET= install 67 clean := TARGET= clean 68 clobber := TARGET= clobber 69 lint := TARGET= lint 70 strip := TARGET= strip 71 72 troff:= POBJS= $(COMMONOBJS) $(TROFFOBJS) 73 ta:= POBJS= $(TAOBJS) 74 makedev:= POBJS= $(MAKEDEVOBJS) 75 76 ta:= LDLIBS += -lm 77 troff:= LDLIBS += -lmapmalloc 78 79 # build rule for common source above 80 %.o: ../%.c 81 $(COMPILE.c) $< 82 83 .KEEP_STATE: 84 85 .PARALLEL: $(COMMONOBJS) $(TROFFOBJS) $(TAOBJS) $(MAKEDEVOBJS) 86 87 all : $(PROG) $(TXTS) $(SUBDIRS) 88 89 $(PROG) : $$(POBJS) 90 $(LINK.c) -o $@ $(POBJS) $(LDLIBS) 91 $(POST_PROCESS) 92 93 install: $(PROG) $(ROOTPROG) $(SUBDIRS) 94 95 clean: $(SUBDIRS) 96 $(RM) $(TAOBJS) $(MAKEDEVOBJS) $(TROFFOBJS) $(COMMONOBJS) 97 98 catalog: $(POFILE) 99 100 $(POFILE): $(POFILES) 101 $(RM) $@ 102 cat $(POFILES) > $@ 103 104 105 strip : 106 $(STRIP $(PROG) 107 108 lint : lint_SRCS 109 110 include ../../Makefile.targ 111 112 # additional dependency for clobber which is defined in Makefile.targ 113 clobber: $(SUBDIRS) 114 115 $(SUBDIRS) : FRC 116 @cd $@; pwd; $(MAKE) $(TARGET) 117 118 FRC: