こんにちは。
sample1 をはじめて見たとき「あぁ、これはけっこうリッチなサンプルだから Makefile もこんなに複雑なんだな。hello world ならもっと簡単な Makefile でいいんだろうな」と思いましたが、学習を進めていくうちに、hello world でも sample1 と同じくらい複雑な Makefile が必要だとわかってびっくり。
カーネルを読み込んで行くとお気付きになると思うのですが、JSPの カーネルとアプリケーションはkernel_cfg.c で巧妙に分離されています。 アプリケーションの修正を行っても、カーネル部分の再ビルドは基本的には 要りません。(上記、初学者に"理解せよ"という意図ではありません。)
分離がよいにもかかわらず、複雑に見えるのは、Makefile の構成に 起因する部分が大きいかもしれません。 現状のMakefile は hello.c の例題で libc.a のビルドまでさせているような ものですから。
-- from もなか