NOTICE: The Processors Wiki will End-of-Life in December of 2020. It is recommended to download any files or other content you may need that are hosted on The site is now set to read only.

DVSDK 3.10 Makefile usage

From Texas Instruments Wiki
Jump to: navigation, search


The DVSDK make system helps users build and install images for different components and platforms. This page describes some of the features and usages of the DVSDK 3.10 main Makefile found in the dvsdk_3_10_##_## directory.

Common usage

  • The help command provides a complete overview of the make features supported in the release

<syntaxhighlight lang="bash">host $ make help</syntaxhighlight>

  • The DVSDK makefile uses paths for each component set in Rules.make. If the paths in this file are not correct for a particular component, edit the file to correct the paths to that component. The following command check if the paths in Rules.make are correct

<syntaxhighlight lang="bash">host $ make check</syntaxhighlight>

  • The DVSDK component version information can be obtained from

<syntaxhighlight lang="bash">host $ make info</syntaxhighlight>

  • All DVSDK components, except psp_examples, can be cleaned using

<syntaxhighlight lang="bash">host $ make clobber</syntaxhighlight>

  • All DVSDK components, except psp_examples, can be built using

<syntaxhighlight lang="bash">host $ make everything</syntaxhighlight>

  • All DVSDK components required to build the included demonstration applications (except for the Linux kernel) can be cleaned and built with commands

<syntaxhighlight lang="bash"> host $ make clean host $ make </syntaxhighlight>

  • To install the included demonstration applications and other supported files, use the command

<syntaxhighlight lang="bash">host $ make install</syntaxhighlight>

Note: The value of EXEC_DIR variable in Rules.make is used as installation directory.

Building Linux kernel

  • The following command builds the Linux kernel

<syntaxhighlight lang="bash">host $ make linux</syntaxhighlight>

Note: The path to uImage will be provided at the end of the build stage.

  • Use the following command to make changes in the Linux configuration (using menuconfig)

<syntaxhighlight lang="bash">host $ make linux MENUCONFIG=true</syntaxhighlight>

This command will open a menuconfig editor and allow you to change kernel configurations.

Note: make does not change .config if already present. Thus, if the kernel configuration has changed, the MENUCONFIG=true option needs to be provided the next time you build; the exception is if it needs to be changed or the configuration needs to be viewed.

  • The Linux kernel can be cleaned (including .config) using following command

<syntaxhighlight lang="bash">host $ make linux_clean</syntaxhighlight>

Building individual components

  • The make system provides options to clean, build, or install some of the individual components; consult make help for further details.

<syntaxhighlight lang="bash"> host $ make dmai_clean host $ make dmai host $ make dmai_install </syntaxhighlight>

  • Some of the components support VERBOSE=true flag. If this flag is used, the make system will display the complete commands that were run for the build.

<syntaxhighlight lang="bash">host $ make dmai VERBOSE=true</syntaxhighlight>

Building PSP examples

This version of DVSDK does not require PSP examples to be installed during installation process. If you need to build PSP examples do the following

  • 1) Download examples-davinci.tar.gz from the DVSDK 3.10 download page and untar it in the host to the components installation directory (e.g., /home/user/dvsdk)

<syntaxhighlight lang="bash"> host $ tar -xzf examples-davinci.tar.gz -C /home/user/dvsdk </syntaxhighlight> It will untar to a directory /home/user/dvsdk/examples-r37

  • 2) Edit Rules.make, line LINUXEXAMPLES_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/../examples-r37 so that it points to right directory (e.g., /home/user/dvsdk/examples-r37 in above case).
  • 3) To clean, build, and install the PSP examples use following commands

<syntaxhighlight lang="bash"> host $ make psp_examples_clean host $ make psp_examples host $ make psp_examples_install </syntaxhighlight>

Building/Generating Kernel Modules (KOs)

The make system provides options to clean and build individual kernel modules; consult make help for further details. All the KOs can be build using below command.

  • 1) Build cmemk

<syntaxhighlight lang="bash"> host $ make cmem_clean host $ make cmem /* Build cmemk.ko */ </syntaxhighlight>

  • 2) Build edmak

<syntaxhighlight lang="bash"> host $ make edmak_clean host $ make edmak /* Build edmak.ko */ </syntaxhighlight>

  • 3) Build irqk

<syntaxhighlight lang="bash"> host $ make irqk_clean host $ make irqk /* Build irqk.ko */ </syntaxhighlight>

  • 4) Build dmammapk

<syntaxhighlight lang="bash"> host $ make dmammapk_clean host $ make dmammapk /* Build dmammapk kernel module e.g dm365mmap.ko */ </syntaxhighlight>

Note: Kernel Modules (KOs) can be found under $(DVSDK_INSTALL_DIR)/kernel_binaries/$(PLATFORM) directory.