#!/usr/bin/php -q ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ * $Id$ * * Copyright (C) 2010 Robert Bieber * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ****************************************************************************/ // This is the array of targets, with the target id as the key and the // plaintext name of the target as the value $targets = array( 'archosfmrecorder' => 'Archos FM Recorder', 'archosondiofm' => 'Archos Ondio FM', 'archosondiosp' => 'Archos Ondio SP', 'archosplayer' => 'Archos Player/Studio', 'archosrecorder' => 'Archos Recorder v1', 'archosrecorderv2' => 'Archos Recorder v2', 'cowond2' => 'Cowon D2', 'iaudiom3' => 'iAudio M3', 'iaudiom5' => 'iAudio M5', 'iaudiox5' => 'iAudio X5', 'ipod1g2g' => 'iPod 1st and 2nd gen', 'ipod3g' => 'iPod 3rd gen', 'ipod4g' => 'iPod 4th gen Grayscale', 'ipodcolor' => 'iPod Color/Photo', 'ipodmini1g' => 'iPod Mini 1st gen', 'ipodmini2g' => 'iPod Mini 2nd gen', 'ipodnano1g' => 'iPod Nano 1st gen', 'ipodnano2g' => 'iPod Nano 2nd gen', 'ipodvideo' => 'iPod Video', 'iriverh10' => 'iriver H10 20GB', 'iriverh10_5gb' => 'iriver H10 5GB', 'iriverh100' => 'iriver H100/115', 'iriverh120' => 'iriver H120/140', 'iriverh300' => 'iriver H320/340', 'mrobe100' => 'Olympus M-Robe 100', 'mrobe500' => 'Olympus M-Robe 500', 'vibe500' => 'Packard Bell Vibe 500', 'samsungyh820' => 'Samsung YH-820', 'samsungyh920' => 'Samsung YH-920', 'samsungyh925' => 'Samsung YH-925', 'sansac200' => 'SanDisk Sansa c200', 'sansaclip' => 'SanDisk Sansa Clip v1', 'sansaclipv2' => 'SanDisk Sansa Clip v2', 'sansaclipplus' => 'SanDisk Sansa Clip+', 'sansae200' => 'SanDisk Sansa e200', 'sansae200v2' => 'SanDisk Sansa e200 v2', 'sansafuze' => 'SanDisk Sansa Fuze', 'sansafuzev2' => 'SanDisk Sansa Fuze v2', 'gigabeatfx' => 'Toshiba Gigabeat F/X', 'gigabeats' => 'Toshiba Gigabeat S' ); // Looping through all the targets foreach($targets as $target => $plaintext) { // Opening a cpp process $configfile = '../../firmware/export/config/' . $target . '.h'; $descriptor = array( 0 => array("pipe", "r"), //stdin 1 => array("pipe", "w") //stdout ); $proc = proc_open('cpp', $descriptor, $pipes); if($proc == false) die("Failed to open process"); // Feeding the input to cpp $input = "#include \"$configfile\"\n"; $input .= <<