diff options
author | Björn Stenberg <bjorn@haxx.se> | 2008-11-20 11:27:31 +0000 |
---|---|---|
committer | Björn Stenberg <bjorn@haxx.se> | 2008-11-20 11:27:31 +0000 |
commit | c6b3d38a156dd624760a8eb1bb374affd43b4f2a (patch) | |
tree | 493eba929e2396d86cf4f077709aa09fe172cd35 /tools/configure | |
parent | f66c30346783a400a029bedcd60ab67c81c34a07 (diff) | |
download | rockbox-c6b3d38a156dd624760a8eb1bb374affd43b4f2a.tar.gz rockbox-c6b3d38a156dd624760a8eb1bb374affd43b4f2a.zip |
New makefile solution: A single invocation of 'make' to build the entire tree. Fully controlled dependencies give faster and more correct recompiles.
Many #include lines adjusted to conform to the new standards.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19146 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'tools/configure')
-rwxr-xr-x | tools/configure | 183 |
1 files changed, 5 insertions, 178 deletions
diff --git a/tools/configure b/tools/configure index 433dc6683c..0f6c3bb8c0 100755 --- a/tools/configure +++ b/tools/configure | |||
@@ -1325,8 +1325,6 @@ fi | |||
1325 | boottool="$rootdir/tools/scramble -tcc=crc" | 1325 | boottool="$rootdir/tools/scramble -tcc=crc" |
1326 | bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" | 1326 | bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" |
1327 | bmp2rb_native="$rootdir/tools/bmp2rb -f 4" | 1327 | bmp2rb_native="$rootdir/tools/bmp2rb -f 4" |
1328 | bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0" | ||
1329 | bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 0" | ||
1330 | output="rockbox.d2" | 1328 | output="rockbox.d2" |
1331 | appextra="recorder:gui" | 1329 | appextra="recorder:gui" |
1332 | plugins="yes" | 1330 | plugins="yes" |
@@ -1414,8 +1412,6 @@ fi | |||
1414 | tool="cp " | 1412 | tool="cp " |
1415 | bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" | 1413 | bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" |
1416 | bmp2rb_native="$rootdir/tools/bmp2rb -f 4" | 1414 | bmp2rb_native="$rootdir/tools/bmp2rb -f 4" |
1417 | bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0" | ||
1418 | bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 0" | ||
1419 | output="rockbox.mrobe500" | 1415 | output="rockbox.mrobe500" |
1420 | appextra="recorder:gui" | 1416 | appextra="recorder:gui" |
1421 | plugins="yes" | 1417 | plugins="yes" |
@@ -1438,8 +1434,6 @@ fi | |||
1438 | tool="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBOS" | 1434 | tool="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBOS" |
1439 | bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" | 1435 | bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" |
1440 | bmp2rb_native="$rootdir/tools/bmp2rb -f 0" | 1436 | bmp2rb_native="$rootdir/tools/bmp2rb -f 0" |
1441 | bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0" | ||
1442 | bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 0" | ||
1443 | output="rockbox.mi4" | 1437 | output="rockbox.mi4" |
1444 | appextra="recorder:gui" | 1438 | appextra="recorder:gui" |
1445 | plugins="yes" | 1439 | plugins="yes" |
@@ -1487,8 +1481,6 @@ fi | |||
1487 | arm926ejscc | 1481 | arm926ejscc |
1488 | bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" | 1482 | bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" |
1489 | bmp2rb_native="$rootdir/tools/bmp2rb -f 4" | 1483 | bmp2rb_native="$rootdir/tools/bmp2rb -f 4" |
1490 | bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0" | ||
1491 | bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 0" | ||
1492 | tool="$rootdir/tools/scramble -creative=zvm" | 1484 | tool="$rootdir/tools/scramble -creative=zvm" |
1493 | USE_ELF="yes" | 1485 | USE_ELF="yes" |
1494 | output="rockbox.zvm" | 1486 | output="rockbox.zvm" |
@@ -1512,8 +1504,6 @@ fi | |||
1512 | arm926ejscc | 1504 | arm926ejscc |
1513 | bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" | 1505 | bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" |
1514 | bmp2rb_native="$rootdir/tools/bmp2rb -f 4" | 1506 | bmp2rb_native="$rootdir/tools/bmp2rb -f 4" |
1515 | bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0" | ||
1516 | bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 0" | ||
1517 | tool="$rootdir/tools/scramble -creative=zvm60 -no-ciff" | 1507 | tool="$rootdir/tools/scramble -creative=zvm60 -no-ciff" |
1518 | USE_ELF="yes" | 1508 | USE_ELF="yes" |
1519 | output="rockbox.zvm60" | 1509 | output="rockbox.zvm60" |
@@ -1537,8 +1527,6 @@ fi | |||
1537 | arm926ejscc | 1527 | arm926ejscc |
1538 | bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" | 1528 | bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" |
1539 | bmp2rb_native="$rootdir/tools/bmp2rb -f 4" | 1529 | bmp2rb_native="$rootdir/tools/bmp2rb -f 4" |
1540 | bmp2rb_remotemono="$rootdir/tools/bmp2rb -f 0" | ||
1541 | bmp2rb_remotenative="$rootdir/tools/bmp2rb -f 0" | ||
1542 | tool="$rootdir/tools/scramble -creative=zenvision -no-ciff" | 1530 | tool="$rootdir/tools/scramble -creative=zenvision -no-ciff" |
1543 | USE_ELF="yes" | 1531 | USE_ELF="yes" |
1544 | output="rockbox.zv" | 1532 | output="rockbox.zv" |
@@ -2074,6 +2062,8 @@ fi | |||
2074 | debug="-DDEBUG" | 2062 | debug="-DDEBUG" |
2075 | simulator="yes" | 2063 | simulator="yes" |
2076 | extradefines="-DSIMULATOR" | 2064 | extradefines="-DSIMULATOR" |
2065 | archosrom="" | ||
2066 | flash="" | ||
2077 | echo "Simulator build selected" | 2067 | echo "Simulator build selected" |
2078 | ;; | 2068 | ;; |
2079 | [Aa]) | 2069 | [Aa]) |
@@ -2397,18 +2387,6 @@ sed > Makefile \ | |||
2397 | <<EOF | 2387 | <<EOF |
2398 | ## Automatically generated. http://www.rockbox.org/ | 2388 | ## Automatically generated. http://www.rockbox.org/ |
2399 | 2389 | ||
2400 | ifndef V | ||
2401 | SILENT=@ | ||
2402 | else | ||
2403 | VERBOSEOPT=-v | ||
2404 | endif | ||
2405 | |||
2406 | # old 'make' versions don't have the built-in 'info' function | ||
2407 | info=old\$(shell echo >&2 "Consider upgrading to GNU make 3.81+ for optimum build performance.") | ||
2408 | ifeq (\$(call info),old) | ||
2409 | export info=echo "\$\$(1)"; | ||
2410 | endif | ||
2411 | |||
2412 | export ROOTDIR=@ROOTDIR@ | 2390 | export ROOTDIR=@ROOTDIR@ |
2413 | export FIRMDIR=@FIRMDIR@ | 2391 | export FIRMDIR=@FIRMDIR@ |
2414 | export APPSDIR=@APPSDIR@ | 2392 | export APPSDIR=@APPSDIR@ |
@@ -2428,8 +2406,8 @@ export BUILDDIR=@PWD@ | |||
2428 | export LANGUAGE=@LANGUAGE@ | 2406 | export LANGUAGE=@LANGUAGE@ |
2429 | export VOICELANGUAGE=@VOICELANGUAGE@ | 2407 | export VOICELANGUAGE=@VOICELANGUAGE@ |
2430 | export MEMORYSIZE=@MEMORY@ | 2408 | export MEMORYSIZE=@MEMORY@ |
2431 | export VERSION=\$(shell \$(ROOTDIR)/tools/svnversion.sh \$(ROOTDIR)) | 2409 | export VERSION:=\$(shell \$(ROOTDIR)/tools/svnversion.sh \$(ROOTDIR)) |
2432 | export BUILDDATE=\$(shell date -u +'-DYEAR=%Y -DMONTH=%m -DDAY=%d') | 2410 | export BUILDDATE:=\$(shell date -u +'-DYEAR=%Y -DMONTH=%m -DDAY=%d') |
2433 | export MKFIRMWARE=@TOOL@ | 2411 | export MKFIRMWARE=@TOOL@ |
2434 | export BMP2RB_MONO=@BMP2RB_MONO@ | 2412 | export BMP2RB_MONO=@BMP2RB_MONO@ |
2435 | export BMP2RB_NATIVE=@BMP2RB_NATIVE@ | 2413 | export BMP2RB_NATIVE=@BMP2RB_NATIVE@ |
@@ -2469,159 +2447,8 @@ export ENC_OPTS=@ENC_OPTS@ | |||
2469 | export ENCODER=@ENCODER@ | 2447 | export ENCODER=@ENCODER@ |
2470 | export USE_ELF=@USE_ELF@ | 2448 | export USE_ELF=@USE_ELF@ |
2471 | 2449 | ||
2472 | # Do not print "Entering directory ..." | 2450 | include \$(TOOLSDIR)/root.make |
2473 | MAKEFLAGS += --no-print-directory | ||
2474 | |||
2475 | .PHONY: all clean tags zip tools manual bin build info langs | ||
2476 | |||
2477 | all: info | ||
2478 | |||
2479 | info: build | ||
2480 | \$(SILENT)\$(TOOLSDIR)/mkinfo.pl \$(BUILDDIR)/rockbox-info.txt | ||
2481 | |||
2482 | build: tools @LANGS@ | ||
2483 | @SIMUL1@ | ||
2484 | @SIMUL2@ | ||
2485 | \$(SILENT)\$(MAKE) -C \$(FIRMDIR) OBJDIR=\$(BUILDDIR)/firmware | ||
2486 | \$(SILENT)\$(MAKE) -C \$(APPSDIR) OBJDIR=\$(BUILDDIR)/@APPS@ | ||
2487 | |||
2488 | bin: tools @LANGS@ | ||
2489 | @SIMUL1@ | ||
2490 | @SIMUL2@ | ||
2491 | \$(SILENT)\$(MAKE) -C \$(FIRMDIR) OBJDIR=\$(BUILDDIR)/firmware | ||
2492 | \$(SILENT)\$(MAKE) -C \$(APPSDIR) OBJDIR=\$(BUILDDIR)/@APPS@ \$(BUILDDIR)/\$(BINARY) | ||
2493 | |||
2494 | rocks: tools | ||
2495 | \$(SILENT)\$(MAKE) -C \$(APPSDIR) OBJDIR=\$(BUILDDIR)/@APPS@ rocks | ||
2496 | |||
2497 | veryclean: clean toolsclean | ||
2498 | |||
2499 | toolsclean: | ||
2500 | \$(SILENT)\$(MAKE) -C \$(TOOLSDIR) clean | ||
2501 | |||
2502 | clean: | ||
2503 | \$(SILENT)echo Cleaning build directory | ||
2504 | \$(SILENT)rm -rf rockbox.zip rockbox.7z rockbox.tar rockbox.tar.gz \ | ||
2505 | rockbox.tar.bz2 TAGS @APPS@ firmware comsim sim lang.[ch] \ | ||
2506 | manual *.pdf *.a credits.raw @OUTPUT@ bitmaps pluginbitmaps \ | ||
2507 | @ARCHOSROM@ @FLASHFILE@ UI256.bmp rockbox-full.zip \ | ||
2508 | html txt rockbox-manual*.zip sysfont.h rockbox-info.txt \ | ||
2509 | voicefontids *.wav *.mp3 *.voice max_language_size.h | ||
2510 | |||
2511 | tools: | ||
2512 | \$(SILENT)\$(MAKE) -C \$(TOOLSDIR) CC=\$(HOSTCC) AR=\$(HOSTAR) @TOOLSET@ | ||
2513 | |||
2514 | voicetools: | ||
2515 | \$(SILENT)\$(MAKE) -C \$(TOOLSDIR) CC=\$(HOSTCC) AR=\$(HOSTAR) @VOICETOOLSET@ | ||
2516 | |||
2517 | tags: | ||
2518 | \$(SILENT)rm -f TAGS | ||
2519 | \$(SILENT)\$(MAKE) -C \$(FIRMDIR) tags | ||
2520 | \$(SILENT)\$(MAKE) -C \$(APPSDIR) tags | ||
2521 | \$(SILENT)\$(MAKE) -C \$(APPSDIR)/plugins tags | ||
2522 | \$(SILENT)\$(MAKE) -C \$(APPSDIR)/plugins/lib tags | ||
2523 | |||
2524 | fontzip: | ||
2525 | \$(SILENT)\$(TOOLSDIR)/buildzip.pl \$(VERBOSEOPT) -t \"\$(MODELNAME)\" -r "\$(ROOTDIR)" -f 1 -o rockbox-fonts.zip \$(TARGET) \$(BINARY) | ||
2526 | |||
2527 | zip: info | ||
2528 | \$(SILENT)for f in \`cat \$(BUILDDIR)/@APPS@/features\`; do feat="\$\$feat:\$\$f" ; done ; \\ | ||
2529 | \$(TOOLSDIR)/buildzip.pl \$(VERBOSEOPT) -t \"\$(MODELNAME)\$\$feat\" -i \"\$(TARGET_ID)\" -r "\$(ROOTDIR)" \$(TARGET) \$(BINARY) | ||
2530 | |||
2531 | mapzip: info | ||
2532 | \$(SILENT)find . -name "*.map" | xargs zip rockbox-maps.zip | ||
2533 | |||
2534 | fullzip: info | ||
2535 | \$(SILENT)for f in \`cat \$(BUILDDIR)/@APPS@/features\`; do feat="\$\$feat:\$\$f" ; done; \\ | ||
2536 | \$(TOOLSDIR)/buildzip.pl \$(VERBOSEOPT) -t \"\$(MODELNAME)\$\$feat\" -i \"\$(TARGET_ID)\" -r "\$(ROOTDIR)" -f 2 -o rockbox-full.zip \$(TARGET) \$(BINARY) | ||
2537 | |||
2538 | 7zip: info | ||
2539 | \$(SILENT)for f in \`cat \$(BUILDDIR)/@APPS@/features\`; do feat="\$\$feat:\$\$f" ; done; \\ | ||
2540 | \$(TOOLSDIR)/buildzip.pl \$(VERBOSEOPT) -t \"\$(MODELNAME)\$\$feat\" -i \"\$(TARGET_ID)\" -o "rockbox.7z" -z "7za a -mx=9" -r "\$(ROOTDIR)" \$(TARGET) \$(BINARY) | ||
2541 | |||
2542 | tar: info | ||
2543 | \$(SILENT)rm -f rockbox.tar | ||
2544 | \$(SILENT)for f in \`cat \$(BUILDDIR)/@APPS@/features\`; do feat="\$\$feat:\$\$f" ; done; \\ | ||
2545 | \$(TOOLSDIR)/buildzip.pl \$(VERBOSEOPT) -t \"\$(MODELNAME)\$\$feat\" -i \"\$(TARGET_ID)\" -o "rockbox.tar" -z "tar -cf" -r "\$(ROOTDIR)" \$(TARGET) \$(BINARY) | ||
2546 | |||
2547 | bzip2: tar | ||
2548 | \$(SILENT)bzip2 -f9 rockbox.tar | ||
2549 | |||
2550 | gzip: tar | ||
2551 | \$(SILENT)gzip -f9 rockbox.tar | ||
2552 | |||
2553 | langs: features | ||
2554 | \$(SILENT)mkdir -p \$(BUILDDIR)/apps/lang | ||
2555 | \$(SILENT)\$(MAKE) -C \$(APPSDIR)/lang OBJDIR=\$(BUILDDIR)/apps/lang | ||
2556 | |||
2557 | manual: manual-pdf | ||
2558 | manual-pdf: | ||
2559 | \$(SILENT)\$(MAKE) -C \$(MANUALDIR) OBJDIR=\$(BUILDDIR)/manual manual-pdf | ||
2560 | manual-html: | ||
2561 | \$(SILENT)\$(MAKE) -C \$(MANUALDIR) OBJDIR=\$(BUILDDIR)/manual manual-html | ||
2562 | manual-zhtml: manual-zip | ||
2563 | manual-txt: | ||
2564 | \$(SILENT)\$(MAKE) -C \$(MANUALDIR) OBJDIR=\$(BUILDDIR)/manual manual-txt | ||
2565 | manual-ztxt: | ||
2566 | \$(SILENT)\$(MAKE) -C \$(MANUALDIR) OBJDIR=\$(BUILDDIR)/manual manual-txt-zip | ||
2567 | manual-zip: | ||
2568 | \$(SILENT)\$(MAKE) -C \$(MANUALDIR) OBJDIR=\$(BUILDDIR)/manual manual-zip | ||
2569 | |||
2570 | features: tools | ||
2571 | \$(SILENT)\$(MAKE) -C \$(APPSDIR) OBJDIR=\$(BUILDDIR)/@APPS@ features | ||
2572 | |||
2573 | help: | ||
2574 | @echo "A few helpful make targets" | ||
2575 | @echo "" | ||
2576 | @echo "all - builds a full Rockbox (default), including tools" | ||
2577 | @echo "bin - builds only the Rockbox.<target name> file" | ||
2578 | @echo "rocks - builds only plugins and codecs" | ||
2579 | @echo "clean - cleans a build directory (not tools)" | ||
2580 | @echo "veryclean - cleans the build and tools directories" | ||
2581 | @echo "manual - builds a manual" | ||
2582 | @echo "manual-html - HTML manual" | ||
2583 | @echo "manual-zip - HTML manual (zipped)" | ||
2584 | @echo "manual-txt - txt manual" | ||
2585 | @echo "fullzip - creates a rockbox.zip of your build with fonts" | ||
2586 | @echo "zip - creates a rockbox.zip of your build (no fonts)" | ||
2587 | @echo "gzip - creates a rockbox.tar.gz of your build (no fonts)" | ||
2588 | @echo "bzip2 - creates a rockbox.tar.bz2 of your build (no fonts)" | ||
2589 | @echo "7zip - creates a rockbox.7z of your build (no fonts)" | ||
2590 | @echo "fontzip - creates rockbox-fonts.zip" | ||
2591 | @echo "mapzip - creates rockbox-maps.zip with all .map files" | ||
2592 | @echo "tools - builds the tools only" | ||
2593 | @echo "voicetools - builds the voice tools only" | ||
2594 | @echo "install - installs your build (for simulator builds only, no fonts)" | ||
2595 | @echo "fullinstall - installs your build (for simulator builds only, with fonts)" | ||
2596 | 2451 | ||
2597 | EOF | 2452 | EOF |
2598 | 2453 | ||
2599 | if [ "yes" = "$simulator" ]; then | ||
2600 | |||
2601 | cat >> Makefile <<EOF | ||
2602 | |||
2603 | install: | ||
2604 | @echo "installing your build in your archos dir" | ||
2605 | \$(SILENT)for f in \`cat \$(BUILDDIR)/apps/features\`; do feat="\$\$feat:\$\$f" ; done; \\ | ||
2606 | \$(TOOLSDIR)/buildzip.pl \$(VERBOSEOPT) -t \"\$(MODELNAME)\$\$feat\" -i \"\$(TARGET_ID)\" -s -r "\$(ROOTDIR)" -f 0 \$(TARGET) \$(BINARY) | ||
2607 | |||
2608 | fullinstall: | ||
2609 | @echo "installing a full setup in your archos dir" | ||
2610 | \$(SILENT)for f in \`cat \$(BUILDDIR)/apps/features\`; do feat="\$\$feat:\$\$f" ; done; \\ | ||
2611 | \$(TOOLSDIR)/buildzip.pl \$(VERBOSEOPT) -t \"\$(MODELNAME)\$\$feat\" -i \"\$(TARGET_ID)\" -s -r "\$(ROOTDIR)" -f 2 \$(TARGET) \$(BINARY) | ||
2612 | EOF | ||
2613 | |||
2614 | fi | ||
2615 | |||
2616 | if [ "yes" = "$voice" ]; then | ||
2617 | |||
2618 | cat >> Makefile <<EOF | ||
2619 | |||
2620 | voice: voicetools features | ||
2621 | \$(SILENT)for f in \`cat \$(BUILDDIR)/${apps}/features\`; do feat="\$\$feat:\$\$f" ; done ; \\ | ||
2622 | for lang in \`echo \$(VOICELANGUAGE) |sed "s/,/ /g"\`; do \$(TOOLSDIR)/voice.pl -V -l=\$\$lang -t=\$(MODELNAME)\$\$feat -i=\$(TARGET_ID) -e="\$(ENCODER)" -E="\$(ENC_OPTS)" -s=\$(TTS_ENGINE) -S="\$(TTS_OPTS)"; done \\ | ||
2623 | EOF | ||
2624 | |||
2625 | fi | ||
2626 | |||
2627 | echo "Created Makefile" | 2454 | echo "Created Makefile" |