xref: /illumos-gate/usr/src/cmd/ast/msgcc/Makefile (revision b30d1939)
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# Copyright (c) 2018, Joyent, Inc.
26# Copyright 2021 OmniOS Community Edition (OmniOSce) Association.
27
28SHELL= /usr/bin/ksh93
29
30include ../../Makefile.cmd
31
32.KEEP_STATE:
33
34# Set common AST build flags (e.g., needed to support the math stuff).
35include ../Makefile.ast
36
37ASTSRC= $(C_AST)/src/cmd/msgcc
38
39# build rules
40CPPFLAGS= \
41        $(DTEXTDOM) $(DTS_ERRNO) \
42        -I$(ROOT)/usr/include/ast \
43	-I$(ROOT)/usr/include \
44	-D_PACKAGE_ast \
45	'-DUSAGE_LICENSE=\
46	    "[-author?Glenn Fowler <gsf@research.att.com>]"\
47	    "[-copyright?Copyright (c) 2000-2012 AT&T Intellectual Property]"\
48	    "[-license?http://www.eclipse.org/org/documents/epl-v10.html]" \
49	    "[--catalog?msgcc]"'
50
51CFLAGS += $(ASTCFLAGS)
52
53CERRWARN += -_gcc=-Wno-parentheses
54CERRWARN += -_gcc=-Wno-empty-body
55CERRWARN += $(CNOWARN_UNINIT)
56
57# not linted
58SMATCH=off
59
60LDLIBS += -last
61msgcpp   := LDLIBS += -lpp
62
63CPROG= msgcvt msggen msgget msgcpp
64PROG= msgcc $(CPROG)
65
66all: $(PROG)
67
68# This target should use "shcomp" in the future
69msgcc:	$(ASTSRC)/msgcc.sh
70	rm -f msgcc ; \
71	{ \
72		print "#!/usr/bin/ksh93" ; \
73		print "export PATH=/usr/ast/bin:/usr/xpg6/bin:/usr/xpg4/bin:/usr/bin:\$${PATH}" ; \
74		print "builtin date" ; \
75		cat "$(ASTSRC)/msgcc.sh" ; \
76	} >msgcc ; \
77	chmod a+rx msgcc
78
79ROOTCMDDIR=$(ROOT)/usr/ast/bin
80
81install: all $(ROOTCMD)
82check clean install_h _feature:
83
84include ../../Makefile.targ
85POFILE= msgcpp.po
86
87# Create dummy file since AST/ksh/msgcc doesn't use *.po files
88msgcpp.po:
89	$(RM) $@
90	$(TOUCH) $(@)
91
92$(CPROG):
93	$(LINK.c) -o $@ $(ASTSRC)/$@.c $(LDLIBS)
94	$(POST_PROCESS)
95
96FRC:
97.PARALLEL: $(PROG)
98