add 'swap_ksyms' module
[kernel/swap-modules.git] / driver / Makefile.am
1 if MEMCHECKER
2 memchecker = -DMEMORY_CHECKER
3 endif
4
5 if DEBUG
6 debug_opt = -D__DEBUG
7 endif
8
9 if ANDROID
10 android_opt = -D__ANDROID
11 android = yes
12 else
13 dev_major = @TARGET_DEVICE_MAJOR@
14 dev_path = @TARGET_DEVICE_PATH@
15 endif
16
17 if SLP_APP
18 slp_opt = -DSLP_APP
19 endif
20
21 if ANDROID_APP
22 android_app_opt = -DANDROID_APP
23 endif
24
25 board_opt = -DBOARD_@BOARD@
26
27 target_kernel_src = @KERNEL@
28 target_arch = @ARCH@
29 driver_module_dir = $(realpath $(srcdir))
30 module_name = swap_driver
31 cross_compiler = $(subst gcc,,$(CC))
32
33 inlude_opt = -I$(top_srcdir)/src/modules/ksyms -I$(top_srcdir)/src/common -I$(top_srcdir)/src/profile
34 extra_cflags = "$(inlude_opt) -DEC_ARCH_$(ARCH) -D__DEBUG $(memchecker) $(debug_opt) $(android_opt) $(slp_opt) $(android_app_opt) $(board_opt)"
35
36 #bin_SCRIPTS = patchko.sh insmod.sh
37
38 all-local:
39         cp $(top_srcdir)/src/modules/kprobe/Module.symvers $(driver_module_dir)
40         $(MAKE) CROSS_COMPILE=$(cross_compiler) ARCH=$(target_arch) extra_cflags=$(extra_cflags) $(AM_MAKEFLAGS) -C $(target_kernel_src) M=$(driver_module_dir) modules
41
42         echo "generate data for version patching <$(OBJDUMP)><$(READELF)>"
43         $(top_srcdir)/src/modules/driver/patchko.sh -g $(driver_module_dir)/$(module_name).ko $(OBJDUMP) $(READELF)
44
45 clean-local:
46         $(MAKE) CROSS_COMPILE=$(cross_compiler) ARCH=$(target_arch) $(AM_MAKEFLAGS) -C $(target_kernel_src) M=$(driver_module_dir) clean
47
48 install-exec-local:
49
50         install -m 644 $(driver_module_dir)/$(module_name).ko $(prefix)
51         install -m 644 $(driver_module_dir)/$(module_name).ko.addr $(prefix)
52         install -m 755 $(driver_module_dir)/patchko.sh $(prefix)/bin
53         install -m 755 $(driver_module_dir)/insmod.sh $(prefix)/bin
54
55         if [ "$(android)" != "yes" ] ; then \
56         sed "s|__DEV_MAJOR__|$(dev_major)|" $(driver_module_dir)/$(module_name).sh | \
57         sed "s|__DEV_NAME__|`basename $(dev_path)`|" | \
58         sed "s|__DEV_DIR__|`dirname $(dev_path)`|" > \
59         $(prefix)/$(module_name).sh ; chmod +x $(prefix)/$(module_name).sh ; \
60         chmod +x $(driver_module_dir)/patchko.sh ; \
61         chmod +x $(driver_module_dir)/insmod.sh ; \
62         fi