Makefile (1650B)
1 # -*- Makefile -*- 2 # 3 # This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 4 # 5 # Copyright 2007-2019 Broadcom Inc. All rights reserved. 6 # 7 LOCALDIR = systems/bde/linux/user/kernel 8 9 # Make sure we build for the kernel if this is a user-mode build 10 ifneq ($(platform), ) 11 override-target=linux-$(platform) 12 endif 13 14 include $(SDK)/make/Make.config 15 16 LIBS = $(LIBDIR)/libkern.a 17 18 ifneq ($(kernel_version),2_4) 19 KERNEL_MODULE_DIR = kernel_module 20 21 THIS_MOD_NAME := linux-user-bde 22 MODULE = $(LIBDIR)/$(THIS_MOD_NAME).o 23 KMODULE = $(LIBDIR)/$(THIS_MOD_NAME).ko 24 25 build: kernel_libs $(MODULE) $(KMODULE) 26 else 27 MODULE = $(LIBDIR)/linux-user-bde.o 28 29 build: kernel_libs $(MODULE) 30 endif 31 32 KBUILD_EXTRA_SYMBOLS := ${BLDDIR}/../../kernel/kernel_module/Module.symvers 33 34 $(MODULE): $(BLDDIR)/.tree kernel_libs $(BOBJS) 35 $(LD) $(MODULE_LDFLAGS) -r -d $(BOBJS) $(LIBS) -o $@ 36 ifneq ($(kernel_version),2_4) 37 $(KMODULE): $(MODULE) 38 rm -fr $(BLDDIR)/$(KERNEL_MODULE_DIR) 39 mkdir $(BLDDIR)/$(KERNEL_MODULE_DIR) 40 cp ${SDK}/make/Makefile.linux-kmodule $(BLDDIR)/$(KERNEL_MODULE_DIR)/Makefile 41 cat ${KBUILD_EXTRA_SYMBOLS} > $(BLDDIR)/$(KERNEL_MODULE_DIR)/Module.symvers 42 MOD_NAME=$(THIS_MOD_NAME) $(MAKE) -C $(BLDDIR)/$(KERNEL_MODULE_DIR) $(THIS_MOD_NAME).ko 43 endif 44 45 kernel_libs: 46 $(MAKE) -C $(SDK)/systems/linux/kernel/modules/shared 47 48 include $(SDK)/make/Make.depend 49 50 # Make.depend is before clean:: so that Make.depend's clean:: runs first. 51 52 clean:: 53 $(MAKE) -C $(SDK)/systems/linux/kernel/modules/shared $@ 54 $(RM) $(BOBJS) $(MODULE) 55 $(RM) $(BLDDIR)/$(KERNEL_MODULE_DIR) 56 57 distclean:: 58 59 .PHONY: build kernel_libs