-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathMakefile
More file actions
74 lines (58 loc) · 1.97 KB
/
Makefile
File metadata and controls
74 lines (58 loc) · 1.97 KB
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# SPDX-License-Identifier: BSD-3-Clause
#
# Copyright 2018-2025 NXP
#
MODULE_NAME := ipc-shm-dev
UIO_MODULE_NAME := ipc-shm-uio
XEN_MODULE_NAME := ipc-shm-xen
PLATFORM_FLAVOR ?= UNDEFINED
EXTRA_CFLAGS ?=
IPC_USE_XEN ?= UNDEFINED
ifneq ($(KERNELRELEASE),)
# kbuild part of makefile
#obj-m := $(MODULE_NAME).o $(UIO_MODULE_NAME).o $(XEN_MODULE_NAME).o
ifneq ($(IPC_USE_XEN),YES)
obj-m := $(MODULE_NAME).o $(UIO_MODULE_NAME).o
else
obj-m := $(XEN_MODULE_NAME).o
endif
$(MODULE_NAME)-y := ipc-shm.o ipc-queue.o os_kernel/ipc-os.o
$(XEN_MODULE_NAME)-y := ipc-shm.o ipc-queue.o os_kernel/ipc-xen.o
$(UIO_MODULE_NAME)-y := os_kernel/ipc-uio.o
ifeq ($(PLATFORM_FLAVOR),UNDEFINED)
$(error "PLATFORM_FLAVOR is UNDEFINED")
else ifeq ($(PLATFORM_FLAVOR),s32r47)
PLATFORM_HW := s32r47
else ifeq ($(PLATFORM_FLAVOR),s32v234)
PLATFORM_HW := s32v234
else ifeq ($(PLATFORM_FLAVOR),s32g3)
PLATFORM_HW := s32g3xx
else
PLATFORM_HW := s32gen1
endif
$(MODULE_NAME)-y += hw/$(PLATFORM_HW)/ipc-hw-$(PLATFORM_HW).o
$(UIO_MODULE_NAME)-y += hw/$(PLATFORM_HW)/ipc-hw-$(PLATFORM_HW).o
# Add here cc flags (e.g. header lookup paths, defines, etc)
ccflags-y += -I$(src) -I$(src)/hw -I$(src)/hw/$(PLATFORM_HW) -I$(src)/os_kernel
ccflags-y += -DPLATFORM_FLAVOR_$(PLATFORM_FLAVOR)
ccflags-y += $(EXTRA_CFLAGS)
# # For debug
# ccflags-y += -DDEBUG
else
# normal part of makefile
ARCH ?= arm64
PWD := $(shell pwd)
# The following parameters must be passed from the caller,
# e.g. build system (Yocto), command line:
# KERNELDIR : Linux kernel source code location
# INSTALL_DIR : location of the module installation
# CROSS_COMPILE: the path and prefix of the used cross compiler
# PLATFORM_FLAVOR: build for s32g2, s32r45 or s32g3
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) $@
modules_install: modules
$(MAKE) -C $(KERNELDIR) M=$(PWD) INSTALL_MOD_PATH=$(INSTALL_DIR) $@
clean:
$(MAKE) -C $(KERNELDIR) M=$(PWD) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) $@
.PHONY: modules clean
endif