70 lines
2.6 KiB
Makefile
Executable File
70 lines
2.6 KiB
Makefile
Executable File
KDRV_INC_PATH=$(NVT_HDAL_DIR)/drivers/k_driver
|
|
MODULE_NAME = nvtmem
|
|
ccflags-y += -I$(KDRV_INC_PATH)/include
|
|
ccflags-y += -Werror
|
|
|
|
###############################################################################
|
|
# Linux Makefile #
|
|
###############################################################################
|
|
ifeq ($(NVT_PRJCFG_CFG),Linux)
|
|
|
|
obj-m += $(MODULE_NAME).o
|
|
OBJ := nvtmem_main.o
|
|
|
|
ifeq ($(CONFIG_FUNCTION_TRACER),y)
|
|
$(MODULE_NAME)-objs := $(OBJ)
|
|
else
|
|
$(MODULE_NAME)-objs := $(OBJ:.o=_no_tracer.o)
|
|
EXTRA_CFLAGS += $(shell for n in $(OBJ:.o=); do if [ -f $(src)/$$n.c ]; then ln -sf $$(basename $${n}.c) $(src)/$${n}_no_tracer.c; else rm -f $(src)/$${n}_no_tracer.c; fi done)
|
|
endif
|
|
|
|
ifeq ($(KERNELRELEASE),)
|
|
PWD := $(shell pwd)
|
|
KERVER ?= $(NVT_LINUX_VER)
|
|
KDIR ?= $(KERNELDIR)
|
|
MDIR ?= $(KERNELDIR)/_install_modules/lib/modules/$(KERVER)/hdal
|
|
MODPATH := $(shell echo $(PWD) | awk -F'source/' '{print $$NF}';)
|
|
MODNAME := $(shell echo $(obj-m:.o=.ko))
|
|
# variables for clean object
|
|
RM_TRACER_OBJ = $(foreach n, $(OBJ:.o=), $(if $(wildcard $(n).c),$(if $(wildcard $(n).o),$(n).o,),))
|
|
RM_NO_TRACER_OBJ = $(foreach n, $(OBJ:.o=), $(if $(wildcard $(n).c),$(if $(wildcard $(n)_no_tracer.o),$(n)_no_tracer.o,),))
|
|
|
|
modules:
|
|
$(MAKE) -C $(KDIR) M=$(PWD) $(NVT_KGCOV) modules
|
|
|
|
modules_install:
|
|
@if [ -z $(NVT_MOD_INSTALL) ]; then \
|
|
rm -f $(MDIR)/$(MODPATH)/$(MODNAME); \
|
|
install -m644 -b -D $(MODNAME) ${MDIR}/$(MODPATH)/$(MODNAME); \
|
|
cd $(KDIR)/_install_modules/lib/modules/$(KERVER)/; depmod -b $(KDIR)/_install_modules/ -a $(KERVER); \
|
|
else \
|
|
mkdir -p $(NVT_MOD_INSTALL)/lib/modules/$(KERVER); \
|
|
install -m644 -b -D $(MODNAME) $(NVT_MOD_INSTALL)/lib/modules/$(KERVER)/hdal/$(MODPATH)/$(MODNAME); \
|
|
fi
|
|
|
|
clean:
|
|
@rm -rf $(MODULE_NAME).* .$(MODULE_NAME).* $(OBJ:.o=_no_tracer.c) Module.symvers modules.order .tmp_versions
|
|
@rm -f `find . -type f -name ".*.cmd" -o -name ".*.d"`
|
|
@rm -f $(RM_TRACER_OBJ) $(RM_NO_TRACER_OBJ)
|
|
|
|
codesize:
|
|
@echo $(MODULE_NAME)
|
|
@$(OBJDUMP) -t $(MODULE_NAME).o > $(MODULE_NAME).sym && \
|
|
$(BUILD_DIR)/nvt-tools/nvt-ld-op -j $(MODULE_NAME).sym
|
|
|
|
.PHONY: modules modules_install clean
|
|
endif
|
|
###############################################################################
|
|
# rtos Makefile #
|
|
###############################################################################
|
|
else ifeq ($(NVT_PRJCFG_CFG),rtos)
|
|
OUTPUT_NAME = lib$(MODULE_NAME).a
|
|
|
|
modules:
|
|
@echo "nothing to be done for '$(OUTPUT_NAME)'"
|
|
clean:
|
|
@echo "nothing to be done for '$(OUTPUT_NAME)'"
|
|
modules_install:
|
|
@echo "nothing to be done for '$(OUTPUT_NAME)'"
|
|
endif
|