silo: Allow building tilo only

The bootloader bits are built as 32-bit, which can be difficult to do on
a system with a 64-bit userland since they include system headers.

Specifically, the inclusion of <gnu/stubs-32.h> is problematic since
this header is not provided on a non-multilib build of glibc.

	<gnu/stubs-32.h>, included by
	<gnu/stubs.h>, included by
	<features.h>, included by
	<elf.h> and <setjmp.h>

tilo is built for the host machine and doesn't have this problem.

Signed-off-by: Matt Turner <>
Signed-off-by: David S. Miller <>
diff --git a/Makefile b/Makefile
index 15a0de1..b411020 100644
--- a/Makefile
+++ b/Makefile
@@ -3,27 +3,37 @@
 # These only get built on Linux
 ifeq ($(OPSYS),Linux)
-  SUBDIRS  = common first second first-isofs tilo
+ifneq ($(TILO_ONLY),yes)
+  SUBDIRS  = common first second first-isofs
+  SUBDIRS += tilo
   MANPAGES = maketilo.1 tilo.1
+ifneq ($(TILO_ONLY),yes)
 # These get built on Linux and Solaris
 MANPAGES += silo.8 silo.conf.5
 SUBDIRS  += silo
 all dep depend clean:
 	@for I in $(SUBDIRS); do $(MAKE) -C $$I $@ || exit 1; done
 ifeq ($(OPSYS),$(findstring $(OPSYS),Linux Solaris))
+ifneq ($(TILO_ONLY),yes)
 	install -d -m755 $(DESTDIR)/etc $(DESTDIR)/sbin $(DESTDIR)/usr/sbin
 	install -m755 silo/silo $(DESTDIR)/sbin
 	install -m755 silo/silocheck $(DESTDIR)/usr/sbin
 	[ -f $(DESTDIR)/etc/silo.conf ] || \
 		install -m644 etc/silo.conf $(DESTDIR)/etc/
 ifeq ($(OPSYS),Linux)
-	install -d -m755 $(DESTDIR)/boot $(DESTDIR)/usr/bin
+ifneq ($(TILO_ONLY),yes)
+	install -d -m755 $(DESTDIR)/boot
 	install -m644 first/*.b second/*.b first-isofs/*.b $(DESTDIR)/boot/
+	install -d -m755 $(DESTDIR)/usr/bin
 	install -m755 tilo/maketilo $(DESTDIR)/usr/bin/
 	install -m755 tilo/ $(DESTDIR)/usr/bin/tilo