[PATCH 1/3] Kbuild: refactor fixdep to use getopt()

From: Rasmus Villemoes
Date: Wed Aug 15 2018 - 10:28:07 EST


As preparation for teaching an old dog a few new tricks.

Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
---
scripts/basic/fixdep.c | 21 ++++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/scripts/basic/fixdep.c b/scripts/basic/fixdep.c
index 850966f3d602..666041841200 100644
--- a/scripts/basic/fixdep.c
+++ b/scripts/basic/fixdep.c
@@ -381,16 +381,23 @@ int main(int argc, char *argv[])
const char *depfile, *target, *cmdline;
int insert_extra_deps = 0;
void *buf;
+ int opt;

- if (argc == 5 && !strcmp(argv[1], "-e")) {
- insert_extra_deps = 1;
- argv++;
- } else if (argc != 4)
+ while ((opt = getopt(argc, argv, "e")) != -1) {
+ switch (opt) {
+ case 'e': insert_extra_deps = 1; break;
+ default: usage();
+ }
+ }
+ argc -= optind;
+ argv += optind;
+
+ if (argc != 3)
usage();

- depfile = argv[1];
- target = argv[2];
- cmdline = argv[3];
+ depfile = argv[0];
+ target = argv[1];
+ cmdline = argv[2];

printf("cmd_%s := %s\n\n", target, cmdline);

--
2.16.4