I forgot to say, that 1) item included new build options! IE, you can do something like:
Code: Select all
fred@cheetah:~/workspaces/eclipse/freeems-vanilla/src$ make clean JSeries-12CrankWith6-2Cam
And it will only build that exact decoder variant for you:
Code: Select all
fred@cheetah:~/workspaces/eclipse/freeems-vanilla/src$ l firmware
-rwxr-xr-x 1 fred fred 166960 Nov 25 20:22 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-JSeries-12CrankWith6-2Cam.s19
Equally, and for a few weeks already, you can do something like:
Code: Select all
fred@cheetah:~/workspaces/eclipse/freeems-vanilla/src$ CLIFLAGS="PRESTO" make clean s19
And get a set like this clearly marked as containing PRESTO config:
Code: Select all
fred@cheetah:~/workspaces/eclipse/freeems-vanilla/src$ l firmware
total 3320
-rwxr-xr-x 1 fred fred 165472 Nov 25 20:25 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-PRESTO-BenchTest.s19
-rwxr-xr-x 1 fred fred 166450 Nov 25 20:25 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-PRESTO-EvenTeeth-Cam-16and1.s19
-rwxr-xr-x 1 fred fred 166450 Nov 25 20:25 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-PRESTO-EvenTeeth-Cam-24and1.s19
-rwxr-xr-x 1 fred fred 166446 Nov 25 20:25 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-PRESTO-EvenTeeth-Cam-6and1.s19
-rwxr-xr-x 1 fred fred 165734 Nov 25 20:25 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-PRESTO-EvenTeeth-Distributor-4of6and1.s19
-rwxr-xr-x 1 fred fred 166516 Nov 25 20:25 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-PRESTO-GM-LT1-CAS-360and8.s19
-rwxr-xr-x 1 fred fred 167024 Nov 25 20:25 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-PRESTO-HallOrOptical-Distributor-4of64.s19
-rwxr-xr-x 1 fred fred 167024 Nov 25 20:25 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-PRESTO-HallOrOptical-Distributor-4of69.s19
-rwxr-xr-x 1 fred fred 166956 Nov 25 20:25 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-PRESTO-JSeries-12CrankWith6-2Cam.s19
-rwxr-xr-x 1 fred fred 164054 Nov 25 20:25 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-PRESTO-Listener.s19
-rwxr-xr-x 1 fred fred 168658 Nov 25 20:25 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-PRESTO-MissingTeeth-Cam-12minus1.s19
-rwxr-xr-x 1 fred fred 168658 Nov 25 20:25 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-PRESTO-MissingTeeth-Cam-24minus1.s19
-rwxr-xr-x 1 fred fred 168804 Nov 25 20:25 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-PRESTO-MissingTeeth-Cam-6minus2.s19
-rwxr-xr-x 1 fred fred 168662 Nov 25 20:25 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-PRESTO-MissingTeeth-Crank-12minus1.s19
-rwxr-xr-x 1 fred fred 168808 Nov 25 20:25 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-PRESTO-MissingTeeth-Crank-30minus2.s19
-rwxr-xr-x 1 fred fred 168662 Nov 25 20:25 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-PRESTO-MissingTeeth-Crank-36minus1.s19
-rwxr-xr-x 1 fred fred 168808 Nov 25 20:25 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-PRESTO-MissingTeeth-Crank-60minus2.s19
-rwxr-xr-x 1 fred fred 168662 Nov 25 20:25 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-PRESTO-MissingTeeth-Crank-8minus1.s19
-rwxr-xr-x 1 fred fred 168650 Nov 25 20:25 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-PRESTO-MissingTeeth-TestFile.s19
-rwxr-xr-x 1 fred fred 169528 Nov 25 20:25 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-PRESTO-MitsiAndMazda-CAS-4and1.s19
So, naturally they can be combined:
Code: Select all
fred@cheetah:~/workspaces/eclipse/freeems-vanilla/src$ CLIFLAGS="SPUDMN" make clean MissingTeeth-Crank-8minus1
<snip>
fred@cheetah:~/workspaces/eclipse/freeems-vanilla/src$ l firmware
-rwxr-xr-x 1 fred fred 168662 Nov 25 20:26 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-SPUDMN-MissingTeeth-Crank-8minus1.s19
Pretty neat, huh! :-)
I've taken the time to expose these as simple commands at the top level for each user:
Code: Select all
fred@cheetah:~/workspaces/eclipse/freeems-vanilla$ make
######################## Welcome to FreeEMS! ########################
To build, choose a target from the below list and type 'make target'!
For example, to build blank unconfigured firmware type 'make BLANK'
Note: For BenchTest to work you MUST build using the BENCHTEST target!
Advanced users will find more options available in the src directory!
Options:
SNOTROCKET
BENCHTEST
SEANKLT1
SLATER
BLANK
Makefile
PETERTRUCK
Help
TRUCK
DEUCECOUPE
TEST_AND_SAVE_ALL
PRESTO
PETERJSERIES
HOTEL
SPUDMN
Such that you can simply do this:
Code: Select all
fred@cheetah:~/workspaces/eclipse/freeems-vanilla$ make SNOTROCKET
<snip>
fred@cheetah:~/workspaces/eclipse/freeems-vanilla$ l src/firmware
-rwxr-xr-x 1 fred fred 166458 Nov 25 20:29 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-SNOTROCKET-EvenTeeth-Cam-24and1.s19
And get your configured single decoder built and all alone in the output dir! You can get a traditional make clean s19 with "make BLANK" at the top level, too.
Finally, the test script now uses this style, and can be used by me to create a set of binaries for all users to test:
Code: Select all
fred@cheetah:~/workspaces/eclipse/freeems-vanilla$ make TEST_AND_SAVE_ALL
<big snip>
################# Built the firmware 12 times with 1 failures! #################
Passes:
DEFAULT passed!
TRUCK passed!
HOTEL passed!
PRESTO passed!
SEANKLT1 passed!
SNOTROCKET passed!
SPUDMN passed!
SLATER passed!
PETERJSERIES passed!
DEUCECOUPE passed!
PETERTRUCK passed!
Failures:
XGATE FAILED with result 2
################################################################################
fred@cheetah:~/workspaces/eclipse/freeems-vanilla$ l src/firmware-all/
-rwxr-xr-x 1 fred fred 165476 Nov 25 20:32 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-DEFAULT-BenchTest.s19
-rwxr-xr-x 1 fred fred 166454 Nov 25 20:32 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-DEUCECOUPE-EvenTeeth-Cam-6and1.s19
-rwxr-xr-x 1 fred fred 167236 Nov 25 20:32 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-HOTEL-HallOrOptical-Distributor-4of69.s19
-rwxr-xr-x 1 fred fred 166968 Nov 25 20:32 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-PETERJSERIES-JSeries-12CrankWith6-2Cam.s19
-rwxr-xr-x 1 fred fred 168666 Nov 25 20:32 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-PETERTRUCK-MissingTeeth-Cam-12minus1.s19
-rwxr-xr-x 1 fred fred 166450 Nov 25 20:32 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-PRESTO-EvenTeeth-Cam-24and1.s19
-rwxr-xr-x 1 fred fred 166520 Nov 25 20:32 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-SEANKLT1-GM-LT1-CAS-360and8.s19
-rwxr-xr-x 1 fred fred 168662 Nov 25 20:32 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-SLATER-MissingTeeth-Crank-12minus1.s19
-rwxr-xr-x 1 fred fred 166458 Nov 25 20:32 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-SNOTROCKET-EvenTeeth-Cam-24and1.s19
-rwxr-xr-x 1 fred fred 168662 Nov 25 20:32 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-SPUDMN-MissingTeeth-Crank-8minus1.s19
-rwxr-xr-x 1 fred fred 169528 Nov 25 20:32 FreeEMS-0.2.0-SNAPSHOT-182-g311e7d1-TRUCK-MitsiAndMazda-CAS-4and1.s19
All in all, pretty awesome in my opinion, but I would say that, I did it! :-)
Hopefully it makes life easier for you all!
Fred.