#
# ti processor sdk linux am335x evm Makefile hacking
# explain :
# This paper mainly focuses on TI Of sdk Medium Makefile Script interpretation , In order to understand its working mechanism .
# Some of the writing methods in this document are worthy of reference .
# -- Shenzhen Pingshan village, Nanshan Zeng Jianfeng # #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.-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=
-include Rules.make # How many to open to compile the system
MAKE_JOBS ?= all: 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 targets
linux: 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) modules linux_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 ; \
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_install linux_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 project
matrix-gui:
@echo =============================
@echo Building Matrix GUI
@echo =============================
@echo NOTHING TO DO. COMPILATION NOT REQUIRED matrix-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 targets
arm-benchmarks:
@echo =============================
@echo Building ARM Benchmarks
@echo =============================
@cd example-applications; cd `find . -name "*arm-benchmarks*"`; make arm-benchmarks_clean:
@echo =============================
@echo Cleaning ARM Benchmarks
@echo =============================
@cd example-applications; cd `find . -name "*arm-benchmarks*"`; make clean arm-benchmarks_install:
@echo ==============================================
@echo Installing ARM Benchmarks - Release version
@echo ==============================================
@cd example-applications; cd `find . -name "*arm-benchmarks*"`; make install arm-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 targets
am-sysinfo:
@echo =============================
@echo Building AM Sysinfo
@echo =============================
@cd example-applications; cd `find . -name "*am-sysinfo*"`; make am-sysinfo_clean:
@echo =============================
@echo Cleaning AM Sysinfo
@echo =============================
@cd example-applications; cd `find . -name "*am-sysinfo*"`; make clean am-sysinfo_install:
@echo ===============================================
@echo Installing AM Sysinfo - Release version
@echo ===============================================
@cd example-applications; cd `find . -name "*am-sysinfo*"`; make install am-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 targets
matrix-gui-browser:
@echo =================================
@echo Building Matrix GUI Browser
@echo =================================
@cd example-applications; cd `find . -name "*matrix-gui-browser*"`; make -f Makefile.build release matrix-gui-browser_clean:
@echo =================================
@echo Cleaning Matrix GUI Browser
@echo =================================
@cd example-applications; cd `find . -name "*matrix-gui-browser*"`; make -f Makefile.build clean matrix-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 install matrix-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 targets
refresh-screen:
@echo =============================
@echo Building Refresh Screen
@echo =============================
@cd example-applications; cd `find . -name "*refresh-screen*"`; make -f Makefile.build release refresh-screen_clean:
@echo =============================
@echo Cleaning Refresh Screen
@echo =============================
@cd example-applications; cd `find . -name "*refresh-screen*"`; make -f Makefile.build clean refresh-screen_install:
@echo ================================================
@echo Installing Refresh Screen - Release version
@echo ================================================
@cd example-applications; cd `find . -name "*refresh-screen*"`; make -f Makefile.build install refresh-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 targets
oprofile-example:
@echo =============================
@echo Building OProfile Example
@echo =============================
@cd example-applications; cd `find . -name "*oprofile-example*"`; make oprofile-example_clean:
@echo =============================
@echo Cleaning OProfile Example
@echo =============================
@cd example-applications; cd `find . -name "*oprofile-example*"`; make clean oprofile-example_install:
@echo =============================================
@echo Installing OProfile Example - Debug version
@echo =============================================
@cd example-applications; cd `find . -name "*oprofile-example*"`; make install
# u-boot build targets
u-boot-spl: u-boot
u-boot-spl_clean: u-boot_clean
u-boot-spl_install: u-boot_install u-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) distclean u-boot_install:
@echo ===================================
@echo Installing U-boot
@echo ===================================
@echo "Nothing to do"
# ti-crypto-examples build targets
ti-crypto-examples:
@echo =================================
@echo Building TI Crypto Examples
@echo =================================
@cd example-applications; cd `find . -name "*ti-crypto-examples*"`; make release ti-crypto-examples_clean:
@echo =================================
@echo Cleaning TI Crypto Examples
@echo =================================
@cd example-applications; cd `find . -name "*ti-crypto-examples*"`; make clean ti-crypto-examples_install:
@echo ===================================================
@echo Installing TI Crypto Examples - Release version
@echo ===================================================
@cd example-applications; cd `find . -name "*ti-crypto-examples*"`; make install ti-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 targets
linux-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.dtb linux-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 ; \
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-modules
wireless_install: compat-modules_install
wireless_clean: compat-modules_clean compat-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=arm compat-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_install compat-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 mrproper cryptodev: 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) clean cryptodev_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) install
sgx-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=0 sgx-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) clean sgx-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

ti processor sdk linux am335x evm Makefile hacking More articles about

  1. ti processor sdk linux am335x evm setup.sh hacking

    #!/bin/sh # # ti processor sdk linux am335x evm setup.sh hacking # explain : # This paper mainly focuses on TI Of sdk Medium setup.sh Script interpretation ...

  2. ti processor sdk linux am335x evm /bin/setup-host-check.sh hacking

    #!/bin/sh # # ti processor sdk linux am335x evm /bin/setup-host-check.sh hacking # explain : # This paper mainly focuses on TI Of sdk ...

  3. ti processor sdk linux am335x evm /bin/create-sdcard.sh hacking

    #!/bin/bash # # ti processor sdk linux am335x evm /bin/create-sdcard.sh hacking # explain : # This paper mainly focuses on TI Of sdk in ...

  4. ti processor sdk linux am335x evm /bin/unshallow-repositories.sh hacking

    #!/bin/bash # # ti processor sdk linux am335x evm /bin/unshallow-repositories.sh hacking # explain : # This article focuses on ...

  5. ti processor sdk linux am335x evm /bin/setup-package-install.sh hacking

    #!/bin/sh # # ti processor sdk linux am335x evm /bin/setup-package-install.sh hacking # explain : # This paper mainly focuses on T ...

  6. ti processor sdk linux am335x evm /bin/setup-uboot-env.sh hacking

    #!/bin/sh # # ti processor sdk linux am335x evm /bin/setup-uboot-env.sh hacking # explain : # This paper mainly focuses on TI Of sdk in ...

  7. ti processor sdk linux am335x evm /bin/setup-minicom.sh hacking

    #!/bin/sh # # ti processor sdk linux am335x evm /bin/setup-minicom.sh hacking # explain : # This paper mainly focuses on TI Of sdk Medium s ...

  8. ti processor sdk linux am335x evm /bin/setup-targetfs-nfs.sh hacking

    #!/bin/sh # # ti processor sdk linux am335x evm /bin/setup-targetfs-nfs.sh hacking # explain : # This paper mainly focuses on TI Of s ...

  9. ti processor sdk linux am335x evm /bin/setup-tftp.sh hacking

    #!/bin/sh # # ti processor sdk linux am335x evm /bin/setup-tftp.sh hacking # explain : # This paper mainly focuses on TI Of sdk Medium setu ...

Random recommendation

  1. mysql File import method summary

    Data import 3 Three methods One .phpMyAdmin Limit the size :2M 1. Create database 2. Import .sql or .sql.zip file Big data import method 1 :http://jingyan.baidu.com/article ...

  2. 1、C# Basics : Variable 、 Operator 、 Branch 、 loop 、 enumeration 、 Array 、 Method < turn >

    from : Captain pirate link :http://www.cnblogs.com/baidawei/p/4701504.html#3241882 C#..Net as well as IDE brief introduction One . What is? .Net? .Net finger .N ...

  3. Cookie Tool class - CookieUtil.java

    Cookie Tool class , Provide Cookie The creation of . obtain . Delete method . Source code is as follows :( Click to download -CookieUtil.java ) import javax.servlet.http.Cookie; impor ...

  4. Permanence for Circular fit switch Statement can realize the menu function

    Permanence for Circular fit switch Statement can realize the menu function summary : You want to jump unconditionally to the execution of a statement , use goto sentence : I want to judge a certain condition , Execute different statements for true or false , use if sentence Add the conditions you want to test ...

  5. javaWEB summary (2): load-on-startup node

    stay javaWEB summary (1) Inside , We created one servlet And its mapping , When we access that mapping address , You can access servlet, also servlet The container calls the lifecycle method , Call before destruction destroy Method ...

  6. Apple audit returns crash log iOS .crash Document processing symbolicatecrash.   My psoriasis has been cured for many years Take this article and use it

    AppStore The audit was rejected , return crashLog.txt file , But when it's opened, it's all hexadecimal addresses , We can use Xcode Self contained symbolicatecrash Parse to get the detailed crash information we need crashLog ...

  7. HTML Entry notes

    HTML brief introduction HTML It's the most basic technology for making web pages 1_ By tag component 2_ On any operating system platform , As long as there's a browser , All have implementation HTML 3_ The browser has HTML Parser 4_ edit HTML You can use any text editing tool , Like Notepad , build ...

  8. 【SparkStreaming One of the studies 】 SparkStreaming First time to know

    Environmental Science virtual machine :VMware 10 Linux edition :CentOS-6.5-x86_64 client :Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4( rely on jdk1.8) spark ...

  9. LocalDate Use

    LocalDate Some usage methods Half a day today is spent on LocalDate On , so what , It's also my first time to write a blog . First of all, let's take a look at the methods that will be used . Two constructors , It's a static factory approach static   Local ...

  10. C - Number matching ( Network flow Maximum cost, maximum flow )

    Topic link :https://cn.vjudge.net/contest/281959#problem/C The main idea of the topic : Chinese title Specific ideas : With the idea of network flow , We get the maximum number of matches , So let's go in the form of bipartite graph ...