On Mon, Aug 22, 2016 at 9:09 AM, Richard Purdie <[email protected]> wrote:
> On Sun, 2016-08-21 at 22:03 +0200, Denys Vlasenko wrote:
>> On Fri, Aug 19, 2016 at 3:47 PM, Richard Purdie <[email protected]>
>> wrote:
>> > Index: busybox-1.24.1/applets/applet_tables.c
>> > ===================================================================
>> > --- busybox-1.24.1.orig/applets/applet_tables.c
>> > +++ busybox-1.24.1/applets/applet_tables.c
>> > @@ -151,23 +151,15 @@ int main(int argc, char **argv)
>> >  //     printf("#define MAX_APPLET_NAME_LEN %u\n",
>> > MAX_APPLET_NAME_LEN);
>> >
>> >         if (argv[2]) {
>> > -               char line_old[80];
>> >                 char line_new[80];
>> >                 FILE *fp;
>> >
>> > -               line_old[0] = 0;
>> > -               fp = fopen(argv[2], "r");
>> > -               if (fp) {
>> > -                       fgets(line_old, sizeof(line_old), fp);
>> > -                       fclose(fp);
>> > -               }
>> >                 sprintf(line_new, "#define NUM_APPLETS %u\n",
>> > NUM_APPLETS);
>> > -               if (strcmp(line_old, line_new) != 0) {
>> > -                       fp = fopen(argv[2], "w");
>> > -                       if (!fp)
>> > -                               return 1;
>> > -                       fputs(line_new, fp);
>> > -               }
>> > +               fp = fopen(argv[2], "w");
>> > +               if (!fp)
>> > +                       return 1;
>> > +               fputs(line_new, fp);
>> > +               fclose(fp);
>>
>> This is done on purpose: if number of applets did not change, no need
>> to rebuild files which depend on NUM_APPLETS.h
>
> I appreciate the idea, however it doesn't work as the makefiles rely on
> timestamps of the dependent objects changing and the above code means
> the timestamps may or may not change. If they don't change, the rules
> can keep being re-triggered as far as I can tell.

Try changing any config option. Say,

-CONFIG_PASSWORD_MINLEN=6
+CONFIG_PASSWORD_MINLEN=5

Now make -j:

...
  CC      libbb/appletlib.o
  CC      libbb/lineedit.o
  CC      libbb/obscure.o
  CC      shell/ash.o
  CC      shell/hush.o
  AR      libbb/lib.a
  AR      shell/lib.a
  LINK    busybox_unstripped
...

lineedit and shells will be rebuilt on any such change.
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to