da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# CDDL HEADER START
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# The contents of this file are subject to the terms of the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# Common Development and Distribution License (the "License").
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# You may not use this file except in compliance with the License.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# or http://www.opensolaris.org/os/licensing.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# See the License for the specific language governing permissions
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# and limitations under the License.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# When distributing Covered Code, include this CDDL HEADER in each
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# If applicable, add the following below this CDDL HEADER, with the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# fields enclosed by brackets "[]" replaced with your own identifying
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# information: Portions Copyright [yyyy] [name of copyright owner]
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# CDDL HEADER END
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#
134a1f4e3289b54e0f980e9cf05352e419a60beeCasper H.S. Dik# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinSHELL=/usr/bin/ksh93
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinLIBRARY= libshell.a
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinVERS= .1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinOBJECTS= \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin bltins/alarm.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin bltins/cd_pwd.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin bltins/cflow.o \
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin bltins/enum.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin bltins/getopts.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin bltins/hist.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin bltins/misc.o \
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz bltins/poll_solaris.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin bltins/print.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin bltins/read.o \
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz bltins/regress.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin bltins/shiocmd_solaris.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin bltins/sleep.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin bltins/test.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin bltins/trap.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin bltins/typeset.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin bltins/ulimit.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin bltins/umask.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin bltins/whence.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin data/aliases.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin data/builtins.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin data/keywords.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin data/lexstates.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin data/limits.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin data/msg.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin data/options.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin data/signals.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin data/strdata.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin data/testops.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin data/variables.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin edit/completion.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin edit/edit.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin edit/emacs.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin edit/hexpand.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin edit/history.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin edit/vi.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/args.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/arith.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/array.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/defs.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/deparse.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/expand.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/fault.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/fcin.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/init.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/io.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/jobs.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/lex.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/macro.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/main.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/name.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/nvdisc.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/nvtree.o \
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin sh/nvtype.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/parse.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/path.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/streval.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/string.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/subshell.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/tdump.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/timers.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/trestore.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/waitevent.o \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh/xec.o
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# We are storing the object files into subdirs avoid the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# confusion with having too many object files in the toplevel pics/
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# directory (this matches the way how the original AST build system
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# deals with this "logistic" issue) - the rules below ensure that
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# the destination directory is available.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinOBJDIRS = \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin bltins \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin data \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin edit \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sh
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinPICSDIRS= $(OBJDIRS:%=pics/%)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinmkpicdirs:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin @mkdir -p $(PICSDIRS)
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Lowe
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin# Specify the MACH we currently use to build and test ksh
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinLIBSHELLMACH= $(TARGETMACH)
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinLIBSHELLBASE=..
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Lowe
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chininclude ../../Makefile.astmsg
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chininclude ../../Makefile.lib
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# mapfile-vers does not live with the sources in in common/ to make
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# automated code updates easier.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinMAPFILES= ../mapfile-vers
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin# Set common AST build flags (e.g. C99/XPG6, needed to support the math stuff)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chininclude ../../../Makefile.ast
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinLIBS = $(DYNLIB) $(LINTLIB)
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin
7c2fbfb345896881c631598ee3852ce9ce33fb07April ChinLDLIBS += \
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin -lcmd \
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin -ldll \
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin -last \
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin -lsocket \
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin -lm \
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin -lc
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin$(LINTLIB) := SRCS = $(SRCDIR)/$(LINTSRC)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinSRCDIR = ../common
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# 1. Make sure that the -D/-U defines in CPPFLAGS below are in sync
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# with usr/src/cmd/ksh/Makefile.com
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# 2. We use "=" here since using $(CPPFLAGS.master) is very tricky in our
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# case - it MUST come as the last element but future changes in -D options
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# may then cause silent breakage in the AST sources because the last -D
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# option specified overrides previous -D options so we prefer the current
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# way to explicitly list each single flag.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinCPPFLAGS = \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin $(DTEXTDOM) $(DTS_ERRNO) \
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin $(LIBSHELLCPPFLAGS)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinCFLAGS += \
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin $(ASTCFLAGS)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinCFLAGS64 += \
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin $(ASTCFLAGS64)
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweCERRWARN += -_gcc=-Wno-parentheses
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweCERRWARN += -_gcc=-Wno-unused-value
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweCERRWARN += -_gcc=-Wno-unused-variable
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweCERRWARN += -_gcc=-Wno-unused-function
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweCERRWARN += -_gcc=-Wno-uninitialized
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweCERRWARN += -_gcc=-Wno-clobbered
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweCERRWARN += -_gcc=-Wno-char-subscripts
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Lowe
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chinpics/sh/macro.o := CERRWARN += -erroff=E_NO_IMPLICIT_DECL_ALLOWED
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chinpics/sh/nvdisc.o := CERRWARN += -erroff=E_END_OF_LOOP_CODE_NOT_REACHED
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin.KEEP_STATE:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinall: mkpicdirs .WAIT $(LIBS)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# libshell is not lint-clean yet; fake up a target. (You can use
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# "make lintcheck" to actually run lint; please send all lint fixes
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin# upstream (to AT&T) so the next update will pull them into ON.)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinlint:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin @ print "usr/src/lib/libshell is not lint-clean: skipping"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chininclude ../../Makefile.targ