X-Git-Url: https://rtime.felk.cvut.cz/gitweb/orte.git/blobdiff_plain/4447c5076f3903a47f185778f53951a3c673d3d7..refs/heads/android:/kernelcfg2mk diff --git a/kernelcfg2mk b/kernelcfg2mk index 071932b..9636241 100755 --- a/kernelcfg2mk +++ b/kernelcfg2mk @@ -50,6 +50,14 @@ RETVAL="0" LINUX_VERSION=$(grep UTS_RELEASE ${LINUX_DIR}/include/linux/version.h | \ sed 's/[^"]*"\(.*\)\{1\}"/\1/') +if [ -z "$LINUX_VERSION" ] ; then + LINUX_VERSION=$(grep UTS_RELEASE ${LINUX_DIR}/include/linux/utsrelease.h | \ + sed 's/[^"]*"\(.*\)\{1\}"/\1/') +fi +if [ -z "$LINUX_VERSION" ] ; then + LINUX_VERSION=$(grep UTS_RELEASE ${LINUX_DIR}/include/generated/utsrelease.h | \ + sed 's/[^"]*"\(.*\)\{1\}"/\1/') +fi LINUX_VERSION_MAJOR=$(echo ${LINUX_VERSION} | cut -d. -f1) LINUX_VERSION_MINOR=$(echo ${LINUX_VERSION} | cut -d. -f2) @@ -69,29 +77,33 @@ case $LINUX_VERSION_MAJOR.$LINUX_VERSION_MINOR in rm -f ${KERN_BUILD_DIR}/kernel.mk rm -rf ${KERN_TEST_DIR} mkdir ${KERN_TEST_DIR} + if [ $? -ne 0 ] ; then + echo "Cannot create Linux kernel test build directory \"${KERN_TEST_DIR}\"" + exit 3 + fi cd ${KERN_TEST_DIR} cat >${KERN_TEST_DIR}/Makefile <>flags - echo LINUX_AFLAGS="\$(AFLAGS)" | sed 's_Iinclude_I"\$(LINUXDIR)/include"_g'>>flags - echo LINUX_LDFLAGS="" >>flags - echo LINUX_ARFLAGS="\$(ARFLAGS)" >>flags - echo LINUX_CROSS_COMPILE="\$(CROSS_COMPILE)" >>flags - echo LINUX_KERNELRELEASE="\$(KERNELRELEASE)" >>flags - echo LINUX_CFLAGS="\$(CFLAGS)" | sed 's_Iinclude_I"\$(LINUXDIR)/include"_g'>>flags - echo LINUX_MODFLAGS="\$(MODFLAGS)" - echo LINUX_CC="\$(CC)" >>flags - echo LINUX_LD="\$(LD) \$(LDFLAGS)" >>flags - echo LINUX_AS="\$(AS)" >>flags - echo LINUX_AR="\$(AR)" >>flags - echo LINUX_MODULE_EXT=".o" >>flags + @echo LINUX_ARCH="\$(ARCH)" >>flags + @echo LINUX_LDFLAGS="" >>flags + @echo LINUX_ARFLAGS="\$(ARFLAGS)" >>flags + @echo LINUX_CROSS_COMPILE="\$(CROSS_COMPILE)" >>flags + @echo LINUX_KERNELRELEASE="\$(KERNELRELEASE)" >>flags + @echo LINUX_AFLAGS="\$(AFLAGS)" | sed 's#Iinclude#I"\$(LINUXDIR)/include"#g'>>flags + @echo LINUX_CFLAGS="\$(CFLAGS)" | sed 's#Iinclude#I"\$(LINUXDIR)/include"#g'>>flags + @echo LINUX_MODFLAGS="\$(MODFLAGS)" + @echo LINUX_CC="\$(CC)" >>flags + @echo LINUX_LD="\$(LD) \$(LDFLAGS)" >>flags + @echo LINUX_AS="\$(AS)" >>flags + @echo LINUX_AR="\$(AR)" >>flags + @echo LINUX_MODULE_EXT=".o" >>flags EOF - echo ${MAKE} -C ${LINUX_DIR} SUBDIRS=${KERN_TEST_DIR} modules + #echo ${MAKE} -C ${LINUX_DIR} SUBDIRS=${KERN_TEST_DIR} modules ${MAKE} -C ${LINUX_DIR} SUBDIRS=${KERN_TEST_DIR} modules if [ $? == 0 ] ; then cp -v flags ${KERN_MODULES_DIR}/kernel.mk @@ -107,13 +119,17 @@ EOF ;; #===================================================================== -# test for 2.6.x kernels +# test for 2.6.x and 3.x kernels - 2.6) + 2.6 | 3.* ) rm -f ${KERN_BUILD_DIR}/kernel.mk rm -rf ${KERN_TEST_DIR} mkdir ${KERN_TEST_DIR} + if [ $? -ne 0 ] ; then + echo "Cannot create Linux kernel test build directory \"${KERN_TEST_DIR}\"" + exit 3 + fi cd ${KERN_TEST_DIR} cat >${KERN_TEST_DIR}/Makefile <>\$(obj)/flags - echo LINUX_AFLAGS="\$(AFLAGS)" | sed 's_Iinclude_I"\$(LINUXDIR)/include"_g'>>\$(obj)/flags - echo LINUX_LDFLAGS="" >>\$(obj)/flags - echo LINUX_ARFLAGS="\$(ARFLAGS)" >>\$(obj)/flags - echo LINUX_CROSS_COMPILE="\$(CROSS_COMPILE)" >>\$(obj)/flags - echo LINUX_KERNELRELEASE="\$(KERNELRELEASE)" >>\$(obj)/flags - echo LINUX_CPPFLAGS="\$(CPPFLAGS)" | sed 's_Iinclude_I"\$(LINUXDIR)/include"_g'>>\$(obj)/flags - echo LINUX_CFLAGS="\$(CFLAGS)" | sed 's_Iinclude_I"\$(LINUXDIR)/include"_g'>>\$(obj)/flags - echo LINUX_CFLAGS_MODULE="\$(CFLAGS_MODULE)" >>\$(obj)/flags - echo LINUX_CC="\$(CC)" >>\$(obj)/flags - echo LINUX_LD="\$(LD) \$(LDFLAGS) \$(LDFLAGS_MODULE)" >>\$(obj)/flags - echo LINUX_AS="\$(AS)" >>\$(obj)/flags - echo LINUX_AR="\$(AR)" >>\$(obj)/flags - echo LINUX_MODULE_EXT=".ko" >>\$(obj)/flags + @echo LINUX_SRC="\$(OMK_LINUX_SRC)" >>\$(obj)/flags + @echo LINUX_ARCH="\$(ARCH)" >>\$(obj)/flags + @echo LINUX_BUILDHOST="\$(KBUILD_BUILDHOST)" >>\$(obj)/flags + @echo LINUX_LDFLAGS="" >>\$(obj)/flags + @echo LINUX_ARFLAGS="\$(ARFLAGS)" >>\$(obj)/flags + @echo LINUX_CROSS_COMPILE="\$(CROSS_COMPILE)" >>\$(obj)/flags + @echo LINUX_KERNELRELEASE="\$(KERNELRELEASE)" >>\$(obj)/flags +ifdef KBUILD_CFLAGS + @echo LINUX_CPPFLAGS="\$(KBUILD_CPPFLAGS)\$(if \$(filter -I,\$(KBUILD_CPPFLAGS)),, \$(LINUXINCLUDE))" | sed 's#-I\(include\|arch\)#-I"\$(LINUXDIR)/\1"#g'>>\$(obj)/flags + @echo LINUX_AFLAGS="\$(KBUILD_AFLAGS)" | sed 's#-I\(include\|arch\)#-I"\$(OMK_LINUX_SRC)/\1"#g'>>\$(obj)/flags + @echo LINUX_CFLAGS="\$(KBUILD_CFLAGS)" | sed 's#-I\(include\|arch\)#-I"\$(OMK_LINUX_SRC)/\1"#g'>>\$(obj)/flags +else + @echo LINUX_CPPFLAGS="\$(CPPFLAGS)" | sed 's#Iinclude#I"\$(LINUXDIR)/include"#g'>>\$(obj)/flags + @echo LINUX_AFLAGS="\$(AFLAGS)" | sed 's#Iinclude#I"\$(OMK_LINUX_SRC)/include"#g'>>\$(obj)/flags + @echo LINUX_CFLAGS="\$(CFLAGS)" | sed 's#Iinclude#I"\$(OMK_LINUX_SRC)/include"#g'>>\$(obj)/flags +endif +ifdef KBUILD_CFLAGS_MODULE + @echo LINUX_CFLAGS_MODULE="\$(KBUILD_CFLAGS_MODULE)" >>\$(obj)/flags + @echo LINUX_AFLAGS_MODULE="\$(KBUILD_AFLAGS_MODULE)" >>\$(obj)/flags + @echo LINUX_LDFLAGS_MODULE="\$(KBUILD_LDFLAGS_MODULE)" >>\$(obj)/flags +else + @echo LINUX_CFLAGS_MODULE="\$(CFLAGS_MODULE)" >>\$(obj)/flags + @echo LINUX_AFLAGS_MODULE="\$(CFLAGS_MODULE)" >>\$(obj)/flags +endif + @echo LINUX_CC="\$(CC)" >>\$(obj)/flags + @echo LINUX_LD="\$(LD) \$(LDFLAGS) \$(LDFLAGS_MODULE)" | sed 's#\(\\)#"\$(LINUXDIR)/\1"#g' >>\$(obj)/flags + @echo LINUX_AS="\$(AS)" >>\$(obj)/flags + @echo LINUX_AR="\$(AR)" >>\$(obj)/flags + @echo LINUX_MODULE_EXT=".ko" >>\$(obj)/flags + @echo LINUX_QUOTE_MODNAME=\$(if \$(findstring KBUILD_STR,\$(basename_flags)),y,) >>\$(obj)/flags + @echo LINUX_CONFIG_MODVERSIONS=\$(CONFIG_MODVERSIONS) >>\$(obj)/flags + @echo LINUX_CONFIG_MODULE_SRCVERSION_ALL=\$(CONFIG_MODULE_SRCVERSION_ALL) >>\$(obj)/flags + @echo LINUX_CONFIG_DEBUG_SECTION_MISMATCH=\$(CONFIG_DEBUG_SECTION_MISMATCH) >>\$(obj)/flags + @echo LINUX_CONFIG_MARKERS=\$(CONFIG_MARKERS) >>\$(obj)/flags + @echo LINUX_KBUILD_EXTMOD=\$(KBUILD_EXTMOD) >>\$(obj)/flags + @echo LINUX_KBUILD_EXTRA_SYMBOLS=\$(KBUILD_EXTRA_SYMBOLS) >>\$(obj)/flags + @echo LINUX_KBUILD_MODPOST_WARN=\$(KBUILD_MODPOST_WARN) >>\$(obj)/flags + @echo LINUX_CROSS_BUILD=\$(cross_build) >>\$(obj)/flags EOF - echo ${MAKE} -C ${LINUX_DIR} V=1 SUBDIRS=${KERN_TEST_DIR} LINUXDIR=${LINUX_DIR} MODVERDIR=${KERN_TEST_DIR} modules - ${MAKE} -C ${LINUX_DIR} V=1 SUBDIRS=${KERN_TEST_DIR} LINUXDIR=${LINUX_DIR} MODVERDIR=${KERN_TEST_DIR} modules + # modkern_cflags := $(CFLAGS_KERNEL) / $(CFLAGS_MODULE) + + # _c_flags = $(KBUILD_CFLAGS) $(ccflags-y) $(CFLAGS_$(basetarget).o) + # _a_flags = $(KBUILD_AFLAGS) $(asflags-y) $(AFLAGS_$(basetarget).o) + # _cpp_flags = $(KBUILD_CPPFLAGS) $(cppflags-y) $(CPPFLAGS_$(@F)) + + # export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS + # export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE + # export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE + + # -p V=1 + #echo ${MAKE} -C ${LINUX_DIR} SUBDIRS=${KERN_TEST_DIR} LINUXDIR=${LINUX_DIR} MODVERDIR=${KERN_TEST_DIR} modules + ${MAKE} -C ${LINUX_DIR} M=${KERN_TEST_DIR} LINUXDIR=${LINUX_DIR} MODVERDIR=${KERN_TEST_DIR}/modver modules #if [ $? == 0 ] ; then cp -v flags ${KERN_MODULES_DIR}/kernel.mk if [ ! $? == 0 ] ; then