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 (c) 1990, 2010, Oracle and/or its affiliates. All rights reserved. 23# 24# Copyright (c) 2018, Joyent, Inc. 25 26PROG = sh 27USR_PROG = $(PROG) 28 29OBJS= args.o blok.o cmd.o defs.o error.o fault.o hash.o hashserv.o \ 30 io.o msg.o print.o stak.o string.o word.o xec.o \ 31 ctype.o echo.o expand.o func.o macro.o pwd.o setbrk.o test.o \ 32 bltin.o jobs.o ulimit.o main.o name.o service.o 33SRCS= $(OBJS:%.o=%.c) 34 35include ../Makefile.cmd 36 37# 38# for message cataloge 39# 40POFILE= sh.po 41POFILES= $(SRCS:%.c=%.po) 42XGETFLAGS += -a -x sh.xcl 43 44CPPFLAGS += -D_FILE_OFFSET_BITS=64 -DACCT 45CERRWARN += -_gcc=-Wno-implicit-function-declaration 46CERRWARN += -_gcc=-Wno-parentheses 47CERRWARN += -_gcc=-Wno-extra 48CERRWARN += -_gcc=-Wno-unused-variable 49 50# unknown type for func 51SMATCH=off 52 53MAPFILES = $(MAPFILE.INT) $(MAPFILE.NGB) 54LDFLAGS += $(MAPFILES:%=-Wl,-M%) 55LDLIBS += -lgen 56 57.KEEP_STATE: 58 59.PARALLEL: $(OBJS) 60 61all: $(ROOTHASBINPROG) 62 63$(PROG): $(OBJS) $(MAPFILES) 64 $(LINK.c) $(OBJS) -o $@ $(LDLIBS) 65 $(POST_PROCESS) 66 67$(POFILE): $(POFILES) 68 $(RM) $@ 69 $(CAT) $(POFILES) > $@ 70 71install: all $(ROOTHASBINPROG) 72 $(RM) $(ROOTHASBIN)/jsh 73 $(SYMLINK) sh $(ROOTHASBIN)/jsh 74 $(RM) $(ROOTHASLIB)/rsh 75 $(SYMLINK) ../bin/sh $(ROOTHASLIB)/rsh 76 77clean: 78 $(RM) $(OBJS) 79 80include ../Makefile.targ 81