diff options
Diffstat (limited to 'usr/src/cmd/ast/libast/Makefile.com')
-rw-r--r-- | usr/src/cmd/ast/libast/Makefile.com | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/usr/src/cmd/ast/libast/Makefile.com b/usr/src/cmd/ast/libast/Makefile.com new file mode 100644 index 0000000000..862c2f8e67 --- /dev/null +++ b/usr/src/cmd/ast/libast/Makefile.com @@ -0,0 +1,157 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. +# +# Copyright (c) 2019, Joyent, Inc. +# Copyright 2021 OmniOS Community Edition (OmniOSce) Association. + +SHELL= /usr/bin/ksh93 + +LIBRARY= libast.a +VERS= .1 + +include ../Makefile.defs + +OBJECTS += $(LIBOBJS) + +include $(SRC)/lib/Makefile.lib +include ../../Makefile.ast + +MAPFILES= ../mapfile-vers + +LIBS= $(DYNLIB) +LDLIBS += -lm -lc -lsocket + +# We use "=" here since using $(CPPFLAGS.master) is very tricky in our +# case - it MUST come as the last element but future changes in -D options +# may then cause silent breakage in the AST sources because the last -D +# option specified overrides previous -D options so we prefer the current +# way to explicitly list each single flag. +# Notes: +# - "-D_BLD_DLL" comes from ${mam_cc_DLL} in Mamfile +# - Be careful with "-D__OBSOLETE__=xxx". Make sure this is in sync with +# upstream (see Mamfile) and do not change the |__OBSOLETE__| value +# without examining the symbols that will be removed, and evaluating +# whether that breaks compatibility with upstream binaries. +CPPFLAGS= \ + $(DTEXTDOM) $(DTS_ERRNO) \ + $(ASTPLATFORMCPPFLAGS) \ + -Iast -I. \ + -I$(ASTSRC) \ + -I$(ASTSRC)/comp \ + -I$(ASTSRC)/include \ + -I$(ASTSRC)/std \ + -I$(ASTSRC)/dir \ + -I$(ASTSRC)/port \ + -I$(ASTSRC)/sfio \ + -I$(ASTSRC)/misc \ + -I$(ASTSRC)/string \ + -I$(ROOT)/usr/include \ + '-DCONF_LIBSUFFIX=".so"' \ + '-DCONF_LIBPREFIX="lib"' \ + -DERROR_CATALOG=\""libast"\" \ + -D__OBSOLETE__=20120101 \ + -D_BLD_ast \ + -D_PACKAGE_ast \ + -D_BLD_DLL \ + -D_AST_std_malloc=1 + +CFLAGS += $(ASTCFLAGS) +CFLAGS64 += $(ASTCFLAGS64) + +CERRWARN += -_gcc=-Wno-parentheses +CERRWARN += $(CNOWARN_UNINIT) +CERRWARN += -_gcc=-Wno-char-subscripts +CERRWARN += -_gcc=-Wno-clobbered +CERRWARN += -_gcc=-Wno-unused-variable +CERRWARN += -_gcc=-Wno-unused-but-set-variable +CERRWARN += -_gcc=-Wno-unused-but-set-parameter +CERRWARN += -_gcc=-Wno-unused-value +CERRWARN += -_gcc=-Wno-unused-function +CERRWARN += -_gcc=-Wno-unused-label +CERRWARN += -_gcc=-Wno-implicit-function-declaration +CERRWARN += -_gcc=-Wno-empty-body +CERRWARN += -_gcc=-Wno-type-limits +CERRWARN += -_gcc=-Wno-address + +SMATCH= off + +all: install_h mkpicdirs .WAIT $(LIBS) + +mkpicdirs: + mkdir -p $(LOBJDIRS:%=pics/%) + +include $(SRC)/lib/Makefile.targ + +pics/%.o: $(ASTSRC)/%.c + $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $< + $(POST_PROCESS_O) + +###################################################################### +# Header file generation + +ast/prototyped.h: FRC + $(MKDIR) -p $(@D) + $(AST_TOOLS)/proto -f /dev/null > $@ + +ast/ast_common.h: ast/prototyped.h + $(AST_PROTO) FEATURE/common | $(GREP) -v 'define _def_map_' > $@ + $(POST_PROCESS_AST) $@ + $(CP) $@ . + +ast/lc.h: lc.h + $(AST_PROTO) lc.h > ast/lc.h + +# The HEADERGEN headers are generated from the corresponding FEATURE/ file +# with any ast_ prefix removed. +$(HEADERGEN:%=ast/%): FRC + src=`echo $(@F:%.h=%) | sed 's/^ast_//'`; \ + $(AST_PROTO) FEATURE/$$src > $@ + $(POST_PROCESS_AST) $@ + +$(HEADERSRC:%=ast/%): FRC + src=$(@F) ;\ + [[ $$src = ast_namval.h ]] && src=namval.h ;\ + for d in include $(LOBJDIRS) std; do \ + if [[ -f $(ASTSRC)/$$d/$$src ]]; then \ + echo "$$d/$$src -> $@"; \ + cp $(ASTSRC)/$$d/$$src $@; \ + $(POST_PROCESS_AST) $@; \ + break; \ + fi; \ + done + +CLOBBERFILES += ast_common.h t.c +CLOBBERFILES += ast/* + +install_h: ast/prototyped.h ast/ast_common.h ast/lc.h \ + $(HEADERGEN:%=ast/%) $(HEADERSRC:%=ast/%) + +.PARALLEL: $(HEADERGEN:%=ast/%) $(HEADERSRC:%=ast/%) + +_feature: FRC + $(MAKE) -f Makefile.iffe generate + +include ../../Makefile.astmsg + +FRC: |