下面是我正在为安卓编译的Linux内核中的cyttsp4生成文件,使用的是kyasu msm8974项目(https://github.com/kyasu/android_kernel_samsung_msm8974)。
### CYTTSP
#obj-m += cyttsp4.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4) += cyttsp4_core.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4) += cyttsp4_i2c.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4) += cyttsp4_platform.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4) += cyttsp4_devtree.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4) += cyttsp4_mt_common.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4) += cyttsp4_mtb.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4) += cyttsp4_btn.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4) += cyttsp4_debug.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4) += cyttsp4_device_access.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4) += cyttsp4_loader.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4) += cyttsp4_samsung_sysfs.o
CY_CFLAG_ADD =\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4_DEVICETREE_SUPPORT\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4_BUTTON\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4_DEVICE_ACCESS\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4_LOADER\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4_PLATFORM_FW_UPGRADE\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4_BINARY_FW_UPGRADE
CY_CFLAG_REMOVE =\
-DCYTTSP4_PDATA_IN_PLATFORM_C\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4_PROXIMITY\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4_PLATFORM_TTCONFIG_UPGRADE\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4_DEVICE_ACCESS_API\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4_DEBUG\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4_MANUAL_TTCONFIG_UPGRADE
CFLAGS_cyttsp4_core.o += $(CY_CFLAG_ADD) -DDEBUG
CFLAGS_cyttsp4_i2c.o += $(CY_CFLAG_ADD) -DDEBUG
CFLAGS_cyttsp4_spi.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_mta.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_mtb.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_mt_a.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_mt_b.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_mt_common.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_btn.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_proximity.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_samsung_sysfs.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_device_access.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_test_device_access_api.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_loader.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_debug.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_devtree.o += $(CY_CFLAG_ADD) -DDEBUG
CFLAGS_cyttsp4_platform.o += $(CY_CFLAG_ADD) -DDEBUG
CFLAGS_cyttsp4_core.o -= $(CY_CFLAG_REMOVE)
CFLAGS_cyttsp4_i2c.o -= $(CY_CFLAG_REMOVE)
CFLAGS_cyttsp4_spi.o -= $(CY_CFLAG_REMOVE)
CFLAGS_cyttsp4_mta.o -= $(CY_CFLAG_REMOVE)
CFLAGS_cyttsp4_mtb.o -= $(CY_CFLAG_REMOVE)
CFLAGS_cyttsp4_mt_a.o -= $(CY_CFLAG_REMOVE)
CFLAGS_cyttsp4_mt_b.o -= $(CY_CFLAG_REMOVE)
CFLAGS_cyttsp4_mt_common.o -= $(CY_CFLAG_REMOVE)
CFLAGS_cyttsp4_btn.o -= $(CY_CFLAG_REMOVE)
CFLAGS_cyttsp4_proximity.o -= $(CY_CFLAG_REMOVE)
CFLAGS_cyttsp4_samsung_sysfs.o -= $(CY_CFLAG_REMOVE)
CFLAGS_cyttsp4_device_access.o -= $(CY_CFLAG_REMOVE)
CFLAGS_cyttsp4_test_device_access_api.o -= $(CY_CFLAG_REMOVE)
CFLAGS_cyttsp4_loader.o -= $(CY_CFLAG_REMOVE)
CFLAGS_cyttsp4_debug.o -= $(CY_CFLAG_REMOVE)
CFLAGS_cyttsp4_devtree.o -= $(CY_CFLAG_REMOVE)
CFLAGS_cyttsp4_platform.o -= $(CY_CFLAG_REMOVE)我得到的错误是:
/home/USER/Projects/OS/android_kernel_samsung_msm8974/drivers/gpu/gpu_sysfs/Kbuild:29: **** Make sure target file is defined. Check the TARGET and GPU configs in Makefile and Kernel Config. Module won't work without target file. ****
/home/USER/Projects/OS/android_kernel_samsung_msm8974/drivers/input/touchscreen/cyttsp4/Makefile:50: *** missing separator. Stop.
scripts/Makefile.clean:94: recipe for target 'drivers/input/touchscreen/cyttsp4' failed
make[3]: *** [drivers/input/touchscreen/cyttsp4] Error 2
scripts/Makefile.clean:94: recipe for target 'drivers/input/touchscreen' failed
make[2]: *** [drivers/input/touchscreen] Error 2
scripts/Makefile.clean:94: recipe for target 'drivers/input' failed
make[1]: *** [drivers/input] Error 2
Makefile:1201: recipe for target '_clean_drivers' failed
make: *** [_clean_drivers] Error 2发布于 2017-06-21 07:40:39
这是(部分)使用我的S4 i9506作为键盘编写的,如果你想让Nethunter在你的S4上注释你的兴趣,我会开始编写一个指南来自己移植它。不管怎样,我很快就会做一个,但是如果人们感兴趣,我会花更多的精力来制作一个更快地移植Nethunter的指南。
基本上,正如@Tsyvarev所提到的,Makefiles中没有-=命令。基本上,为Cyttsp4制作Makefile的人(至少在我的内核源代码中)做得不是很好,经过一些研究,他们可能和我一样认为分隔符丢失错误是由于某个地方缺少制表符,当你搜索这个问题时,每个人都会提出这个问题。通过快速搜索@Tsyvarev关于不存在的-=的信息,我找到了他们想要的正确方法。下面是经过适当修改的完整Makefile。您可以使用$(filter-out,VARS_TO_REMOVE,RESULT)删除标志。
这个错误是如此愚蠢,我不知道它是如何制作的,考虑到它是在内核的源代码中发现的,而且制作内核的人通常不是那么不熟练,否则他们就不会制作内核。
等等..。我在犯错误,我...哦..。
无论如何,这是代码!
### CYTTSP
#obj-m += cyttsp4.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4) += cyttsp4_core.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4) += cyttsp4_i2c.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4) += cyttsp4_platform.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4) += cyttsp4_devtree.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4) += cyttsp4_mt_common.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4) += cyttsp4_mtb.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4) += cyttsp4_btn.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4) += cyttsp4_debug.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4) += cyttsp4_device_access.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4) += cyttsp4_loader.o
obj-$(CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4) += cyttsp4_samsung_sysfs.o
CY_CFLAG_ADD =\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4_DEVICETREE_SUPPORT\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4_BUTTON\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4_DEVICE_ACCESS\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4_LOADER\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4_PLATFORM_FW_UPGRADE\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4_BINARY_FW_UPGRADE
CY_CFLAG_REMOVE =\
-DCYTTSP4_PDATA_IN_PLATFORM_C\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4_PROXIMITY\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4_PLATFORM_TTCONFIG_UPGRADE\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4_DEVICE_ACCESS_API\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4_DEBUG\
-DCONFIG_TOUCHSCREEN_CYPRESS_CYTTSP4_MANUAL_TTCONFIG_UPGRADE
CFLAGS_cyttsp4_core.o += $(CY_CFLAG_ADD) -DDEBUG
CFLAGS_cyttsp4_i2c.o += $(CY_CFLAG_ADD) -DDEBUG
CFLAGS_cyttsp4_spi.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_mta.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_mtb.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_mt_a.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_mt_b.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_mt_common.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_btn.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_proximity.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_samsung_sysfs.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_device_access.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_test_device_access_api.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_loader.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_debug.o += $(CY_CFLAG_ADD)
CFLAGS_cyttsp4_devtree.o += $(CY_CFLAG_ADD) -DDEBUG
CFLAGS_cyttsp4_platform.o += $(CY_CFLAG_ADD) -DDEBUG
CFLAGS_cyttsp4_core.o := $(filter-out $(CY_CFLAG_REMOVE),$(CFLAGS_cyttsp4_core.o))
CFLAGS_cyttsp4_i2c.o := $(filter-out $(CY_CFLAG_REMOVE),$(CFLAGS_cyttsp4_i2c.o))
CFLAGS_cyttsp4_spi.o := $(filter-out $(CY_CFLAG_REMOVE),$(CFLAGS_cyttsp4_spi.o))
CFLAGS_cyttsp4_mta.o := $(filter-out $(CY_CFLAG_REMOVE),$(CFLAGS_cyttsp4_mta.o))
CFLAGS_cyttsp4_mtb.o := $(filter-out $(CY_CFLAG_REMOVE),$(CFLAGS_cyttsp4_mtb.o))
CFLAGS_cyttsp4_mt_a.o := $(filter-out $(CY_CFLAG_REMOVE),$(CFLAGS_cyttsp4_mt_a.o))
CFLAGS_cyttsp4_mt_b.o := $(filter-out $(CY_CFLAG_REMOVE),$(CFLAGS_cyttsp4_mt_b.o))
CFLAGS_cyttsp4_mt_common.o := $(filter-out $(CY_CFLAG_REMOVE),$(CFLAGS_cyttsp4_mt_common.o))
CFLAGS_cyttsp4_btn.o := $(filter-out $(CY_CFLAG_REMOVE),$(CFLAGS_cyttsp4_btn.o))
CFLAGS_cyttsp4_proximity.o := $(filter-out $(CY_CFLAG_REMOVE),$(CFLAGS_cyttsp4_proximity.o))
CFLAGS_cyttsp4_samsung_sysfs.o := $(filter-out $(CY_CFLAG_REMOVE),$(CFLAGS_cyttsp4_samsung_sysfs.o))
CFLAGS_cyttsp4_device_access.o := $(filter-out $(CY_CFLAG_REMOVE),$(CFLAGS_cyttsp4_device_access.o))
CFLAGS_cyttsp4_test_device_access_api.o := $(filter-out $(CY_CFLAG_REMOVE),$(CFLAGS_cyttsp4_test_device_access_api.o))
CFLAGS_cyttsp4_loader.o := $(filter-out $(CY_CFLAG_REMOVE),$(CFLAGS_cyttsp4_loader.o))
CFLAGS_cyttsp4_debug.o := $(filter-out $(CY_CFLAG_REMOVE),$(CFLAGS_cyttsp4_debug.o))
CFLAGS_cyttsp4_devtree.o := $(filter-out $(CY_CFLAG_REMOVE),$(CFLAGS_cyttsp4_devtree.o))
CFLAGS_cyttsp4_platform.o := $(filter-out $(CY_CFLAG_REMOVE),$(CFLAGS_cyttsp4_platform.o))https://stackoverflow.com/questions/44642754
复制相似问题