[CMake] How to make executable depend on pre-existing controlfile?

Trevor Kellaway tkellaway at asl-electronics.co.uk
Thu Apr 12 18:15:10 EDT 2007


Alex,

> > Nope, this is a hand crafted file (not generated) that contains 
> > information about the embedded target memory layout etc.
> 
> How and when is this file "hand-crafted" ?

By me, from a template provided by the dev tool chain:

===link.prm===
SEGMENTS
	RAM = READ_WRITE 0x2000 TO 0x3FFF;
	ROM_4000 = READ_ONLY  0x4000 TO 0x7FFF;
	ROM_C000 = READ_ONLY  0xC000 TO 0xFEFF;
	PAGE_38 = READ_ONLY  0x388000 TO 0x38BFFF;
	PAGE_39 = READ_ONLY  0x398000 TO 0x39BFFF;
	PAGE_3A = READ_ONLY  0x3A8000 TO 0x3ABFFF;
	PAGE_3B = READ_ONLY  0x3B8000 TO 0x3BBFFF;
	PAGE_3C = READ_ONLY  0x3C8000 TO 0x3CBFFF;
	PAGE_3D = READ_ONLY  0x3D8000 TO 0x3DBFFF;
END

PLACEMENT
	_PRESTART,
	STARTUP,
	ROM_VAR,
	STRINGS,
	VIRTUAL_TABLE_SEGMENT,
	NON_BANKED,
	COPY		INTO  ROM_C000;
	DEFAULT_ROM	INTO
ROM_4000,PAGE_38,PAGE_39,PAGE_3A,PAGE_3B,PAGE_3C,PAGE_3D;
	DEFAULT_RAM INTO  RAM;
END

STACKSIZE 0x100

VECTOR 0x00 _Startup
VECTOR 0x0F CPU_task_tick_interrupt
======

Typically you occasionally have to edit this file, for new interrupt
vectors, or to optimise the (banked) memory layout.

I'm trying to ensure that if this file is edited the link will rerun (as
this file is a real dependency).

It looks like I have to create a dummy custom rule, I was after guidance
for the correct way to do this.

 - TrevK


More information about the CMake mailing list