0. Trident pnx84xx build environment is req'd !
1. Get latest dvd+rw-tools from its officical website.
# wget http://fy.chalmers.se/~appro/linux/DVD+RW/tools/dvd+rw-tools-7.1.tar.gz
# tar -zxvf dvd+rw-tools-7.1.tar.gz
# cd dvd+rw-tools-7.1
2. Modify the Makefile.m4 to meet our needs.
# vi Makefile.m4
Search Linux section ...
:
ifelse(OS,Linux,[
#
# Linux section
#
CC =arm-linux-gcc
CFLAGS +=$(WARN) -O2 -D_REENTRANT --sysroot=$(_TMSYSROOT)
CXX =arm-linux-g++
CXXFLAGS+=$(WARN) -O2 -fno-exceptions -D_REENTRANT --sysroot=$(_TMSYSROOT)
LDLIBS =-lpthread
LINK.o =$(LINK.cc)
:
# make
In file included from growisofs_mmc.cpp:17:
transport.hxx: In member function 'int Scsi_Command::is_reload_needed(int)':
transport.hxx:366: error: 'INT_MAX' was not declared in this scope
gmake[1]: *** [growisofs_mmc.o] Error 1
3. Fix INT_MAX issue.
# vi transport.hxx
:
#if defined(__unix) || defined(__unix__)
#include <stdio.h>
#include <stdlib.h>
#include <limits.h> /// include for INT_MAX
#include <unistd.h>
#include <string.h>
:
# make
# file growisofs dvd+rw-format dvd+rw-mediainfo dvd+rw-booktype dvd-ram-control
growisofs: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
dvd+rw-format: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
dvd+rw-mediainfo: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
dvd+rw-booktype: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
dvd-ram-control: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
DONE :)
------
REF: NONE!