openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

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