Index: uspace/Makefile
===================================================================
--- uspace/Makefile	(revision 177e4ea4f278b1d53d68392d53cd40704cd0931d)
+++ uspace/Makefile	(revision 1b1164e8b3cea0b45a167fb0933b14cf0c22c374)
@@ -27,9 +27,9 @@
 #
 
-## Include configuration
-#
-
 -include ../Makefile.common
 -include ../Makefile.config
+
+## Common binaries
+#
 
 DIRS = \
@@ -64,6 +64,8 @@
 	srv/hid/fb \
 	srv/hid/kbd \
-	srv/hw/char/i8042 \
-	srv/net
+	srv/hw/char/i8042
+
+## Platform-specific hardware support
+#
 
 ifneq ($(UARCH),abs32le)
@@ -89,4 +91,33 @@
 endif
 
+## Networking
+#
+
+ifeq ($(CONFIG_NETIF_DP8390),y)
+	DIRS += srv/net/netif/dp8390
+endif
+
+NETWORKING_COMMON += \
+	srv/net/netif/lo \
+	srv/net/nil/eth \
+	srv/net/nil/nildummy \
+	srv/net/net \
+	srv/net/net/start \
+	srv/net/socket \
+	srv/net/app/echo \
+	srv/net/app/ping \
+	srv/net/app/nettest1 \
+	srv/net/app/nettest2
+
+NETWORKING_MODULAR = \
+	srv/net/il/arp \
+	srv/net/il/ip \
+	srv/net/tl/icmp \
+	srv/net/tl/udp \
+	srv/net/tl/tcp
+
+## System libraries
+#
+
 LIBC = lib/libc
 LIBS = \
@@ -108,6 +139,17 @@
 LIBS_BUILD = $(addsuffix .build,$(LIBS))
 
-BUILDS := $(addsuffix .build,$(DIRS))
-CLEANS := $(addsuffix .clean,$(DIRS)) $(addsuffix .clean,$(LIBS)) $(addsuffix .clean,$(LIBC))
+ifeq ($(CONFIG_NETWORKING),modular)
+	BUILDS := $(addsuffix .build,$(DIRS)) $(addsuffix .build,$(NETWORKING_COMMON)) $(addsuffix .build,$(NETWORKING_MODULAR))
+endif
+
+ifeq ($(CONFIG_NETWORKING),module)
+	BUILDS := $(addsuffix .build,$(DIRS)) $(addsuffix .build,$(NETWORKING_COMMON))
+endif
+
+ifeq ($(CONFIG_NETWORKING),none)
+	BUILDS := $(addsuffix .build,$(DIRS))
+endif
+
+CLEANS := $(addsuffix .clean,$(DIRS)) $(addsuffix .clean,$(NETWORKING_COMMON)) $(addsuffix .clean,$(NETWORKING_MODULAR)) $(addsuffix .clean,$(LIBS)) $(addsuffix .clean,$(LIBC))
 
 .PHONY: all $(LIBC_BUILD) $(LIBS_BUILD) $(BUILDS) $(CLEANS) clean
