VirtualBox

Changeset 77389 in vbox for trunk/src/VBox/Installer/linux


Ignore:
Timestamp:
Feb 20, 2019 3:34:01 PM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
128940
Message:

linux module makefile tinkering & cleaning up.

Location:
trunk/src/VBox/Installer/linux
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Installer/linux/Makefile.include.footer

    r76712 r77389  
    1818#
    1919
     20#
     21# Note! The MOD_XXX variables are ours and does not directly influence the
     22#       kernel build system.  When adding more variables, please prefix them
     23#       with VBOX_ so we can tell more easily who's variable it is.
     24#
     25
    2026# override is required by the Debian guys
    2127override MODULE = $(MOD_NAME)
     
    2834# Compiler options
    2935#
    30 ifndef INCL
    31  INCL    := $(addprefix -I,$(KERN_INCL) $(EXTRA_INCL))
    32  ifndef KBUILD_EXTMOD
    33   KBUILD_EXTMOD := $(shell pwd)
    34  endif
    35  INCL    += $(MOD_INCL)
    36  export INCL
    37 endif
     36VBOX_INCL := $(addprefix -I,$(KERN_INCL) $(EXTRA_INCL)) $(MOD_INCL)
     37
    3838KFLAGS   := -D__KERNEL__ -DMODULE -DRT_WITHOUT_PRAGMA_ONCE $(MOD_DEFS)
    3939ifeq ($(BUILD_TYPE),debug)
     
    4646endif
    4747
    48 ifeq ($(KERN_VERSION), 24)
     48ifeq ($(KERN_VERSION),24)
    4949#
    5050# 2.4
     
    5757
    5858ifeq ($(BUILD_TARGET_ARCH),amd64)
    59  KFLAGS  += -mcmodel=kernel
     59 KFLAGS += -mcmodel=kernel
    6060endif
    6161
    62 CFLAGS := -O2 -DVBOX_LINUX_2_4 $(MOD_CFLAGS) $(INCL) $(KFLAGS) $(MOD_EXTRA) $(KDEBUG)
     62CFLAGS := -O2 -DVBOX_LINUX_2_4 $(MOD_CFLAGS) $(VBOX_INCL) $(KFLAGS) $(MOD_EXTRA) $(KDEBUG)
    6363MODULE_EXT := o
    6464
    6565# 2.4 Module linking
    66 $(MODULE).o: $(OBJS)
     66$(MODULE).$(MODULE_EXT): $(OBJS)
    6767        $(LD) -o $@ -r $(OBJS)
    6868
    6969.PHONY: $(MODULE)
    7070all: $(MODULE)
    71 $(MODULE): $(MODULE).o
     71$(MODULE): $(MODULE).$(MODULE_EXT)
    7272
    7373install: $(MODULE)
     
    8383#
    8484# 2.6 and later
     85## @todo XXX does not work for 2.6.5 and earlier (see KBUILD_EXTMOD in header).
    8586#
    8687
     
    9091
    9192# build defs
    92 EXTRA_CFLAGS += $(MOD_CFLAGS) $(INCL) $(KFLAGS) $(MOD_EXTRA) $(KDEBUG)
     93EXTRA_CFLAGS += $(MOD_CFLAGS) $(VBOX_INCL) $(KFLAGS) $(MOD_EXTRA) $(KDEBUG)
    9394
    9495.PHONY: $(MODULE)
  • trunk/src/VBox/Installer/linux/Makefile.include.header

    r77059 r77389  
    152152MODULE_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KERN_VER)/$(INSTALL_MOD_DIR)
    153153
     154#
     155# The KBUILD_EXTMOD variable is used by 2.6.6 and later when build external
     156# modules (see https://lwn.net/Articles/79984/).  It will be set to SUBDIRS
     157# or M by the linux kernel makefile.  We fake it here for older kernels.
     158#
     159## @todo Drop this KBUILD_EXTMOD glue once it has been removed from all our makefiles (see sharedfolders).
     160ifndef KBUILD_EXTMOD
     161 ifndef CURDIR # for make < v3.79
     162  CURDIR := $(shell pwd)
     163 endif
     164 KBUILD_EXTMOD := $(CURDIR)
     165endif
     166
    154167# debug - show guesses.
    155168ifdef DEBUG
     
    161174$(warning dbg: KERN_VERSION     = $(KERN_VERSION))
    162175$(warning dbg: MODULE_DIR       = $(MODULE_DIR))
     176$(warning dbg: KBUILD_EXTMOD    = $(KBUILD_EXTMOD))
     177$(warning dbg: VBOX_ROOT_DIR    = $(VBOX_ROOT_DIR))
    163178 endif
    164179endif
     180
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette