Hi all, is there any way to get the build number during compile time from the preprocessor? I want to set the major and minor version myself, however the number of builds per version should be increased manually. And no, I do not nor can I use svn. So I'd need a directive like _BUILD_... Thanks, Chris
(Du bist hier nicht bei embdev.net, darfst hier deutsch reden. ;-) Der Präprozessor löst #include-Direktiven auf und ersetzt Makros, mehr macht der nicht. Woher bitte sollte er denn einen persistenten Status überhaupt nehmen, den du ja für die Build-Nummer brauchst? Sowas kannst du nur im Dateisystem ablegen. Dort müsstest du das über irgendwelche Shell-Kommandos erledigen, die kannst du ja dann mittels -D-Option dem Präprozessor als Makro mitgeben. Eine Möglichkeit:
1 | BUILDNOFILE=build.txt |
2 | |
3 | buildno.o: |
4 | buildno=$$(expr $$(cat $(BUILDNOFILE)) + 1); \ |
5 | rm -f $(BUILDNOFILE) && echo $buildno > $(BUILDNOFILE); \ |
6 | rm -f buildno.c; \ |
7 | echo "#define BUILDNO $$(buildno)" > buildno.c; \ |
8 | $(CC) $(CFLAGS) -c buildno.c |
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.