11bd4fe43Sopenharmony_ci# Copyright (C) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED.
21bd4fe43Sopenharmony_ci#
31bd4fe43Sopenharmony_ci# This program is free software; you can redistribute it and/or
41bd4fe43Sopenharmony_ci# modify it under the terms of the GNU General Public License
51bd4fe43Sopenharmony_ci# as published by the Free Software Foundation; either version 2
61bd4fe43Sopenharmony_ci# of the License, or (at your option) any later version.
71bd4fe43Sopenharmony_ci#
81bd4fe43Sopenharmony_ci# This program is distributed in the hope that it will be useful,
91bd4fe43Sopenharmony_ci# but WITHOUT ANY WARRANTY; without even the implied warranty of
101bd4fe43Sopenharmony_ci# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
111bd4fe43Sopenharmony_ci# GNU General Public License for more details.
121bd4fe43Sopenharmony_ci#
131bd4fe43Sopenharmony_ci# You should have received a copy of the GNU General Public License
141bd4fe43Sopenharmony_ci# along with this program; if not, write to the Free Software
151bd4fe43Sopenharmony_ci# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
161bd4fe43Sopenharmony_ci
171bd4fe43Sopenharmony_ciifeq ($(PARAM_FILE), )
181bd4fe43Sopenharmony_ci    PARAM_FILE:=../../mpp/Makefile.param
191bd4fe43Sopenharmony_ci    include $(PARAM_FILE)
201bd4fe43Sopenharmony_ciendif
211bd4fe43Sopenharmony_ci
221bd4fe43Sopenharmony_cisrc = $(PWD)
231bd4fe43Sopenharmony_ciEXTRA_CFLAGS := -I$(src)
241bd4fe43Sopenharmony_ciEXTRA_CFLAGS += -I$(src)/himedia
251bd4fe43Sopenharmony_ciEXTRA_CFLAGS += -I$(src)/../include/
261bd4fe43Sopenharmony_ciEXTRA_CFLAGS += -DHICHIP=$(HICHIP)
271bd4fe43Sopenharmony_ciifeq ($(MPP_BUILD), y)
281bd4fe43Sopenharmony_ci    EXTRA_CFLAGS += $(MPP_CFLAGS)
291bd4fe43Sopenharmony_cielse
301bd4fe43Sopenharmony_ci    EXTRA_CFLAGS += -I$(CBB_ROOT)/include
311bd4fe43Sopenharmony_ci    EXTRA_CFLAGS += -I$(CBB_ROOT)/include/adapt
321bd4fe43Sopenharmony_ci    EXTRA_CFLAGS += -I$(CBB_ROOT)/based/arch/$(HIARCH)/include/$(HI_SUBARCH)
331bd4fe43Sopenharmony_ci    EXTRA_CFLAGS += -I$(OHOS_ROOT_PATH)/third_party/bounds_checking_function/include
341bd4fe43Sopenharmony_ciendif
351bd4fe43Sopenharmony_ciifeq ($(CONFIG_DRIVER_SPACE_TYPE),user_space)
361bd4fe43Sopenharmony_ciEXTRA_CFLAGS :=$(subst base/,based/,$(EXTRA_CFLAGS))
371bd4fe43Sopenharmony_ciEXTRA_CFLAGS :=$(subst sys/,sysd/,$(EXTRA_CFLAGS))
381bd4fe43Sopenharmony_ciendif
391bd4fe43Sopenharmony_cicsrcs = $(wildcard *.c ./himedia/*.c)
401bd4fe43Sopenharmony_cioobjs = $(patsubst %.c,%.o,$(csrcs))
411bd4fe43Sopenharmony_ci
421bd4fe43Sopenharmony_ciobj-m += hi_osal.o
431bd4fe43Sopenharmony_cihi_osal-y := osal_fileops.o osal_vmalloc.o osal_addr.o osal_init.o osal_atomic.o osal_barrier.o osal_cache.o \
441bd4fe43Sopenharmony_ci             osal_debug.o osal_device.o osal_interrupt.o osal_math.o osal_mutex.o osal_proc.o osal_schedule.o \
451bd4fe43Sopenharmony_ci             osal_semaphore.o osal_spinlock.o osal_string.o osal_task.o osal_timer.o osal_wait.o osal_workqueue.o \
461bd4fe43Sopenharmony_ci             osal_notifier.o osal_platform.o ./himedia/base.o ./himedia/himedia.o ./mmz/media_mem.o \
471bd4fe43Sopenharmony_ci             ./mmz/mmz_userdev.o ./mmz/hisi_allocator.o
481bd4fe43Sopenharmony_ci
491bd4fe43Sopenharmony_cihi_osal-$(CONFIG_CMA) += ./mmz/cma_allocator.o
501bd4fe43Sopenharmony_cihi_osal-$(CONFIG_CMA) += ./mmz/cmpi_mm.o
511bd4fe43Sopenharmony_ci
521bd4fe43Sopenharmony_ciall:
531bd4fe43Sopenharmony_ci	@make -C $(KERNEL_ROOT) M=$(PWD) $(COMPILER_TRIPLE) modules
541bd4fe43Sopenharmony_ci	@mkdir -p $(REL_KO) && cp hi_osal.ko $(REL_KO)
551bd4fe43Sopenharmony_ciclean:
561bd4fe43Sopenharmony_ci	@rm -f hi_osal.ko *.mod
571bd4fe43Sopenharmony_ci	@rm hi_osal.mod.c hi_osal.mod.o hi_osal.o modules.order Module.symvers -f
581bd4fe43Sopenharmony_ci	@rm $(hi_osal-y) -f
591bd4fe43Sopenharmony_ci	@rm ./mmz/*.o -f
601bd4fe43Sopenharmony_ci	@for x in `find . -name "*.mod.c"`;do rm -rf $$x;done
611bd4fe43Sopenharmony_ci	@for x in `find . -name "*.cmd"`;do rm -rf $$x;done
621bd4fe43Sopenharmony_ci	@rm .tmp_versions -rf
631bd4fe43Sopenharmony_ci
64