vmod/vmodttl: fixed bug related to luns not ordered and/or not starting from zero.
[ht-drivers.git] / makefiles / Makefile.linux
blob539a7d7ecb83c731159c710412fd8ca0daf90cff
1 ###############################################################################
2 # @file Makefile.linux
4 # @brief Builds up Linux driver.
6 # @author Yury GEORGIEVSKIY, CERN.
8 # @b NOTE
9 # Don't use this makefile directly!
10 # It should be included through Makefile.drvr _ONLY_
12 # @date Created on 08/04/2009
13 ###############################################################################
15 include ../$(ROOTDIR)/makefiles/Makefile.base
17 # Include generic definitions
18 include ../$(ROOTDIR)/makefiles/Kbuild.include
20 # Quiet you!
21 MAKEFLAGS += --no-print-directory
23 #  Driver source directory
24 #+ This name is defined _only_ if user in not alredy define it
25 DRVR_DIR ?= driver
27 # What will be finally created
28 DRIVER  = $(OBJDIR)/$(DRIVER_NAME).ko
30 _build:
31         @echo -e "\nCompiling driver for $(KVER) Linux kernel:\n"
32         @$(MAKE) CPU=$(CPU) __build
34 # Let's roll
35 __build: $(OBJDIR) $(FINAL_DEST)
36 # 1. compile the driver
37         $(MAKE) -C $(KSRC) M=$(shell pwd) CPU=$(CPU) \
38         ROOTDIR=$(shell cd ../$(ROOTDIR) && pwd && echo) modules
40 # 2. Remove .tmp_version subdir, if already exists
41         @if [ -d $(OBJDIR)/.tmp_versions ]; then \
42                 rm -rf $(OBJDIR)/.tmp_versions; \
43         fi
45 # 3. Move all the compiled stuff in the object directory. Suppress any errors.
46         @-mv -f .tmp_versions/ *.o .*.o.cmd .*.ko.cmd *.mod.c *.symvers \
47         Module.markers modules.order *.ko $(OBJDIR) 2>/dev/null; exit 0
49 # 4. Link with .ko
50         @ln -sf ../$(DRVR_DIR)/$(DRIVER) ../$(FINAL_DEST)/$(DRIVER_NAME).$(KVER).ko
52 # CERN delivery
53 include ../$(ROOTDIR)/makefiles/deliver.mk
55 # Guess what
56 clean clear:
57         $(MAKE) -C $(KSRC) M=$(shell pwd) ROOTDIR=$(shell cd ../$(ROOTDIR) && pwd && echo) clean
58         $(RM) -rf $(OBJDIR)