blob: 74a61d2284c284162b3eb60fb8306a3e99568613 [file] [log] [blame]
xjb04a4022021-11-25 15:01:52 +08001#
2# Copyright (C) 2017 MediaTek Inc.
3# Licensed under either
4# BSD Licence, (see NOTICE for more details)
5# GNU General Public License, version 2.0, (see NOTICE for more details)
6#
7
8nandx_dir := $(shell dirname $(lastword $(MAKEFILE_LIST)))
9include $(nandx_dir)/Nandx.config
10
11ifeq ($(NANDX_SIMULATOR_SUPPORT), y)
12sim-obj :=
13sim-inc :=
14nandx-obj := sim-obj
15nandx-prefix := .
16nandx-postfix := %.o
17sim-inc += -I$(nandx-prefix)/include/internal
18sim-inc += -I$(nandx-prefix)/include/simulator
19endif
20
21ifeq ($(NANDX_CTP_SUPPORT), y)
22nandx-obj := C_SRC_FILES
23nandx-prefix := $(nandx_dir)
24nandx-postfix := %.c
25INC_DIRS += $(nandx_dir)/include/internal
26INC_DIRS += $(nandx_dir)/include/ctp
27INC_DIRS += $(nandx_dir)/include/platform/$(NANDX_IC_VERSION)
28endif
29
30ifeq ($(NANDX_DA_SUPPORT), y)
31nandx-obj := obj-y
32nandx-prefix := $(nandx_dir)
33nandx-postfix := %.o
34INCLUDE_PATH += $(TOPDIR)/platform/$(CODE_BASE)/dev/nand/nandx/include/internal
35INCLUDE_PATH += $(TOPDIR)/platform/$(CODE_BASE)/dev/nand/nandx/include/da
36endif
37
38ifeq ($(NANDX_PRELOADER_SUPPORT), y)
39nandx-obj := MOD_SRC
40nandx-prefix := $(nandx_dir)
41nandx-postfix := %.c
42C_OPTION += -I$(MTK_PATH_PLATFORM)/src/drivers/nandx/include/internal
43C_OPTION += -I$(MTK_PATH_PLATFORM)/src/drivers/nandx/include/preloader
44endif
45
46ifeq ($(NANDX_LK_SUPPORT), y)
47nandx-obj := MODULE_SRCS
48nandx-prefix := $(nandx_dir)
49nandx-postfix := %.c
50GLOBAL_INCLUDES += $(nandx_dir)/include/internal
51GLOBAL_INCLUDES += $(nandx_dir)/include/lk
52GLOBAL_INCLUDES += $(nandx_dir)/include/platform/$(NANDX_IC_VERSION)
53endif
54
55ifeq ($(NANDX_AOS_SUPPORT), y)
56nandx-obj := $(NAME)_SOURCES
57nandx-prefix := drivers/nandx
58nandx-postfix := %.c
59$(NAME)_INCLUDES += drivers/nandx/include/internal
60$(NAME)_INCLUDES += drivers/nandx/include/aos
61endif
62
63ifeq ($(NANDX_KERNEL_SUPPORT), y)
64nandx-obj := obj-y
65nandx-prefix := nandx
66nandx-postfix := %.o
67ccflags-y += -I$(nandx_dir)/include/internal
68ccflags-y += -I$(nandx_dir)/include/kernel
69ccflags-y += -I$(nandx_dir)/include/platform/$(NANDX_IC_VERSION)
70endif
71
72ifeq ($(NANDX_UBOOT_SUPPORT), y)
73 nandx-obj := obj-y
74 nandx-prefix := nandx
75 nandx-postfix := %.o
76 ccflags-y += -I$(nandx_dir)/include/internal
77 ccflags-y += -I$(nandx_dir)/include/uboot
78endif
79
80nandx-y :=
81include $(nandx_dir)/core/Nandx.mk
82nandx-target := $(nandx-prefix)/core/$(nandx-postfix)
83$(nandx-obj) += $(patsubst %.c, $(nandx-target), $(nandx-y))
84
85
86nandx-y :=
87include $(nandx_dir)/driver/Nandx.mk
88nandx-target := $(nandx-prefix)/driver/$(nandx-postfix)
89$(nandx-obj) += $(patsubst %.c, $(nandx-target), $(nandx-y))
90
91ifeq ($(NANDX_SIMULATOR_SUPPORT), y)
92cc := gcc
93CFLAGS += $(sim-inc)
94
95.PHONY:nandx
96nandx: $(sim-obj)
97 $(cc) $(sim-obj) -o nandx
98
99.PHONY:clean
100clean:
101 rm -rf $(sim-obj) nandx
102endif