博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ti processor sdk linux am335x evm Makefile hacking
阅读量:6896 次
发布时间:2019-06-27

本文共 15843 字,大约阅读时间需要 52 分钟。

##   ti processor sdk linux am335x evm Makefile hacking# 说明:#     本文主要对TI的sdk中的Makefile脚本进行解读,是为了了解其工作机制。# 该文件中的一些写法是值得参考的。#                                      2016-4-16 深圳 南山平山村 曾剑锋# #platform# PLATFORM=am335x-evm# #defconfig# DEFCONFIG=singlecore-omap2plus_defconfig# #Architecture# ARCH=armv7-a# #u-boot machine# UBOOT_MACHINE=am335x_evm_config# #Points to the root of the TI SDK# export TI_SDK_PATH=/home/Qt/ti-processor-sdk-linux-am335x-evm-01.00.00.00# #root of the target file system for installing applications# DESTDIR=/home/Qt/ti-processor-sdk-linux-am335x-evm-01.00.00.00/targetNFS# #Points to the root of the Linux libraries and headers matching the# #demo file system.# export LINUX_DEVKIT_PATH=$(TI_SDK_PATH)/linux-devkit# #Cross compiler prefix# export CROSS_COMPILE=$(LINUX_DEVKIT_PATH)/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-# #Default CC value to be used when cross compiling.  This is so that the# #GNU Make default of "cc" is not used to point to the host compiler# export CC=$(CROSS_COMPILE)gcc# #Location of environment-setup file# export ENV_SETUP=$(LINUX_DEVKIT_PATH)/environment-setup# #The directory that points to the SDK kernel source tree# LINUXKERNEL_INSTALL_DIR=$(TI_SDK_PATH)/board-support/linux-3.14.26-g2489c02# CFLAGS= -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8# SDK_PATH_TARGET=$(TI_SDK_PATH)/linux-devkit/sysroots/cortexa8t2hf-vfp-neon-linux-gnueabi/# MAKE_JOBS=4-include Rules.make# 开启多少个进行来编译系统MAKE_JOBS ?= 1all: linux matrix-gui arm-benchmarks am-sysinfo matrix-gui-browser refresh-screen oprofile-example u-boot-spl ti-crypto-examples linux-dtbs wireless cryptodev sgx-modules clean: linux_clean matrix-gui_clean arm-benchmarks_clean am-sysinfo_clean matrix-gui-browser_clean refresh-screen_clean oprofile-example_clean u-boot-spl_clean ti-crypto-examples_clean linux-dtbs_clean wireless_clean cryptodev_clean sgx-modules_clean install: linux_install matrix-gui_install arm-benchmarks_install am-sysinfo_install matrix-gui-browser_install refresh-screen_install oprofile-example_install u-boot-spl_install ti-crypto-examples_install linux-dtbs_install wireless_install cryptodev_install sgx-modules_install # Kernel build targetslinux: linux-dtbs    @echo =================================    @echo     Building the Linux Kernel    @echo =================================    $(MAKE) -C $(LINUXKERNEL_INSTALL_DIR) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) $(DEFCONFIG)    $(MAKE) -j $(MAKE_JOBS) -C $(LINUXKERNEL_INSTALL_DIR) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) zImage    $(MAKE) -j $(MAKE_JOBS) -C $(LINUXKERNEL_INSTALL_DIR) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) moduleslinux_install: linux-dtbs_install    @echo ===================================    @echo     Installing the Linux Kernel    @echo ===================================    @if [ ! -d $(DESTDIR) ] ; then \        echo "The extracted target filesystem directory doesn't exist."; \        echo "Please run setup.sh in the SDK's root directory and then try again."; \        exit 1; \    fi    install -d $(DESTDIR)/boot    install $(LINUXKERNEL_INSTALL_DIR)/arch/arm/boot/zImage $(DESTDIR)/boot    install $(LINUXKERNEL_INSTALL_DIR)/vmlinux $(DESTDIR)/boot    install $(LINUXKERNEL_INSTALL_DIR)/System.map $(DESTDIR)/boot    $(MAKE) -C $(LINUXKERNEL_INSTALL_DIR) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) INSTALL_MOD_PATH=$(DESTDIR) modules_installlinux_clean:    @echo =================================    @echo     Cleaning the Linux Kernel    @echo =================================    $(MAKE) -C $(LINUXKERNEL_INSTALL_DIR) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) mrproper# Make Rules for matrix-gui projectmatrix-gui:    @echo =============================    @echo      Building Matrix GUI    @echo =============================    @echo    NOTHING TO DO.  COMPILATION NOT REQUIREDmatrix-gui_clean:    @echo =============================    @echo      Cleaning Matrix GUI    @echo =============================    @echo    NOTHING TO DO.matrix-gui_install:    @echo =============================    @echo     Installing Matrix GUI    @echo =============================    @cd example-applications; cd `find . -name "*matrix-gui-2.0*"`; make install# arm-benchmarks build targetsarm-benchmarks:    @echo =============================    @echo    Building ARM Benchmarks    @echo =============================    @cd example-applications; cd `find . -name "*arm-benchmarks*"`; makearm-benchmarks_clean:    @echo =============================    @echo    Cleaning ARM Benchmarks    @echo =============================    @cd example-applications; cd `find . -name "*arm-benchmarks*"`; make cleanarm-benchmarks_install:    @echo ==============================================    @echo   Installing ARM Benchmarks - Release version    @echo ==============================================    @cd example-applications; cd `find . -name "*arm-benchmarks*"`; make installarm-benchmarks_install_debug:    @echo ============================================    @echo   Installing ARM Benchmarks - Debug Version    @echo ============================================    @cd example-applications; cd `find . -name "*arm-benchmarks*"`; make install_debug# am-sysinfo build targetsam-sysinfo:    @echo =============================    @echo    Building AM Sysinfo    @echo =============================    @cd example-applications; cd `find . -name "*am-sysinfo*"`; makeam-sysinfo_clean:    @echo =============================    @echo    Cleaning AM Sysinfo    @echo =============================    @cd example-applications; cd `find . -name "*am-sysinfo*"`; make cleanam-sysinfo_install:    @echo ===============================================    @echo     Installing AM Sysinfo - Release version    @echo ===============================================    @cd example-applications; cd `find . -name "*am-sysinfo*"`; make installam-sysinfo_install_debug:    @echo =============================================    @echo     Installing AM Sysinfo - Debug version    @echo =============================================    @cd example-applications; cd `find . -name "*am-sysinfo*"`; make install_debug# matrix-gui-browser build targetsmatrix-gui-browser:    @echo =================================    @echo    Building Matrix GUI Browser    @echo =================================    @cd example-applications; cd `find . -name "*matrix-gui-browser*"`; make -f Makefile.build releasematrix-gui-browser_clean:    @echo =================================    @echo    Cleaning Matrix GUI Browser    @echo =================================    @cd example-applications; cd `find . -name "*matrix-gui-browser*"`; make -f Makefile.build cleanmatrix-gui-browser_install:    @echo ===================================================    @echo   Installing Matrix GUI Browser - Release version    @echo ===================================================    @cd example-applications; cd `find . -name "*matrix-gui-browser*"`; make -f Makefile.build installmatrix-gui-browser_install_debug:    @echo =================================================    @echo   Installing Matrix GUI Browser - Debug Version    @echo =================================================    @cd example-applications; cd `find . -name "*matrix-gui-browser*"`; make -f Makefile.build install_debug# refresh-screen build targetsrefresh-screen:    @echo =============================    @echo    Building Refresh Screen    @echo =============================    @cd example-applications; cd `find . -name "*refresh-screen*"`; make -f Makefile.build releaserefresh-screen_clean:    @echo =============================    @echo    Cleaning Refresh Screen    @echo =============================    @cd example-applications; cd `find . -name "*refresh-screen*"`; make -f Makefile.build cleanrefresh-screen_install:    @echo ================================================    @echo   Installing Refresh Screen - Release version    @echo ================================================    @cd example-applications; cd `find . -name "*refresh-screen*"`; make -f Makefile.build installrefresh-screen_install_debug:    @echo ==============================================    @echo   Installing Refresh Screen - Debug Version    @echo ==============================================    @cd example-applications; cd `find . -name "*refresh-screen*"`; make -f Makefile.build install_debug# oprofile-example build targetsoprofile-example:    @echo =============================    @echo    Building OProfile Example    @echo =============================    @cd example-applications; cd `find . -name "*oprofile-example*"`; makeoprofile-example_clean:    @echo =============================    @echo    Cleaning OProfile Example    @echo =============================    @cd example-applications; cd `find . -name "*oprofile-example*"`; make cleanoprofile-example_install:    @echo =============================================    @echo     Installing OProfile Example - Debug version    @echo =============================================    @cd example-applications; cd `find . -name "*oprofile-example*"`; make install# u-boot build targetsu-boot-spl: u-bootu-boot-spl_clean: u-boot_cleanu-boot-spl_install: u-boot_installu-boot:    @echo ===================================    @echo    Building U-boot    @echo ===================================    $(MAKE) -j $(MAKE_JOBS) -C $(TI_SDK_PATH)/board-support/u-boot-* CROSS_COMPILE=$(CROSS_COMPILE) $(UBOOT_MACHINE)    $(MAKE) -j $(MAKE_JOBS) -C $(TI_SDK_PATH)/board-support/u-boot-* CROSS_COMPILE=$(CROSS_COMPILE)u-boot_clean:    @echo ===================================    @echo    Cleaining U-boot    @echo ===================================    $(MAKE) -C $(TI_SDK_PATH)/board-support/u-boot-* CROSS_COMPILE=$(CROSS_COMPILE) distcleanu-boot_install:    @echo ===================================    @echo    Installing U-boot    @echo ===================================    @echo "Nothing to do"# ti-crypto-examples build targetsti-crypto-examples:    @echo =================================    @echo    Building TI Crypto Examples    @echo =================================    @cd example-applications; cd `find . -name "*ti-crypto-examples*"`; make releaseti-crypto-examples_clean:    @echo =================================    @echo    Cleaning TI Crypto Examples    @echo =================================    @cd example-applications; cd `find . -name "*ti-crypto-examples*"`; make cleanti-crypto-examples_install:    @echo ===================================================    @echo   Installing TI Crypto Examples - Release version    @echo ===================================================    @cd example-applications; cd `find . -name "*ti-crypto-examples*"`; make installti-crypto-examples_install_debug:    @echo =================================================    @echo   Installing TI Crypto Examples - Debug Version    @echo =================================================    @cd example-applications; cd `find . -name "*ti-crypto-examples*"`; make install_debug# Kernel DTB build targetslinux-dtbs:    @echo =====================================    @echo     Building the Linux Kernel DTBs    @echo =====================================    $(MAKE) -C $(LINUXKERNEL_INSTALL_DIR) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) $(DEFCONFIG)    $(MAKE) -j $(MAKE_JOBS) -C $(LINUXKERNEL_INSTALL_DIR) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) am335x-evm.dtb am335x-evmsk.dtb am335x-bone.dtb am335x-boneblack.dtblinux-dtbs_install:    @echo =======================================    @echo     Installing the Linux Kernel DTBs    @echo =======================================    @if [ ! -d $(DESTDIR) ] ; then \        echo "The extracted target filesystem directory doesn't exist."; \        echo "Please run setup.sh in the SDK's root directory and then try again."; \        exit 1; \    fi    install -d $(DESTDIR)/boot    @cp -f $(LINUXKERNEL_INSTALL_DIR)/arch/arm/boot/dts/*.dtb $(DESTDIR)/boot/linux-dtbs_clean:    @echo =======================================    @echo     Cleaning the Linux Kernel DTBs    @echo =======================================    @echo "Nothing to do"wireless: compat-moduleswireless_install: compat-modules_installwireless_clean: compat-modules_cleancompat-modules: linux    @echo ================================    @echo      Building compat-modules    @echo ================================    @cd board-support/extra-drivers; \    cd `find . -maxdepth 1 -name "*compat-wireless*"`; \    make KLIB_BUILD=${LINUXKERNEL_INSTALL_DIR} KLIB=${DESTDIR} CC="cc" defconfig-wl18xx; \    make KLIB_BUILD=${LINUXKERNEL_INSTALL_DIR} KLIB=${DESTDIR} CROSS_COMPILE=${CROSS_COMPILE} ARCH=armcompat-modules_install:    @echo ================================    @echo      Installing compat-modules    @echo ================================    @cd board-support/extra-drivers; \    cd `find . -maxdepth 1 -name "*compat-wireless*"`; \    make DEPMOD=echo DESTDIR=${DESTDIR} KLIB_BUILD=${LINUXKERNEL_INSTALL_DIR} KLIB=${DESTDIR} INSTALL_MOD_PATH=${DESTDIR} CROSS_COMPILE=${CROSS_COMPILE} ARCH=arm modules_installcompat-modules_clean:    @echo ================================    @echo      Cleaning compat-modules    @echo ================================    @cd board-support/extra-drivers; \    cd `find . -maxdepth 1 -name "*compat-wireless*"`; \    make KLIB_BUILD=${LINUXKERNEL_INSTALL_DIR} KLIB=${DESTDIR} CROSS_COMPILE=${CROSS_COMPILE} ARCH=arm mrpropercryptodev: linux    @echo ================================    @echo      Building cryptodev-linux    @echo ================================    @cd board-support/extra-drivers; \    cd `find . -maxdepth 1 -name "cryptodev*"`; \    make ARCH=arm KERNEL_DIR=$(LINUXKERNEL_INSTALL_DIR)cryptodev_clean:    @echo ================================    @echo      Cleaning cryptodev-linux    @echo ================================    @cd board-support/extra-drivers; \    cd `find . -maxdepth 1 -name "cryptodev*"`; \    make ARCH=arm KERNEL_DIR=$(LINUXKERNEL_INSTALL_DIR) cleancryptodev_install:    @echo ================================    @echo      Installing cryptodev-linux    @echo ================================    @if [ ! -d $(DESTDIR) ] ; then \        echo "The extracted target filesystem directory doesn't exist."; \        echo "Please run setup.sh in the SDK's root directory and then try again."; \        exit 1; \    fi    @cd board-support/extra-drivers; \    cd `find . -maxdepth 1 -name "cryptodev*"`; \    make ARCH=arm  KERNEL_DIR=$(LINUXKERNEL_INSTALL_DIR)  INSTALL_MOD_PATH=$(DESTDIR) PREFIX=$(SDK_PATH_TARGET)  installsgx-modules: linux    @echo =====================================    @echo      Building sgx-modules    @echo =====================================    @cd board-support/extra-drivers; \    cd `find . -maxdepth 1 -name "sgx-modules*"`; \    make ARCH=arm KERNELDIR=$(LINUXKERNEL_INSTALL_DIR) BUILD=release TI_PLATFORM=ti335x SUPPORT_XORG=0sgx-modules_clean:    @echo =====================================    @echo      Cleaning sgx-modules    @echo =====================================    @cd board-support/extra-drivers; \    cd `find . -maxdepth 1 -name "sgx-modules*"`; \    make ARCH=arm KERNELDIR=$(LINUXKERNEL_INSTALL_DIR) cleansgx-modules_install:    @echo =====================================    @echo      Installing sgx-modules    @echo =====================================    @if [ ! -d $(DESTDIR) ] ; then \        echo "The extracted target filesystem directory doesn't exist."; \        echo "Please run setup.sh in the SDK's root directory and then try again."; \        exit 1; \    fi    @cd board-support/extra-drivers; \    cd `find . -maxdepth 1 -name "sgx-modules*"`; \    make -C $(LINUXKERNEL_INSTALL_DIR) SUBDIRS=`pwd` INSTALL_MOD_PATH=$(DESTDIR) PREFIX=$(SDK_PATH_TARGET) modules_install

 

转载于:https://www.cnblogs.com/zengjfgit/p/5398345.html

你可能感兴趣的文章
ASP.NET几种页面数据绑定的用法及区别: <%#、 <%=、 <% 、<%@
查看>>
zookeeper
查看>>
ABP源码分析二十四:Notification
查看>>
Photo4
查看>>
(八)mybatis之多对多
查看>>
h5空白页面过渡加载
查看>>
端午悲剧—我的上海情结(二)
查看>>
Ajax实现登陆并友好提示错误信息
查看>>
第1周小组博客作业——1702班1组
查看>>
思考线上如何既保证不影响查询,又能做更新操作
查看>>
python 10day--python 的基本数据类型
查看>>
HTTP无状态什么意思?
查看>>
FFmpeg简易播放器的实现-音视频同步
查看>>
洛谷p1156 垃圾陷阱(蒟蒻手把手教你用01背包把这道题复杂化)
查看>>
7.3 进制转换
查看>>
初始Ajax
查看>>
[杂记]如何在ppt里插入高亮代码
查看>>
Android中高效的显示图片之二——在非UI线程中处理图片
查看>>
PV、UV、IP之间的区别与联系
查看>>
ssh 操作 esxi 基本命令
查看>>