-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
59 lines (44 loc) · 1.62 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
SHELL = /bin/bash
SRCTREE := $(CURDIR)
TARGET_OUT_DIR := $(CURDIR)/out
TOPTARGETS := all clean install clean_all
TOPSUBDIRS := ipcamera
export SOC_SEGMENT := $(shell echo $(CHIP_SEGMENT) | tr a-z A-Z)
export SOC_SEGMENT_LOWER := $(shell echo $(SOC_SEGMENT) | tr A-Z a-z)
ifeq ($(SOC_SEGMENT), CV181X)
export SOC_NICK_NAME := CV181X
export SOC_NICK_NAME_LOWER := $(shell echo $(SOC_NICK_NAME) | tr A-Z a-z)
endif
ifeq ($(SOC_SEGMENT), CV180X)
export SOC_NICK_NAME := CV180X
export SOC_NICK_NAME_LOWER := $(shell echo $(SOC_NICK_NAME) | tr A-Z a-z)
endif
$(info SOC_SEGMENT=$(SOC_SEGMENT))
$(info SOC_NICK_NAME=$(SOC_NICK_NAME))
$(info SOC_NICK_NAME_LOWER=$(SOC_NICK_NAME_LOWER))
## setup path ##
ifeq ($(findstring $(SOC_SEGMENT), CV182X CV183X CV180X CV181X), )
$(error UNKNOWN chip series - $(SOC_SEGMENT))
endif
TMP_STRING = $(foreach f,$(TOPSUBDIRS),$(findstring $f,$(MAKECMDGOALS)))
PROJECT = $(strip $(TMP_STRING))
export SRCTREE PROJECT TARGET_OUT_DIR
$(PROJECT): .config
$(MAKE) -C solutions/$@ $(strip $(subst $@,,$(MAKECMDGOALS)))
$(TOPSUBDIRS): $(PROJECT)
$(TOPTARGETS): $(TOPSUBDIRS)
#Use defconfig cv181x_ipcamera_defconfig or cv180x_ipcamera_defconfig
.config :
ifeq ($(SOC_SEGMENT), CV181X)
$(MAKE) -f $(SRCTREE)/build/Makefile.kbuild cv181x_ipcamera_defconfig
else ifeq ($(SOC_SEGMENT), CV180X)
$(MAKE) -f $(SRCTREE)/build/Makefile.kbuild cv180x_ipcamera_defconfig
endif
#.PHONY: $(TOPTARGETS) $(TOPSUBDIRS)
all : $(SRCTREE)/.config $(SUBDIRS) $(TARGET)
menuconfig:
$(MAKE) -f $(SRCTREE)/build/Makefile.kbuild $@
%_defconfig:
$(MAKE) -f $(SRCTREE)/build/Makefile.kbuild $@
include $(SRCTREE)/build/build.mk
.PHONY: $(SUBDIRS)