Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

$description = "The following test creates a makefile to verify\n"
              ."the ability of make to sort lists of object. Sort\n"
              ."will also remove any duplicate entries. This will also\n"
              ."be tested.";

$details = "The make file is built with a list of object in a random order\n"
          ."and includes some duplicates. Make should sort all of the elements\n"
          ."remove all duplicates\n";

open(MAKEFILE,"> $makefile");

# The Contents of the MAKEFILE ...

print MAKEFILE "foo := moon_light days \n"
              ."foo1:= jazz\n"
              ."bar := captured \n"
              ."bar2 = boy end, has rise A midnight \n"
              ."bar3:= \$(foo)\n"
              ."s1  := _by\n"
              ."s2  := _and_a\n"
              ."t1  := \$(addsuffix \$(s1), \$(bar) )\n"
              ."t2  := \$(addsuffix \$(s2), \$(foo1) )\n" 
              ."t3  := \$(t2) \$(t2) \$(t2) \$(t2) \$(t2) \$(t2) \$(t2) \$(t2) \$(t2) \$(t2) \n"
              ."t4  := \$(t3) \$(t3) \$(t3) \$(t3) \$(t3) \$(t3) \$(t3) \$(t3) \$(t3) \$(t3) \n"
              ."t5  := \$(t4) \$(t4) \$(t4) \$(t4) \$(t4) \$(t4) \$(t4) \$(t4) \$(t4) \$(t4) \n"
              ."t6  := \$(t5) \$(t5) \$(t5) \$(t5) \$(t5) \$(t5) \$(t5) \$(t5) \$(t5) \$(t5) \n"
              ."t7  := \$(t6) \$(t6) \$(t6) \n"
              ."p1  := \$(addprefix \$(foo1), \$(s2) )\n"
              ."blank:= \n"
              ."all:\n"
              ."\t\@echo \$(sort \$(bar2) \$(foo)  \$(addsuffix \$(s1), \$(bar) ) \$(t2) \$(bar2) \$(bar3))\n"
              ."\t\@echo \$(sort \$(blank) \$(foo) \$(bar2) \$(t1) \$(p1) )\n"
              ."\t\@echo \$(sort \$(foo) \$(bar2) \$(t1) \$(t4) \$(t5) \$(t7) \$(t6) )\n";


# END of Contents of MAKEFILE

close(MAKEFILE);

&run_make_with_options($makefile,"",&get_logfile);

# Create the answer to what should be produced by this Makefile
$answer = "A boy captured_by days end, has jazz_and_a midnight moon_light rise\n"
         ."A boy captured_by days end, has jazz_and_a midnight moon_light rise\n"
         ."A boy captured_by days end, has jazz_and_a midnight moon_light rise\n";

&compare_output($answer,&get_logfile(1));

1;