1# Copyright 2016 The Fuchsia Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5LOCAL_DIR := $(GET_LOCAL_DIR)
6
7MODULE := $(LOCAL_DIR)
8
9MODULE_TYPE := userapp
10MODULE_GROUP := core
11
12MODULE_SRCS += \
13    $(LOCAL_DIR)/src/alias.c \
14    $(LOCAL_DIR)/src/arith_yacc.c \
15    $(LOCAL_DIR)/src/arith_yylex.c \
16    $(LOCAL_DIR)/src/bltin/zircon.c \
17    $(LOCAL_DIR)/src/bltin/printf.c \
18    $(LOCAL_DIR)/src/bltin/test.c \
19    $(LOCAL_DIR)/src/bltin/times.c \
20    $(LOCAL_DIR)/src/builtins.c \
21    $(LOCAL_DIR)/src/cd.c \
22    $(LOCAL_DIR)/src/error.c \
23    $(LOCAL_DIR)/src/eval.c \
24    $(LOCAL_DIR)/src/exec.c \
25    $(LOCAL_DIR)/src/expand.c \
26    $(LOCAL_DIR)/src/init.c \
27    $(LOCAL_DIR)/src/input.c \
28    $(LOCAL_DIR)/src/jobs.c \
29    $(LOCAL_DIR)/src/main.c \
30    $(LOCAL_DIR)/src/memalloc.c \
31    $(LOCAL_DIR)/src/miscbltin.c \
32    $(LOCAL_DIR)/src/mystring.c \
33    $(LOCAL_DIR)/src/nodes.c \
34    $(LOCAL_DIR)/src/options.c \
35    $(LOCAL_DIR)/src/output.c \
36    $(LOCAL_DIR)/src/output.h \
37    $(LOCAL_DIR)/src/parser.c \
38    $(LOCAL_DIR)/src/process.c \
39    $(LOCAL_DIR)/src/redir.c \
40    $(LOCAL_DIR)/src/show.c \
41    $(LOCAL_DIR)/src/signames.c \
42    $(LOCAL_DIR)/src/syntax.c \
43    $(LOCAL_DIR)/src/system.c \
44    $(LOCAL_DIR)/src/tab.c \
45    $(LOCAL_DIR)/src/trap.c \
46    $(LOCAL_DIR)/src/var.c \
47
48MODULE_NAME := sh
49
50MODULE_STATIC_LIBS := \
51    system/ulib/pretty \
52    third_party/ulib/linenoise \
53
54MODULE_LIBS := \
55    system/ulib/c \
56    system/ulib/fdio \
57    system/ulib/zircon
58
59MODULE_FIDL_LIBS := \
60    system/fidl/fuchsia-device-manager \
61
62MODULE_CFLAGS := -D_GNU_SOURCE -DBSD -DIFS_BROKEN -DJOBS=0 -DSHELL \
63                 -DUSE_LINENOISE
64MODULE_CFLAGS += -include $(LOCAL_DIR)/config.h -I$(LOCAL_DIR)/src
65
66# TODO: Fix Warnings
67MODULE_CFLAGS += -Wno-error -Wno-strict-prototypes -Wno-sign-compare
68ifeq ($(call TOBOOL,$(USE_CLANG)),false)
69MODULE_CFLAGS += -Wno-discarded-qualifiers
70else
71MODULE_CFLAGS += -Wno-incompatible-pointer-types-discards-qualifiers
72MODULE_CFLAGS += -Wno-gnu-designator -Wno-format-security -Wno-string-plus-int
73endif
74MODULE_CFLAGS += -Wno-logical-not-parentheses
75
76MODULE_DEFINES += DEBUG=1
77
78include make/module.mk
79