177 lines
4.8 KiB
Makefile
177 lines
4.8 KiB
Makefile
|
|
ifeq ($(MEDIA_PARAM), )
|
|
MEDIA_PARAM:=../Makefile.param
|
|
include $(MEDIA_PARAM)
|
|
endif
|
|
|
|
export CONFIG_RK_SAMPLE=y
|
|
export LC_ALL=C
|
|
SHELL:=/bin/bash
|
|
|
|
CURRENT_DIR := $(shell pwd)
|
|
|
|
ifeq ($(rk_static),1)
|
|
export BUILD_STATIC_LINK=y
|
|
else
|
|
export BUILD_STATIC_LINK=n
|
|
endif
|
|
|
|
ifeq ($(RK_MEDIA_SAMPLE_STATIC_LINK),y)
|
|
export BUILD_STATIC_LINK=y
|
|
else
|
|
export BUILD_STATIC_LINK=n
|
|
endif
|
|
|
|
SAMPLE_CC := $(RK_MEDIA_CROSS)-gcc
|
|
SAMPLE_AR := $(RK_MEDIA_CROSS)-ar
|
|
|
|
PKG_NAME := sample
|
|
PKG_BIN ?= out
|
|
PKG_BUILD ?= build
|
|
|
|
RK_MEDIA_OPTS += -Wl,-rpath-link,${RK_MEDIA_OUTPUT}/lib:$(RK_MEDIA_OUTPUT)/root/usr/lib
|
|
PKG_CONF_OPTS += -DRKPLATFORM=ON
|
|
|
|
ifeq ($(RK_MEDIA_CHIP), rv1126)
|
|
PKG_CONF_OPTS += -DCMAKE_SYSTEM_PROCESSOR=armv7l
|
|
PKG_CONF_OPTS += -DARCH64=OFF
|
|
endif
|
|
|
|
ifeq ($(RK_MEDIA_CHIP), rv1106)
|
|
PKG_CONF_OPTS += -DARCH64=OFF
|
|
endif
|
|
|
|
ifeq ($(CONFIG_RK_IVA),y)
|
|
LD_FLAGS += -DROCKIVA
|
|
LD_FLAGS += -DROCKIVA -lrockiva
|
|
endif
|
|
|
|
ifeq ($(CONFIG_RK_SAMPLE),y)
|
|
PKG_TARGET := sample-build
|
|
else
|
|
PKG_TARGET :=
|
|
$(warning Not config source RK_SAMPLE, Skip...)
|
|
endif
|
|
|
|
ifeq ($(PKG_BIN),)
|
|
$(error ### $(CURRENT_DIR): PKG_BIN is NULL, Please Check !!!)
|
|
endif
|
|
|
|
COMM_DIR := $(CURRENT_DIR)/common
|
|
COMM_SRC := $(wildcard $(COMM_DIR)/*.c)
|
|
ifeq ($(RK_MEDIA_CHIP), rv1126)
|
|
COMM_SRC += $(wildcard $(COMM_DIR)/isp2.x/*.c)
|
|
endif
|
|
ifeq ($(RK_MEDIA_CHIP), rv1106)
|
|
COMM_SRC += $(wildcard $(COMM_DIR)/isp3.x/*.c)
|
|
endif
|
|
COMM_OBJ := $(COMM_SRC:%.c=%.o)
|
|
|
|
INC_FLAGS := -I$(COMM_DIR)
|
|
INC_FLAGS += -I$(RK_MEDIA_OUTPUT)/include
|
|
INC_FLAGS += -I$(RK_MEDIA_OUTPUT)/include/rkaiq
|
|
ifeq ($(RK_MEDIA_CHIP), rv1126)
|
|
INC_FLAGS += -I$(RK_MEDIA_OUTPUT)/include/rkaiq/uAPI
|
|
LD_FLAGS += -DUAPI
|
|
else
|
|
INC_FLAGS += -I$(RK_MEDIA_OUTPUT)/include/rkaiq/uAPI2
|
|
LD_FLAGS += -DUAPI2
|
|
endif
|
|
INC_FLAGS += -I$(RK_MEDIA_OUTPUT)/include/rkaiq/common
|
|
INC_FLAGS += -I$(RK_MEDIA_OUTPUT)/include/rkaiq/xcore
|
|
INC_FLAGS += -I$(RK_MEDIA_OUTPUT)/include/rkaiq/algos
|
|
INC_FLAGS += -I$(RK_MEDIA_OUTPUT)/include/rkaiq/iq_parser
|
|
INC_FLAGS += -I$(RK_MEDIA_OUTPUT)/include/rkaiq/iq_parser_v2
|
|
INC_FLAGS += -I$(RK_MEDIA_OUTPUT)/include/rkaiq/smartIr
|
|
SAMPLE_CFLAGS += -g -Wall $(INC_FLAGS) $(PKG_CONF_OPTS)
|
|
LD_FLAGS += -L$(SAMPLE_OUT_DIR)/lib -lsample_comm
|
|
ifeq ($(BUILD_STATIC_LINK), y)
|
|
LD_FLAGS += $(RK_MEDIA_OPTS) -L$(RK_MEDIA_OUTPUT)/lib -Wl,-Bstatic -lpthread -lrockit -lrockchip_mpp -lrkaiq \
|
|
-lrkaudio_detect -laec_bf_process \
|
|
-lm -lrga -lstdc++ -Wl,-Bdynamic
|
|
LD_FLAGS += -L$(CURRENT_DIR)/lib/$(RK_MEDIA_CROSS) -Wl,-Bstatic -lrtsp -Wl,-Bdynamic -Wl,--gc-sections -Wl,--as-needed
|
|
else
|
|
LD_FLAGS += $(RK_MEDIA_OPTS) -L$(RK_MEDIA_OUTPUT)/lib -lrockit -lrockchip_mpp -lrkaiq -lpthread -lm -ldl
|
|
LD_FLAGS += -L$(CURRENT_DIR)/lib/$(RK_MEDIA_CROSS) -lrtsp
|
|
endif
|
|
|
|
ifeq ($(RK_MEDIA_CHIP), rv1126)
|
|
INC_FLAGS += -I$(COMM_DIR)/isp2.x
|
|
SAMPLE_CFLAGS += -DISP_HW_V20
|
|
LD_FLAGS += -L$(RK_MEDIA_OUTPUT)/root/usr/lib -lasound
|
|
SAMPLE_CFLAGS += -DHAVE_VO
|
|
LD_FLAGS += -ldrm
|
|
endif
|
|
|
|
ifeq ($(RK_MEDIA_CHIP), rv1106)
|
|
INC_FLAGS += -I$(COMM_DIR)/isp3.x
|
|
SAMPLE_CFLAGS += -DISP_HW_V30
|
|
endif
|
|
|
|
export SAMPLE_OUT_DIR=$(CURRENT_DIR)/out
|
|
export SAMPLE_SRC_DIR=$(CURRENT_DIR)/simple_test/
|
|
export PKG_CONF_OPTS
|
|
export COMM_OBJ COMM_SRC COMM_DIR
|
|
export SAMPLE_CC SAMPLE_AR
|
|
export SAMPLE_CFLAGS
|
|
export LD_FLAGS
|
|
|
|
all: $(PKG_TARGET)
|
|
@echo "build $(PKG_NAME) done";
|
|
|
|
sample-build: libasound librkaiq librockit librockiva librksysutils COMM_LIB
|
|
@mkdir -p $(SAMPLE_OUT_DIR)/bin
|
|
@make -C $(CURRENT_DIR)/audio;
|
|
@make -C $(CURRENT_DIR)/audio install;
|
|
@make -C $(CURRENT_DIR)/vi;
|
|
@make -C $(CURRENT_DIR)/vi install;
|
|
@make -C $(CURRENT_DIR)/simple_test;
|
|
@make -C $(CURRENT_DIR)/simple_test install;
|
|
ifneq ($(RK_MEDIA_CHIP), rv1106)
|
|
@make -C $(CURRENT_DIR)/vo;
|
|
@make -C $(CURRENT_DIR)/vo install;
|
|
endif
|
|
@make -C $(CURRENT_DIR)/venc;
|
|
@make -C $(CURRENT_DIR)/venc install;
|
|
@make -C $(CURRENT_DIR)/test;
|
|
@make -C $(CURRENT_DIR)/test install;
|
|
@make -C $(CURRENT_DIR)/demo;
|
|
@make -C $(CURRENT_DIR)/demo install;
|
|
$(call MAROC_COPY_PKG_TO_MEDIA_OUTPUT, $(RK_MEDIA_OUTPUT), $(PKG_BIN))
|
|
|
|
COMM_LIB:
|
|
@make -C $(CURRENT_DIR)/common
|
|
|
|
libasound:
|
|
@test ! -d $(RK_MEDIA_TOP_DIR)/alsa-lib || make -C $(RK_MEDIA_TOP_DIR)/alsa-lib
|
|
|
|
librkaiq:
|
|
@test ! -d $(RK_MEDIA_TOP_DIR)/isp || make -C $(RK_MEDIA_TOP_DIR)/isp
|
|
|
|
librockit:
|
|
@test ! -d $(RK_MEDIA_TOP_DIR)/rockit || make -C $(RK_MEDIA_TOP_DIR)/rockit
|
|
|
|
librockiva:
|
|
@test ! -d $(RK_MEDIA_TOP_DIR)/iva || make -C $(RK_MEDIA_TOP_DIR)/iva
|
|
|
|
librksysutils:
|
|
@test ! -d $(RK_MEDIA_TOP_DIR)/sysutils || make -C $(RK_MEDIA_TOP_DIR)/sysutils
|
|
|
|
clean:
|
|
@make -C $(CURRENT_DIR)/common clean
|
|
@make -C $(CURRENT_DIR)/audio clean
|
|
@make -C $(CURRENT_DIR)/vi clean
|
|
@make -C $(CURRENT_DIR)/vo clean
|
|
@make -C $(CURRENT_DIR)/venc clean
|
|
@make -C $(CURRENT_DIR)/simple_test clean
|
|
@make -C $(CURRENT_DIR)/test clean
|
|
@make -C $(CURRENT_DIR)/demo clean
|
|
@rm -rf $(SAMPLE_OUT_DIR)
|
|
|
|
help:
|
|
@echo "help message:"
|
|
@echo " build with dynamic link: make "
|
|
@echo " build with static link: make rk_static=1"
|
|
|
|
distclean: clean
|