UPSTREAM: sconfig: Update command line parameters
Instead of having directories and file names hardcoded, pass in the full path and filename of both the input and output files. In the makefile, create variables for these values, and use them in places that previously had the names and paths written out. BUG=None BRANCH=None TEST=None Signed-off-by: Martin Roth <martinroth@google.com> Reviewed-on: https://review.coreboot.org/16078 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Patrick Georgi <pgeorgi@google.com> Change-Id: Icb6f536547ce3193980ec5d60c786a29755c2813 Reviewed-on: https://chromium-review.googlesource.com/368290 Commit-Ready: Furquan Shaikh <furquan@chromium.org> Tested-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
parent
1b8d8d5cf7
commit
5a4a3af8a5
2 changed files with 18 additions and 26 deletions
19
Makefile.inc
19
Makefile.inc
|
|
@ -451,15 +451,18 @@ $(obj)/config.h: $(objutil)/kconfig/conf
|
|||
#######################################################################
|
||||
# needed objects that every mainboard uses
|
||||
# Creation of these is architecture and mainboard independent
|
||||
$(obj)/mainboard/$(MAINBOARDDIR)/static.c: $(src)/mainboard/$(MAINBOARDDIR)/$(call strip_quotes, $(CONFIG_DEVICETREE)) $(objutil)/sconfig/sconfig
|
||||
@printf " SCONFIG $(subst $(src)/,,$(<))\n"
|
||||
mkdir -p $(obj)/mainboard/$(MAINBOARDDIR)
|
||||
$(objutil)/sconfig/sconfig $(MAINBOARDDIR) $(obj)/mainboard/$(MAINBOARDDIR) $(call strip_quotes, $(CONFIG_DEVICETREE))
|
||||
DEVICETREE_FILE := $(src)/mainboard/$(MAINBOARDDIR)/$(call strip_quotes, $(CONFIG_DEVICETREE))
|
||||
DEVICETREE_STATIC_C := $(obj)/mainboard/$(MAINBOARDDIR)/static.c
|
||||
|
||||
ramstage-y+=$(obj)/mainboard/$(MAINBOARDDIR)/static.c
|
||||
romstage-y+=$(obj)/mainboard/$(MAINBOARDDIR)/static.c
|
||||
verstage-y+=$(obj)/mainboard/$(MAINBOARDDIR)/static.c
|
||||
bootblock-y+=$(obj)/mainboard/$(MAINBOARDDIR)/static.c
|
||||
$(DEVICETREE_STATIC_C): $(DEVICETREE_FILE) $(objutil)/sconfig/sconfig
|
||||
@printf " SCONFIG $(subst $(src)/,,$(<))\n"
|
||||
mkdir -p $(dir $(DEVICETREE_STATIC_C))
|
||||
$(objutil)/sconfig/sconfig $(MAINBOARDDIR) $(DEVICETREE_FILE) $(DEVICETREE_STATIC_C)
|
||||
|
||||
ramstage-y+=$(DEVICETREE_STATIC_C)
|
||||
romstage-y+=$(DEVICETREE_STATIC_C)
|
||||
verstage-y+=$(DEVICETREE_STATIC_C)
|
||||
bootblock-y+=$(DEVICETREE_STATIC_C)
|
||||
|
||||
$(objgenerated)/libverstage.a: $$(libverstage-objs)
|
||||
rm -f $@
|
||||
|
|
|
|||
|
|
@ -551,7 +551,7 @@ static void inherit_subsystem_ids(FILE *file, struct device *dev)
|
|||
|
||||
static void usage(void)
|
||||
{
|
||||
printf("usage: sconfig vendor/mainboard outputdir devicetree [-{s|b|k} outputfile]\n");
|
||||
printf("usage: sconfig vendor/mainboard devicetree_file output_file [-{s|b|k}]\n");
|
||||
printf("\t-s file\tcreate ramstage static device map\n");
|
||||
printf("\t-b file\tcreate bootblock init_mainboard()\n");
|
||||
printf("\t-k file\tcreate Kconfig devicetree section\n");
|
||||
|
|
@ -560,31 +560,25 @@ static void usage(void)
|
|||
}
|
||||
|
||||
enum {
|
||||
VENDOR_MAINBOARD_ARG = 1,
|
||||
OUTPUTDIR_ARG,
|
||||
MAINBOARD_ARG = 1,
|
||||
DEVICEFILE_ARG,
|
||||
OUTPUTTYPE_ARG,
|
||||
OUTPUTFILE_ARG
|
||||
OUTPUTFILE_ARG,
|
||||
OUTPUTTYPE_ARG
|
||||
};
|
||||
|
||||
#define MIN_ARGS 4
|
||||
#define MAX_ARGS 6
|
||||
#define MAX_ARGS 5
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
if (argc != MIN_ARGS && argc != MAX_ARGS)
|
||||
usage();
|
||||
|
||||
char *mainboard = argv[VENDOR_MAINBOARD_ARG];
|
||||
char *outputdir = argv[OUTPUTDIR_ARG];
|
||||
char *devfile = argv[DEVICEFILE_ARG];
|
||||
char *devtree = malloc(strlen(mainboard) + strlen(devfile) + 30);
|
||||
sprintf(devtree, "src/mainboard/%s/%s", mainboard, devfile);
|
||||
char *outputc;
|
||||
char *mainboard = argv[MAINBOARD_ARG];
|
||||
char *devtree = argv[DEVICEFILE_ARG];
|
||||
char *outputc = argv[OUTPUTFILE_ARG];
|
||||
|
||||
if (argc == MIN_ARGS) {
|
||||
scan_mode = STATIC_MODE;
|
||||
outputc=malloc(strlen(outputdir)+20);
|
||||
sprintf(outputc, "%s/static.c", outputdir);
|
||||
} else if (argc == MAX_ARGS) {
|
||||
if ((argv[OUTPUTTYPE_ARG][0] != '-') ||
|
||||
(argv[OUTPUTTYPE_ARG][2] == 0)) {
|
||||
|
|
@ -605,10 +599,6 @@ int main(int argc, char** argv) {
|
|||
usage();
|
||||
break;
|
||||
}
|
||||
char *outputfile = argv[OUTPUTFILE_ARG];
|
||||
|
||||
outputc=malloc(strlen(outputdir)+strlen(outputfile)+2);
|
||||
sprintf(outputc, "%s/%s", outputdir, outputfile);
|
||||
}
|
||||
|
||||
headers.next = 0;
|
||||
|
|
@ -623,7 +613,6 @@ int main(int argc, char** argv) {
|
|||
|
||||
FILE *filec = fopen(devtree, "r");
|
||||
if (!filec) {
|
||||
fprintf(stderr, "Could not open file '%s' for reading: ", devtree);
|
||||
perror(NULL);
|
||||
exit(1);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue