[Scons-users] Non Construction steps in Scons

Duane Ellis duane at duaneellis.com
Sat May 14 18:18:50 EDT 2022


Hi – I am new to scons and I am trying to do something Know how to do in Make

Example make rule is like this (I hope this shows up in email reasonably)…

=============
Many-things:   Step1. Step2. Step3 Step4 Step5

TARGET=allthings

MyApp.ELF:  $(OBJECT_FILES)
                $(LINK_STEP) ….

Step1:  MyApp.ELF
                Cmd1

Step2:
                Cmd2

Step3:
                Cmd3

Step4:
                Cmd4

Step5:
                Cmd5

Allthings:  MyApp.ELF  Step1  Step2 Step3
=============

In my case, I am working on an embedded platform.

I am *NOT* always performing “Construction” – I want to do some other things.

Scons can build my app wonderfully – but I can’t get it to do the next several steps – they are not “construction steps” they are procedural steps

Step 1 – I need to post-process my ELF file to create a BIN file in a special way for my board (producing a type of BIN file)

Step 2 – takes the BIN and ‘packages’ it with special flags unique to this application (A generic builder seems wrong here)

Step 3 – runs a GUI tool in command line mode to “flash” my board, I have to specify on the command line the DEVICE address (either a comport, or a tftp server)

Step 4 – runs a command to power cycle the board via a SCPI controlled power supply

Step 5 – Launches a Python PyExpect test sequence with a rather complicated command line.

Other examples are “building both a Library, and a Doxygen package and running the library through a small regression test and “code-formatter” I know how to do that with make… but I don’t see a way of doing that with

What I would like know how to do is:

Create a list of arbitrary commands that I can execute in order, If one of those commands fail, I want further progress to stop
I would like to say which step depends on the previous step – this is *SPECIFICALLY* not a filename extension thing

>From the command line, I need to be able to reasonably execute one of the steps at will (ie: like I can do with  “make step4”, or “make allthings”)



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20220514/c71ac73d/attachment.htm>


More information about the Scons-users mailing list