Hallo.. ist es möglich im makefile beim Namen des .hex Files eine Varaible einzusetzen die im Code hinterlegt ist ? zb. in der config.h habe ich stehen: #define snummer1 0x00 #define snummer2 0x20 #define snummer3 0x30 #define snummer4 0x40 #define snummer5 0x50 #define snummer6 0x60 im makefile: FORMAT = ihex TARGET = programm.hex das soll jetzt aber so lauten: 00-20-30-40-50-60.hex Danke, Markus
in der Theorie geht das, aber nur mit hohem Aufwand (mit perl/sed/awk das .h-File durchstöbern, im Makefile dann danach das File umbenennen). Das Dependency-Tracking des make geht dabei vermutlich flöten. Einfacher: definier deine snummer-teile NUR im Makefile, gib sie dem gcc über -Dsnummer=xx weiter, und schon sind die variablen auch im Makefile verfügbar. Weiterer Vorteil: du kannst deine Seriennummer dann auch gleich automatisch beim kompilieren generieren lassen.
Markus C. wrote: > Hallo.. > > ist es möglich im makefile beim Namen des .hex Files eine Varaible > einzusetzen die im Code hinterlegt ist ? > > zb. in der config.h habe ich stehen: > > #define snummer1 0x00 > #define snummer2 0x20 > #define snummer3 0x30 > #define snummer4 0x40 > #define snummer5 0x50 > #define snummer6 0x60 > > im makefile: > > FORMAT = ihex > TARGET = programm.hex > > das soll jetzt aber so lauten: > > 00-20-30-40-50-60.hex > > Danke, Markus Du kannst es umgekehrt machen, also Variablen im Makefile definieren:
1 | |
Makefile
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
Oder du kannst die Werte aus der C-Datei rauslesen. Dazu die Datei scannen mit sed, awk et al. oder nem selbstgeklöppelten Tool.
@ Johann L. Danke schön.. nur leider funktioniert es nicht. ich habe mal das geänderte Makefile angehängt. Danke, Markus
Das -D muss direkt vor jedes define.
1 | |
Und verwenden musst du DEFS schon irgendwo. Falls nicht, hat das Setzen auch kein Effekt ;-)
habe ich jetzt gemacht. bekomme aber folgende meldungen: MMAC1 undeclared .... MMAC6 undeclared Danke, Markus
Gast
#1141225
Hallo, meiner Meinung nach fehlen die '-D', also so:
1 | |
2 | |
3 | |
So hat es bei mir funktioniert. Hermann-Josef
Gast
#1141227
Sorry, hatte eben einen Post überlesen und mit dem alten makefile experimentiert. Hermann-Josef
Hermann-Josef wrote: > Hallo, > > meiner Meinung nach fehlen die '-D', also so: > >
1 | |
2 | |
3 | |
4 | |
5 | |
> > So hat es bei mir funktioniert. Aber nur, weil du DEFS auch verwendest, zB als Teil von CFLAGS (im Gegensatz zu Markus) ;-)
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.