首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cyttsp4 (linux内核)生成文件出错

cyttsp4 (linux内核)生成文件出错
EN

Stack Overflow用户
提问于 2017-06-20 10:16:06
回答 1查看 151关注 0票数 0

下面是我正在为安卓编译的Linux内核中的cyttsp4生成文件,使用的是kyasu msm8974项目(https://github.com/kyasu/android_kernel_samsung_msm8974)。

代码语言:javascript
复制
### 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)

我得到的错误是:

代码语言:javascript
复制
/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
EN

回答 1

Stack Overflow用户

发布于 2017-06-21 07:40:39

这是(部分)使用我的S4 i9506作为键盘编写的,如果你想让Nethunter在你的S4上注释你的兴趣,我会开始编写一个指南来自己移植它。不管怎样,我很快就会做一个,但是如果人们感兴趣,我会花更多的精力来制作一个更快地移植Nethunter的指南。

基本上,正如@Tsyvarev所提到的,Makefiles中没有-=命令。基本上,为Cyttsp4制作Makefile的人(至少在我的内核源代码中)做得不是很好,经过一些研究,他们可能和我一样认为分隔符丢失错误是由于某个地方缺少制表符,当你搜索这个问题时,每个人都会提出这个问题。通过快速搜索@Tsyvarev关于不存在的-=的信息,我找到了他们想要的正确方法。下面是经过适当修改的完整Makefile。您可以使用$(filter-out,VARS_TO_REMOVE,RESULT)删除标志。

这个错误是如此愚蠢,我不知道它是如何制作的,考虑到它是在内核的源代码中发现的,而且制作内核的人通常不是那么不熟练,否则他们就不会制作内核。

等等..。我在犯错误,我...哦..。

无论如何,这是代码!

代码语言:javascript
复制
### 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))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44642754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档