Index: uspace/Makefile
===================================================================
--- uspace/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -222,4 +222,5 @@
 	lib/label \
 	lib/math \
+	lib/minix \
 	lib/nettl \
 	lib/nic \
@@ -256,4 +257,5 @@
 	find lib app drv srv -name '*.lo' -follow -exec rm \{\} \;
 	find lib app drv srv -name '*.d' -follow -exec rm \{\} \;
+	find lib app drv srv -name 'tag' -follow -exec rm \{\} \;
 
 $(CLEANS):
Index: uspace/Makefile.common
===================================================================
--- uspace/Makefile.common	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/Makefile.common	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -112,44 +112,5 @@
 
 LIBPOSIX_PREFIX = $(LIB_PREFIX)/posix
-
-LIBCRYPTO_PREFIX = $(LIB_PREFIX)/crypto
-LIBBLOCK_PREFIX = $(LIB_PREFIX)/block
-LIBFDISK_PREFIX = $(LIB_PREFIX)/fdisk
-LIBLABEL_PREFIX = $(LIB_PREFIX)/label
-LIBFS_PREFIX = $(LIB_PREFIX)/fs
-LIBCLUI_PREFIX = $(LIB_PREFIX)/clui
-LIBFMTUTIL_PREFIX = $(LIB_PREFIX)/fmtutil
-
-LIBGRAPH_PREFIX = $(LIB_PREFIX)/graph
-LIBSOFTREND_PREFIX = $(LIB_PREFIX)/softrend
-LIBDRAW_PREFIX = $(LIB_PREFIX)/draw
-LIBGUI_PREFIX = $(LIB_PREFIX)/gui
-
-LIBEXT4_PREFIX = $(LIB_PREFIX)/ext4
-
-LIBUSB_PREFIX = $(LIB_PREFIX)/usb
-LIBUSBHOST_PREFIX = $(LIB_PREFIX)/usbhost
-LIBUSBDEV_PREFIX = $(LIB_PREFIX)/usbdev
-LIBUSBHID_PREFIX = $(LIB_PREFIX)/usbhid
-LIBUSBVIRT_PREFIX = $(LIB_PREFIX)/usbvirt
-
-LIBDRV_PREFIX = $(LIB_PREFIX)/drv
-LIBHOUND_PREFIX = $(LIB_PREFIX)/hound
-LIBPCM_PREFIX = $(LIB_PREFIX)/pcm
-LIBNIC_PREFIX = $(LIB_PREFIX)/nic
-LIBIEEE80211_PREFIX = $(LIB_PREFIX)/ieee80211
-LIBMINIX_PREFIX = $(LIB_PREFIX)/minix
-LIBCOMPRESS_PREFIX = $(LIB_PREFIX)/compress
 LIBDLTEST_PREFIX = $(LIB_PREFIX)/dltest
-
-LIBSCSI_PREFIX = $(LIB_PREFIX)/scsi
-LIBTRACKMOD_PREFIX = $(LIB_PREFIX)/trackmod
-
-LIBBITHENGE_PREFIX = $(LIB_PREFIX)/bithenge
-
-LIBHTTP_PREFIX = $(LIB_PREFIX)/http
-LIBURI_PREFIX = $(LIB_PREFIX)/uri
-
-LIBNETTL_PREFIX = $(LIB_PREFIX)/nettl
 
 AFLAGS =
@@ -205,4 +166,10 @@
 endif
 
+ifneq ($(LIBRARY),)
+	INCLUDES_FLAGS += -Iinclude -I.
+endif
+
+INCLUDES_FLAGS += $(foreach lib,$(LIBS), -I$(LIB_PREFIX)/$(lib) -I$(LIB_PREFIX)/$(lib)/include)
+
 # PCUT-based unit tests
 ifneq ($(TEST_SOURCES),)
@@ -286,9 +253,12 @@
 DEPENDS := $(addsuffix .d,$(basename $(SOURCES))) $(addsuffix .test.d,$(basename $(TEST_SOURCES)))
 
+LIBTAGS := $(foreach lib,$(LIBS), $(USPACE_PREFIX)/lib/$(lib)/tag)
+LIBARGS := $(addprefix -L$(USPACE_PREFIX)/lib/, $(LIBS)) $(addprefix -l, $(LIBS))
+
 -include $(DEPENDS)
 
 .PHONY: all all-test clean depend
 
-all: $(OUTPUTS)
+all: tag $(OUTPUTS)
 
 all-test: $(TEST_OUTPUTS)
@@ -298,4 +268,11 @@
 
 depend: $(PRE_DEPEND)
+
+# "Tag" files are used to force relink of binaries when dependencies get rebuilt,
+# regardless of whether the dependency was linked statically or dynamically,
+# or which version of a dynamic library was used. Prerequisites for this file
+# are defined further down.
+tag:
+	touch tag
 
 %.disasm: %
@@ -307,14 +284,16 @@
 
 ifneq ($(BINARY),)
-$(BINARY): $(LINKER_SCRIPT) $(OBJECTS) $(LIBS) $(BASE_LIBS)
-	$(LD) $(LFLAGS) -T $(LINKER_SCRIPT) -Map $@.map -o $@ $(OBJECTS) $(LIBS) $(BASE_LIBS)
+$(BINARY): $(LINKER_SCRIPT) $(OBJECTS) $(LIBTAGS) $(BASE_LIBS)
+	$(LD) $(LFLAGS) -T $(LINKER_SCRIPT) -Map $@.map -o $@ $(OBJECTS) $(LIBARGS) $(BASE_LIBS)
 endif
 
 ifneq ($(TEST_BINARY),)
-$(TEST_BINARY): $(LINKER_SCRIPT) $(TEST_OBJECTS) $(TEST_BINARY_LIBS)
-	$(LD) $(LFLAGS) -T $(LINKER_SCRIPT) -Map $@.map -o $@ $(TEST_OBJECTS) $(TEST_BINARY_LIBS) $(LIBS) $(BASE_LIBS)
+$(TEST_BINARY): $(LINKER_SCRIPT) $(TEST_OBJECTS) $(TEST_BINARY_LIBS) $(LIBTAGS) $(BASE_LIBS)
+	$(LD) $(LFLAGS) -T $(LINKER_SCRIPT) -Map $@.map -o $@ $(TEST_OBJECTS) $(TEST_BINARY_LIBS) $(LIBARGS) $(BASE_LIBS)
 endif
 
 ifneq ($(LIBRARY),)
+tag: $(LIBRARY).a
+
 $(LIBRARY).a: $(OBJECTS)
 	$(AR) rc $@ $(OBJECTS)
@@ -322,4 +301,6 @@
 
 ifneq ($(SLIBRARY),)
+tag: $(SLIBRARY)
+
 $(LIBRARY).la: $(LOBJECTS)
 	$(AR) rc $@ $(LOBJECTS)
Index: uspace/app/barber/Makefile
===================================================================
--- uspace/app/barber/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/barber/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,15 +29,6 @@
 USPACE_PREFIX = ../..
 
-LIBS = \
-	$(LIBGUI_PREFIX)/libgui.a \
-	$(LIBDRAW_PREFIX)/libdraw.a \
-	$(LIBCOMPRESS_PREFIX)/libcompress.a \
-	$(LIBSOFTREND_PREFIX)/libsoftrend.a \
-	$(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a
-
-EXTRA_CFLAGS += \
-	-I$(LIBGUI_PREFIX) \
-	-I$(LIBDRAW_PREFIX) \
-	-I$(LIBSOFTREND_PREFIX)
+# TODO: Should be just "gui", rest is transitive dependencies.
+LIBS = gui draw compress softrend
 
 BINARY = barber
Index: uspace/app/bdsh/Makefile
===================================================================
--- uspace/app/bdsh/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/bdsh/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,7 +29,6 @@
 
 USPACE_PREFIX = ../..
-LIBS = $(LIBCLUI_PREFIX)/libclui.a $(LIBFMTUTIL_PREFIX)/libfmtutil.a
-EXTRA_CFLAGS = -I$(LIBCLUI_PREFIX) -I$(LIBFMTUTIL_PREFIX) \
-	-I. -Icmds/ -Icmds/builtins -Icmds/modules
+LIBS = clui fmtutil
+EXTRA_CFLAGS = -I. -Icmds/ -Icmds/builtins -Icmds/modules
 BINARY = bdsh
 
Index: uspace/app/bithenge/Makefile
===================================================================
--- uspace/app/bithenge/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/bithenge/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,7 @@
 
 USPACE_PREFIX = ../..
-LIBS = $(LIBBITHENGE_PREFIX)/libbithenge.a $(LIBBLOCK_PREFIX)/libblock.a
-EXTRA_CFLAGS = -I$(LIBBITHENGE_PREFIX)/include -D__HELENOS__
+# TODO: Should be just "bithenge", rest is transitive linker dependencies.
+LIBS = bithenge block
+EXTRA_CFLAGS = -D__HELENOS__
 BINARY = bithenge
 
Index: uspace/app/blkdump/Makefile
===================================================================
--- uspace/app/blkdump/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/blkdump/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,6 +29,5 @@
 
 USPACE_PREFIX = ../..
-LIBS = $(LIBBLOCK_PREFIX)/libblock.a
-EXTRA_CFLAGS = -I$(LIBBLOCK_PREFIX) -I$(LIBSCSI_PREFIX)/include
+LIBS = block scsi
 BINARY = blkdump
 
Index: uspace/app/dltest/Makefile
===================================================================
--- uspace/app/dltest/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/dltest/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,6 @@
 
 USPACE_PREFIX = ../..
-EXTRA_CFLAGS = -I$(LIBDLTEST_PREFIX) -DDLTEST_LINKED
-LIBS = $(LIBDLTEST_PREFIX)/libdltest.so.0.0
+EXTRA_CFLAGS = -DDLTEST_LINKED
+LIBS = dltest
 # Need a dynamic link, but possibly still use static libc
 LINK_DYNAMIC = y
Index: uspace/app/download/Makefile
===================================================================
--- uspace/app/download/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/download/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../..
-LIBS = $(LIBHTTP_PREFIX)/libhttp.a $(LIBURI_PREFIX)/liburi.a
-EXTRA_CFLAGS = -I$(LIBHTTP_PREFIX)/include -I$(LIBURI_PREFIX)
+LIBS = http uri
 DEFS = -DRELEASE=$(RELEASE)
 BINARY = download
Index: uspace/app/fdisk/Makefile
===================================================================
--- uspace/app/fdisk/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/fdisk/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,11 +28,5 @@
 
 USPACE_PREFIX = ../..
-LIBS = \
-	$(LIBCLUI_PREFIX)/libclui.a \
-	$(LIBFDISK_PREFIX)/libfdisk.a
-
-EXTRA_CFLAGS = \
-	-I$(LIBCLUI_PREFIX) \
-	-I$(LIBFDISK_PREFIX)/include
+LIBS = clui fdisk
 
 BINARY = fdisk
Index: uspace/app/fontviewer/Makefile
===================================================================
--- uspace/app/fontviewer/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/fontviewer/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,14 +29,6 @@
 USPACE_PREFIX = ../..
 
-LIBS = \
-	$(LIBGUI_PREFIX)/libgui.a \
-	$(LIBDRAW_PREFIX)/libdraw.a \
-	$(LIBSOFTREND_PREFIX)/libsoftrend.a \
-	$(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a
-
-EXTRA_CFLAGS += \
-	-I$(LIBGUI_PREFIX) \
-	-I$(LIBDRAW_PREFIX) \
-	-I$(LIBSOFTREND_PREFIX)
+# TODO: Should be just "gui", rest is transitive dependencies.
+LIBS = gui draw softrend compress
 
 BINARY = fontviewer
Index: uspace/app/gunzip/Makefile
===================================================================
--- uspace/app/gunzip/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/gunzip/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -30,6 +30,5 @@
 BINARY = gunzip
 
-EXTRA_CFLAGS += -I$(LIBCOMPRESS_PREFIX)
-LIBS = $(LIBCOMPRESS_PREFIX)/libcompress.a
+LIBS = compress
 
 SOURCES = \
Index: uspace/app/kio/Makefile
===================================================================
--- uspace/app/kio/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/kio/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,6 +29,5 @@
 
 USPACE_PREFIX = ../..
-LIBS = $(LIBCLUI_PREFIX)/libclui.a
-EXTRA_CFLAGS = -I$(LIBCLUI_PREFIX)
+LIBS = clui
 BINARY = kio
 
Index: uspace/app/mixerctl/Makefile
===================================================================
--- uspace/app/mixerctl/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/mixerctl/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -30,9 +30,5 @@
 BINARY = mixerctl
 
-LIBS = \
-	$(LIBDRV_PREFIX)/libdrv.a
-
-EXTRA_CFLAGS = \
-	-I$(LIBDRV_PREFIX)/include
+LIBS = drv
 
 SOURCES = \
Index: uspace/app/mkbd/Makefile
===================================================================
--- uspace/app/mkbd/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/mkbd/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -30,15 +30,5 @@
 BINARY = mkbd
 
-LIBS = \
-	$(LIBUSBHID_PREFIX)/libusbhid.a \
-	$(LIBUSBDEV_PREFIX)/libusbdev.a \
-	$(LIBUSB_PREFIX)/libusb.a \
-	$(LIBDRV_PREFIX)/libdrv.a
-
-EXTRA_CFLAGS = \
-	-I$(LIBUSB_PREFIX)/include \
-	-I$(LIBUSBDEV_PREFIX)/include \
-	-I$(LIBDRV_PREFIX)/include \
-	-I$(LIBUSBHID_PREFIX)/include 
+LIBS = usb usbdev usbhid drv
 
 SOURCES = \
Index: uspace/app/mkexfat/Makefile
===================================================================
--- uspace/app/mkexfat/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/mkexfat/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../..
-LIBS = $(LIBBLOCK_PREFIX)/libblock.a
-EXTRA_CFLAGS = -I$(LIBBLOCK_PREFIX)
+LIBS = block
 BINARY = mkexfat
 
Index: uspace/app/mkfat/Makefile
===================================================================
--- uspace/app/mkfat/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/mkfat/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,6 +29,5 @@
 
 USPACE_PREFIX = ../..
-LIBS = $(LIBBLOCK_PREFIX)/libblock.a
-EXTRA_CFLAGS = -I$(LIBBLOCK_PREFIX)
+LIBS = block
 BINARY = mkfat
 
Index: uspace/app/mkmfs/Makefile
===================================================================
--- uspace/app/mkmfs/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/mkmfs/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,6 +29,5 @@
 
 USPACE_PREFIX = ../..
-LIBS = $(LIBBLOCK_PREFIX)/libblock.a
-EXTRA_CFLAGS = -I$(LIBBLOCK_PREFIX) -I$(LIBMINIX_PREFIX)
+LIBS = block minix
 BINARY = mkmfs
 
Index: uspace/app/modplay/Makefile
===================================================================
--- uspace/app/modplay/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/modplay/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,13 +28,5 @@
 
 USPACE_PREFIX = ../..
-LIBS = \
-	$(LIBTRACKMOD_PREFIX)/libtrackmod.a \
-	$(LIBHOUND_PREFIX)/libhound.a \
-	$(LIBPCM_PREFIX)/libpcm.a
-
-EXTRA_CFLAGS = \
-	-I$(LIBTRACKMOD_PREFIX) \
-	-I$(LIBHOUND_PREFIX)/include \
-	-I$(LIBPCM_PREFIX)/include
+LIBS = trackmod hound pcm
 
 BINARY = modplay
Index: uspace/app/nic/Makefile
===================================================================
--- uspace/app/nic/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/nic/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,6 +29,5 @@
 USPACE_PREFIX = ../..
 BINARY = nic
-EXTRA_CFLAGS = -I$(LIBDRV_PREFIX)/include
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
+LIBS = drv
 
 SOURCES = \
Index: uspace/app/sbi/Makefile
===================================================================
--- uspace/app/sbi/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/sbi/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,6 @@
 
 USPACE_PREFIX = ../..
-LIBS = $(LIBCLUI_PREFIX)/libclui.a
-EXTRA_CFLAGS = -D__HELENOS__ -I$(LIBCLUI_PREFIX)
+LIBS = clui
+EXTRA_CFLAGS = -D__HELENOS__
 
 BINARY = sbi
Index: uspace/app/sportdmp/Makefile
===================================================================
--- uspace/app/sportdmp/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/sportdmp/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS = -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = sportdmp
 
Index: uspace/app/sysinst/Makefile
===================================================================
--- uspace/app/sysinst/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/sysinst/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,12 +28,5 @@
 
 USPACE_PREFIX = ../..
-LIBS = \
-    $(LIBBLOCK_PREFIX)/libblock.a \
-    $(LIBFDISK_PREFIX)/libfdisk.a \
-
-EXTRA_CFLAGS = \
-    -I$(LIBBLOCK_PREFIX) \
-    -I$(LIBFDISK_PREFIX)/include \
-    -Iinclude
+LIBS = block fdisk
 
 BINARY = sysinst
Index: uspace/app/tester/Makefile
===================================================================
--- uspace/app/tester/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/tester/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -30,13 +30,7 @@
 USPACE_PREFIX = ../..
 
-LIBS = \
-	$(LIBBLOCK_PREFIX)/libblock.a \
-	$(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a \
-	$(LIBDRV_PREFIX)/libdrv.a
-
-EXTRA_CFLAGS = \
-	-I$(LIBBLOCK_PREFIX) \
-	-I$(LIBSOFTFLOAT_PREFIX) \
-	-I$(LIBDRV_PREFIX)/include
+# TODO: softfloat testing should be done via unit tests.
+LIBS = block softfloat drv
+EXTRA_CFLAGS = -I$(LIBSOFTFLOAT_PREFIX)
 
 BINARY = tester
Index: uspace/app/usbinfo/Makefile
===================================================================
--- uspace/app/usbinfo/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/usbinfo/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -30,14 +30,5 @@
 BINARY = usbinfo
 
-LIBS = \
-	$(LIBUSBHID_PREFIX)/libusbhid.a \
-	$(LIBUSBDEV_PREFIX)/libusbdev.a \
-	$(LIBUSB_PREFIX)/libusb.a \
-	$(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS = \
-	-I$(LIBUSB_PREFIX)/include \
-	-I$(LIBUSBDEV_PREFIX)/include \
-	-I$(LIBUSBHID_PREFIX)/include \
-	-I$(LIBDRV_PREFIX)/include
+LIBS = usb usbhid usbdev drv
 
 SOURCES = \
Index: uspace/app/vcalc/Makefile
===================================================================
--- uspace/app/vcalc/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/vcalc/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,14 +29,6 @@
 USPACE_PREFIX = ../..
 
-LIBS = \
-	$(LIBGUI_PREFIX)/libgui.a \
-	$(LIBDRAW_PREFIX)/libdraw.a \
-	$(LIBSOFTREND_PREFIX)/libsoftrend.a \
-	$(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a
-
-EXTRA_CFLAGS += \
-	-I$(LIBGUI_PREFIX) \
-	-I$(LIBDRAW_PREFIX) \
-	-I$(LIBSOFTREND_PREFIX)
+# TODO: Should be just "gui", rest is transitive dependencies.
+LIBS = gui draw softrend compress
 
 BINARY = vcalc
Index: uspace/app/vdemo/Makefile
===================================================================
--- uspace/app/vdemo/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/vdemo/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,14 +29,6 @@
 USPACE_PREFIX = ../..
 
-LIBS = \
-	$(LIBGUI_PREFIX)/libgui.a \
-	$(LIBDRAW_PREFIX)/libdraw.a \
-	$(LIBSOFTREND_PREFIX)/libsoftrend.a \
-	$(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a
-
-EXTRA_CFLAGS += \
-	-I$(LIBGUI_PREFIX) \
-	-I$(LIBDRAW_PREFIX) \
-	-I$(LIBSOFTREND_PREFIX)
+# TODO: Should be just "gui", rest is transitive dependencies.
+LIBS = gui draw softrend compress
 
 BINARY = vdemo
Index: uspace/app/viewer/Makefile
===================================================================
--- uspace/app/viewer/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/viewer/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,14 +29,6 @@
 USPACE_PREFIX = ../..
 
-LIBS = \
-	$(LIBGUI_PREFIX)/libgui.a \
-	$(LIBDRAW_PREFIX)/libdraw.a \
-	$(LIBSOFTREND_PREFIX)/libsoftrend.a \
-	$(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a
-
-EXTRA_CFLAGS += \
-	-I$(LIBGUI_PREFIX) \
-	-I$(LIBDRAW_PREFIX) \
-	-I$(LIBSOFTREND_PREFIX)
+# TODO: Should be just "gui", rest is transitive dependencies.
+LIBS = gui draw softrend compress
 
 BINARY = viewer
Index: uspace/app/vlaunch/Makefile
===================================================================
--- uspace/app/vlaunch/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/vlaunch/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,14 +29,6 @@
 USPACE_PREFIX = ../..
 
-LIBS = \
-	$(LIBGUI_PREFIX)/libgui.a \
-	$(LIBDRAW_PREFIX)/libdraw.a \
-	$(LIBSOFTREND_PREFIX)/libsoftrend.a \
-	$(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a
-
-EXTRA_CFLAGS += \
-	-I$(LIBGUI_PREFIX) \
-	-I$(LIBDRAW_PREFIX) \
-	-I$(LIBSOFTREND_PREFIX)
+# TODO: Should be just "gui", rest is transitive dependencies.
+LIBS = gui draw softrend compress
 
 BINARY = vlaunch
Index: uspace/app/vterm/Makefile
===================================================================
--- uspace/app/vterm/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/vterm/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,16 +29,6 @@
 USPACE_PREFIX = ../..
 
-LIBS = \
-	$(LIBGUI_PREFIX)/libgui.a \
-	$(LIBDRAW_PREFIX)/libdraw.a \
-	$(LIBSOFTREND_PREFIX)/libsoftrend.a \
-	$(LIBGRAPH_PREFIX)/libgraph.a \
-	$(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a
-
-EXTRA_CFLAGS += \
-	-I$(LIBGUI_PREFIX) \
-	-I$(LIBDRAW_PREFIX) \
-	-I$(LIBSOFTREND_PREFIX) \
-	-I$(LIBGRAPH_PREFIX)
+# TODO: Should be just "gui graph", rest is transitive dependencies.
+LIBS = gui graph draw softrend compress
 
 BINARY = vterm
Index: uspace/app/vuhid/Makefile
===================================================================
--- uspace/app/vuhid/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/vuhid/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -32,17 +32,5 @@
 BINARY = vuh
 
-LIBS = \
-	$(LIBUSBVIRT_PREFIX)/libusbvirt.a \
-	$(LIBUSBHID_PREFIX)/libusbhid.a \
-	$(LIBUSBDEV_PREFIX)/libusbdev.a \
-	$(LIBUSB_PREFIX)/libusb.a \
-	$(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS = \
-	-I$(LIBUSB_PREFIX)/include \
-	-I$(LIBUSBDEV_PREFIX)/include \
-	-I$(LIBUSBHID_PREFIX)/include \
-	-I$(LIBUSBVIRT_PREFIX)/include \
-	-I$(LIBDRV_PREFIX)/include
-
+LIBS = usb usbdev usbhid usbvirt drv
 
 SOURCES_INTERFACES = \
Index: uspace/app/wavplay/Makefile
===================================================================
--- uspace/app/wavplay/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/wavplay/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -30,13 +30,5 @@
 BINARY = wavplay
 
-LIBS = \
-	$(LIBHOUND_PREFIX)/libhound.a \
-	$(LIBDRV_PREFIX)/libdrv.a \
-	$(LIBPCM_PREFIX)/libpcm.a
-
-EXTRA_CFLAGS = \
-	-I$(LIBDRV_PREFIX)/include \
-	-I$(LIBHOUND_PREFIX)/include \
-	-I$(LIBPCM_PREFIX)/include
+LIBS = drv hound pcm
 
 SOURCES = \
Index: uspace/app/wifi_supplicant/Makefile
===================================================================
--- uspace/app/wifi_supplicant/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/app/wifi_supplicant/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,6 +29,5 @@
 USPACE_PREFIX = ../..
 BINARY = wifi_supplicant
-EXTRA_CFLAGS = -I$(LIBDRV_PREFIX)/include
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
+LIBS = drv
 
 SOURCES = \
Index: uspace/drv/audio/hdaudio/Makefile
===================================================================
--- uspace/drv/audio/hdaudio/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/audio/hdaudio/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include -I$(LIBPCM_PREFIX)/include
+LIBS = drv pcm
 BINARY = hdaudio
 
Index: uspace/drv/audio/sb16/Makefile
===================================================================
--- uspace/drv/audio/sb16/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/audio/sb16/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,9 +29,5 @@
 USPACE_PREFIX = ../../..
 
-LIBS = \
-	$(LIBDRV_PREFIX)/libdrv.a
-
-EXTRA_CFLAGS += \
-	-I$(LIBDRV_PREFIX)/include -I$(LIBPCM_PREFIX)/include
+LIBS = drv pcm
 
 BINARY = sb16
Index: uspace/drv/block/ahci/Makefile
===================================================================
--- uspace/drv/block/ahci/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/block/ahci/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = ahci
 
Index: uspace/drv/block/ata_bd/Makefile
===================================================================
--- uspace/drv/block/ata_bd/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/block/ata_bd/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a $(LIBSCSI_PREFIX)/libscsi.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include -I$(LIBSCSI_PREFIX)/include
+LIBS = drv scsi
 BINARY = ata_bd
 
Index: uspace/drv/block/ddisk/Makefile
===================================================================
--- uspace/drv/block/ddisk/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/block/ddisk/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a $(LIBSCSI_PREFIX)/libscsi.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include -I$(LIBSCSI_PREFIX)/include
+LIBS = drv scsi
 BINARY = ddisk
 
Index: uspace/drv/bus/adb/cuda_adb/Makefile
===================================================================
--- uspace/drv/bus/adb/cuda_adb/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/bus/adb/cuda_adb/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = cuda_adb
 
Index: uspace/drv/bus/isa/Makefile
===================================================================
--- uspace/drv/bus/isa/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/bus/isa/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,6 +29,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = isa
 
Index: uspace/drv/bus/pci/pciintel/Makefile
===================================================================
--- uspace/drv/bus/pci/pciintel/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/bus/pci/pciintel/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = pciintel
 
Index: uspace/drv/bus/usb/ehci/Makefile
===================================================================
--- uspace/drv/bus/usb/ehci/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/bus/usb/ehci/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,16 +29,5 @@
 USPACE_PREFIX = ../../../..
 
-LIBS = \
-	$(LIBUSBHOST_PREFIX)/libusbhost.a \
-	$(LIBUSBVIRT_PREFIX)/libusbvirt.a \
-	$(LIBUSB_PREFIX)/libusb.a \
-	$(LIBDRV_PREFIX)/libdrv.a
-
-EXTRA_CFLAGS += \
-	-I$(LIBUSB_PREFIX)/include \
-	-I$(LIBUSBDEV_PREFIX)/include \
-	-I$(LIBUSBHOST_PREFIX)/include \
-	-I$(LIBUSBVIRT_PREFIX)/include \
-	-I$(LIBDRV_PREFIX)/include
+LIBS = usbhost usbvirt usb drv usbdev
 
 BINARY = ehci
Index: uspace/drv/bus/usb/ohci/Makefile
===================================================================
--- uspace/drv/bus/usb/ohci/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/bus/usb/ohci/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,16 +29,5 @@
 USPACE_PREFIX = ../../../..
 
-LIBS = \
-	$(LIBUSBHOST_PREFIX)/libusbhost.a \
-	$(LIBUSBVIRT_PREFIX)/libusbvirt.a \
-	$(LIBUSB_PREFIX)/libusb.a \
-	$(LIBDRV_PREFIX)/libdrv.a
-
-EXTRA_CFLAGS += \
-	-I$(LIBUSB_PREFIX)/include \
-	-I$(LIBUSBDEV_PREFIX)/include \
-	-I$(LIBUSBHOST_PREFIX)/include \
-	-I$(LIBUSBVIRT_PREFIX)/include \
-	-I$(LIBDRV_PREFIX)/include
+LIBS = usbhost usbvirt usb drv usbdev
 
 BINARY = ohci
Index: uspace/drv/bus/usb/uhci/Makefile
===================================================================
--- uspace/drv/bus/usb/uhci/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/bus/usb/uhci/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,16 +29,5 @@
 USPACE_PREFIX = ../../../..
 
-LIBS = \
-	$(LIBUSBHOST_PREFIX)/libusbhost.a \
-	$(LIBUSBVIRT_PREFIX)/libusbvirt.a \
-	$(LIBUSB_PREFIX)/libusb.a \
-	$(LIBDRV_PREFIX)/libdrv.a
-
-EXTRA_CFLAGS += \
-	-I$(LIBUSB_PREFIX)/include \
-	-I$(LIBUSBDEV_PREFIX)/include \
-	-I$(LIBUSBHOST_PREFIX)/include \
-	-I$(LIBUSBVIRT_PREFIX)/include \
-	-I$(LIBDRV_PREFIX)/include
+LIBS = usbhost usbvirt usb drv usbdev
 
 BINARY = uhci
Index: uspace/drv/bus/usb/usbflbk/Makefile
===================================================================
--- uspace/drv/bus/usb/usbflbk/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/bus/usb/usbflbk/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,13 +29,5 @@
 USPACE_PREFIX = ../../../..
 
-LIBS = \
-	$(LIBUSBDEV_PREFIX)/libusbdev.a \
-	$(LIBUSB_PREFIX)/libusb.a \
-	$(LIBDRV_PREFIX)/libdrv.a
-
-EXTRA_CFLAGS += \
-	-I$(LIBUSB_PREFIX)/include \
-	-I$(LIBUSBDEV_PREFIX)/include \
-	-I$(LIBDRV_PREFIX)/include
+LIBS = usbdev usb drv
 
 BINARY = usbflbk
Index: uspace/drv/bus/usb/usbhid/Makefile
===================================================================
--- uspace/drv/bus/usb/usbhid/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/bus/usb/usbhid/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,16 +29,7 @@
 USPACE_PREFIX = ../../../..
 
-LIBS = \
-	$(LIBUSBHID_PREFIX)/libusbhid.a \
-	$(LIBUSBDEV_PREFIX)/libusbdev.a \
-	$(LIBUSB_PREFIX)/libusb.a \
-	$(LIBDRV_PREFIX)/libdrv.a
+LIBS = usbhid usbdev usb drv
 
-EXTRA_CFLAGS += \
-	-I. \
-	-I$(LIBUSB_PREFIX)/include \
-	-I$(LIBUSBDEV_PREFIX)/include \
-	-I$(LIBUSBHID_PREFIX)/include \
-	-I$(LIBDRV_PREFIX)/include
+EXTRA_CFLAGS += -I.
 
 BINARY = usbhid
Index: uspace/drv/bus/usb/usbhub/Makefile
===================================================================
--- uspace/drv/bus/usb/usbhub/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/bus/usb/usbhub/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -30,13 +30,5 @@
 USPACE_PREFIX = ../../../..
 
-LIBS = \
-	$(LIBUSBDEV_PREFIX)/libusbdev.a \
-	$(LIBUSB_PREFIX)/libusb.a \
-	$(LIBDRV_PREFIX)/libdrv.a
-
-EXTRA_CFLAGS += \
-	-I$(LIBUSB_PREFIX)/include \
-	-I$(LIBUSBDEV_PREFIX)/include \
-	-I$(LIBDRV_PREFIX)/include
+LIBS = usbdev usb drv
 
 BINARY = usbhub
Index: uspace/drv/bus/usb/usbmast/Makefile
===================================================================
--- uspace/drv/bus/usb/usbmast/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/bus/usb/usbmast/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,15 +29,5 @@
 USPACE_PREFIX = ../../../..
 
-LIBS = \
-	$(LIBUSBDEV_PREFIX)/libusbdev.a \
-	$(LIBUSB_PREFIX)/libusb.a \
-	$(LIBDRV_PREFIX)/libdrv.a \
-	$(LIBSCSI_PREFIX)/libscsi.a
-
-EXTRA_CFLAGS += \
-	-I$(LIBUSB_PREFIX)/include \
-	-I$(LIBUSBDEV_PREFIX)/include \
-	-I$(LIBDRV_PREFIX)/include \
-	-I$(LIBSCSI_PREFIX)/include
+LIBS = usbdev usb drv scsi
 
 BINARY = usbmast
Index: uspace/drv/bus/usb/usbmid/Makefile
===================================================================
--- uspace/drv/bus/usb/usbmid/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/bus/usb/usbmid/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,13 +29,5 @@
 USPACE_PREFIX = ../../../..
 
-LIBS = \
-	$(LIBUSBDEV_PREFIX)/libusbdev.a \
-	$(LIBUSB_PREFIX)/libusb.a \
-	$(LIBDRV_PREFIX)/libdrv.a
-
-EXTRA_CFLAGS += \
-	-I$(LIBUSB_PREFIX)/include \
-	-I$(LIBUSBDEV_PREFIX)/include \
-	-I$(LIBDRV_PREFIX)/include
+LIBS = usbdev usb drv
 
 BINARY = usbmid
Index: uspace/drv/bus/usb/vhc/Makefile
===================================================================
--- uspace/drv/bus/usb/vhc/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/bus/usb/vhc/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,17 +29,6 @@
 USPACE_PREFIX = ../../../..
 
-LIBS = \
-	$(LIBUSBDEV_PREFIX)/libusbdev.a \
-	$(LIBUSBHOST_PREFIX)/libusbhost.a \
-	$(LIBUSBVIRT_PREFIX)/libusbvirt.a \
-	$(LIBUSB_PREFIX)/libusb.a \
-	$(LIBDRV_PREFIX)/libdrv.a
+LIBS = usbdev usbhost usbvirt usb drv
 
-EXTRA_CFLAGS += \
-	-I$(LIBUSBVIRT_PREFIX)/include \
-	-I$(LIBUSBDEV_PREFIX)/include \
-	-I$(LIBUSBHOST_PREFIX)/include \
-	-I$(LIBUSB_PREFIX)/include \
-	-I$(LIBDRV_PREFIX)/include
 BINARY = vhc
 
Index: uspace/drv/char/atkbd/Makefile
===================================================================
--- uspace/drv/char/atkbd/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/char/atkbd/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = atkbd
 
Index: uspace/drv/char/i8042/Makefile
===================================================================
--- uspace/drv/char/i8042/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/char/i8042/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,6 +29,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = i8042
 
Index: uspace/drv/char/ns8250/Makefile
===================================================================
--- uspace/drv/char/ns8250/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/char/ns8250/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = ns8250
 
Index: uspace/drv/char/pl050/Makefile
===================================================================
--- uspace/drv/char/pl050/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/char/pl050/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = pl050
 
Index: uspace/drv/char/ps2mouse/Makefile
===================================================================
--- uspace/drv/char/ps2mouse/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/char/ps2mouse/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = ps2mouse
 
Index: uspace/drv/char/xtkbd/Makefile
===================================================================
--- uspace/drv/char/xtkbd/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/char/xtkbd/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = xtkbd
 
Index: uspace/drv/fb/amdm37x_dispc/Makefile
===================================================================
--- uspace/drv/fb/amdm37x_dispc/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/fb/amdm37x_dispc/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -31,13 +31,5 @@
 USPACE_PREFIX = ../../..
 
-LIBS = \
-	$(LIBDRV_PREFIX)/libdrv.a \
-	$(LIBGRAPH_PREFIX)/libgraph.a \
-	$(LIBSOFTREND_PREFIX)/libsoftrend.a
-
-EXTRA_CFLAGS += \
-	-I$(LIBDRV_PREFIX)/include \
-	-I$(LIBGRAPH_PREFIX) \
-	-I$(LIBSOFTREND_PREFIX)
+LIBS = drv graph softrend
 
 BINARY = amdm37x_dispc
Index: uspace/drv/fb/kfb/Makefile
===================================================================
--- uspace/drv/fb/kfb/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/fb/kfb/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -30,6 +30,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a $(LIBGRAPH_PREFIX)/libgraph.a $(LIBSOFTREND_PREFIX)/libsoftrend.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include -I$(LIBGRAPH_PREFIX) -I$(LIBSOFTREND_PREFIX)
+LIBS = drv graph softrend
 BINARY = kfb
 
Index: uspace/drv/intctl/apic/Makefile
===================================================================
--- uspace/drv/intctl/apic/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/intctl/apic/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = apic
 
Index: uspace/drv/intctl/i8259/Makefile
===================================================================
--- uspace/drv/intctl/i8259/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/intctl/i8259/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = i8259
 
Index: uspace/drv/intctl/icp-ic/Makefile
===================================================================
--- uspace/drv/intctl/icp-ic/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/intctl/icp-ic/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = icp-ic
 
Index: uspace/drv/intctl/obio/Makefile
===================================================================
--- uspace/drv/intctl/obio/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/intctl/obio/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,6 +29,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = obio
 
Index: uspace/drv/nic/ar9271/Makefile
===================================================================
--- uspace/drv/nic/ar9271/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/nic/ar9271/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,20 +29,7 @@
 USPACE_PREFIX = ../../..
 
-LIBS = \
-	$(LIBUSBDEV_PREFIX)/libusbdev.a \
-	$(LIBUSB_PREFIX)/libusb.a \
-	$(LIBDRV_PREFIX)/libdrv.a \
-	$(LIBNIC_PREFIX)/libnic.a \
-	$(LIBIEEE80211_PREFIX)/libieee80211.a \
-	$(LIBCRYPTO_PREFIX)/libcrypto.a
+LIBS = usbdev usb drv nic ieee80211 crypto
 
-EXTRA_CFLAGS += \
-	-I. \
-	-I$(LIBUSB_PREFIX)/include \
-	-I$(LIBUSBDEV_PREFIX)/include \
-	-I$(LIBDRV_PREFIX)/include \
-	-I$(LIBNIC_PREFIX)/include \
-	-I$(LIBIEEE80211_PREFIX)/include \
-	-I$(LIBCRYPTO_PREFIX)
+EXTRA_CFLAGS += -I.
 
 BINARY = ar9271
Index: uspace/drv/nic/e1k/Makefile
===================================================================
--- uspace/drv/nic/e1k/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/nic/e1k/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a $(LIBNIC_PREFIX)/libnic.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include -I$(LIBNIC_PREFIX)/include
+LIBS = drv nic
 BINARY = e1k
 
Index: uspace/drv/nic/ne2k/Makefile
===================================================================
--- uspace/drv/nic/ne2k/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/nic/ne2k/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a $(LIBNIC_PREFIX)/libnic.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include -I$(LIBNIC_PREFIX)/include
+LIBS = drv nic
 BINARY = ne2k
 
Index: uspace/drv/nic/rtl8139/Makefile
===================================================================
--- uspace/drv/nic/rtl8139/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/nic/rtl8139/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a $(LIBNIC_PREFIX)/libnic.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include -I$(LIBNIC_PREFIX)/include
+LIBS = drv nic
 BINARY = rtl8139
 
Index: uspace/drv/nic/rtl8169/Makefile
===================================================================
--- uspace/drv/nic/rtl8169/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/nic/rtl8169/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,6 +29,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a $(LIBNIC_PREFIX)/libnic.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include -I$(LIBNIC_PREFIX)/include
+LIBS = drv nic
 BINARY = rtl8169
 
Index: uspace/drv/platform/amdm37x/Makefile
===================================================================
--- uspace/drv/platform/amdm37x/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/platform/amdm37x/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = amdm37x
 
Index: uspace/drv/platform/icp/Makefile
===================================================================
--- uspace/drv/platform/icp/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/platform/icp/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = icp
 
Index: uspace/drv/platform/mac/Makefile
===================================================================
--- uspace/drv/platform/mac/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/platform/mac/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = mac
 
Index: uspace/drv/platform/malta/Makefile
===================================================================
--- uspace/drv/platform/malta/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/platform/malta/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = malta
 
Index: uspace/drv/platform/msim/Makefile
===================================================================
--- uspace/drv/platform/msim/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/platform/msim/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = msim
 
Index: uspace/drv/platform/pc/Makefile
===================================================================
--- uspace/drv/platform/pc/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/platform/pc/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = pc
 
Index: uspace/drv/platform/sun4u/Makefile
===================================================================
--- uspace/drv/platform/sun4u/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/platform/sun4u/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = sun4u
 
Index: uspace/drv/root/root/Makefile
===================================================================
--- uspace/drv/root/root/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/root/root/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = root
 
Index: uspace/drv/root/virt/Makefile
===================================================================
--- uspace/drv/root/virt/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/root/virt/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = virt
 
Index: uspace/drv/test/test1/Makefile
===================================================================
--- uspace/drv/test/test1/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/test/test1/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = test1
 
Index: uspace/drv/test/test2/Makefile
===================================================================
--- uspace/drv/test/test2/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/test/test2/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = test2
 
Index: uspace/drv/test/test3/Makefile
===================================================================
--- uspace/drv/test/test3/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/test/test3/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = test3
 
Index: uspace/drv/time/cmos-rtc/Makefile
===================================================================
--- uspace/drv/time/cmos-rtc/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/drv/time/cmos-rtc/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = cmos-rtc
 
Index: uspace/lib/bithenge/Makefile
===================================================================
--- uspace/lib/bithenge/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/lib/bithenge/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,5 +29,6 @@
 USPACE_PREFIX = ../..
 LIBRARY = libbithenge
-EXTRA_CFLAGS = -I$(LIBBLOCK_PREFIX) -D__HELENOS__ -Iinclude
+EXTRA_CFLAGS = -D__HELENOS__
+LIBS = block
 
 SOURCES = \
Index: uspace/lib/clui/Makefile
===================================================================
--- uspace/lib/clui/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/lib/clui/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,5 +28,4 @@
 
 USPACE_PREFIX = ../..
-EXTRA_CFLAGS = -I.
 LIBRARY = libclui
 
Index: uspace/lib/draw/Makefile
===================================================================
--- uspace/lib/draw/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/lib/draw/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,5 +29,5 @@
 USPACE_PREFIX = ../..
 LIBRARY = libdraw
-EXTRA_CFLAGS += -I$(LIBSOFTREND_PREFIX) -I$(LIBCOMPRESS_PREFIX)
+LIBS = softrend compress
 
 SOURCES = \
Index: uspace/lib/drv/Makefile
===================================================================
--- uspace/lib/drv/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/lib/drv/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,9 +29,7 @@
 
 USPACE_PREFIX = ../..
-EXTRA_CFLAGS = \
-	-Iinclude \
-	-Igeneric/private \
-	-I$(LIBPCM_PREFIX)/include
+EXTRA_CFLAGS = -Igeneric/private
 LIBRARY = libdrv
+LIBS = pcm
 
 SOURCES = \
Index: uspace/lib/ext4/Makefile
===================================================================
--- uspace/lib/ext4/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/lib/ext4/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,9 +29,5 @@
 USPACE_PREFIX = ../..
 LIBRARY = libext4
-EXTRA_CFLAGS = \
-    -I$(LIBBLOCK_PREFIX) \
-    -I$(LIBCRYPTO_PREFIX) \
-    -I$(LIBFS_PREFIX) \
-    -Iinclude
+LIBS = block crypto fs
 
 SOURCES = \
Index: uspace/lib/fdisk/Makefile
===================================================================
--- uspace/lib/fdisk/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/lib/fdisk/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,5 +28,4 @@
 
 USPACE_PREFIX = ../..
-EXTRA_CFLAGS = -Iinclude
 
 LIBRARY = libfdisk
Index: uspace/lib/fmtutil/Makefile
===================================================================
--- uspace/lib/fmtutil/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/lib/fmtutil/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,5 +28,4 @@
 
 USPACE_PREFIX = ../..
-EXTRA_CFLAGS = -I.
 LIBRARY = libfmtutil
 
Index: uspace/lib/gui/Makefile
===================================================================
--- uspace/lib/gui/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/lib/gui/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,5 +29,5 @@
 USPACE_PREFIX = ../..
 LIBRARY = libgui
-EXTRA_CFLAGS += -I$(LIBDRAW_PREFIX) -I$(LIBSOFTREND_PREFIX) -I$(LIBGRAPH_PREFIX)
+LIBS = draw softrend graph
 
 SOURCES = \
Index: uspace/lib/hound/Makefile
===================================================================
--- uspace/lib/hound/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/lib/hound/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,7 @@
 
 USPACE_PREFIX = ../..
-EXTRA_CFLAGS = -Iinclude/hound -Iinclude -I$(LIBPCM_PREFIX)/include
+EXTRA_CFLAGS = -Iinclude/hound
 LIBRARY = libhound
+LIBS = pcm
 
 SOURCES = \
Index: uspace/lib/ieee80211/Makefile
===================================================================
--- uspace/lib/ieee80211/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/lib/ieee80211/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,10 +29,5 @@
 USPACE_PREFIX = ../..
 LIBRARY = libieee80211
-
-EXTRA_CFLAGS += \
-	-Iinclude \
-	-I$(LIBDRV_PREFIX)/include \
-	-I$(LIBNIC_PREFIX)/include \
-	-I$(LIBCRYPTO_PREFIX)
+LIBS = drv nic crypto
 
 SOURCES = \
Index: uspace/lib/label/Makefile
===================================================================
--- uspace/lib/label/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/lib/label/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,5 +28,4 @@
 
 USPACE_PREFIX = ../..
-EXTRA_CFLAGS = -Iinclude
 
 LIBRARY = liblabel
Index: uspace/lib/minix/Makefile
===================================================================
--- uspace/lib/minix/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
+++ uspace/lib/minix/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -0,0 +1,36 @@
+#
+# Copyright (c) 2017 CZ.NIC, z.s.p.o.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+# - Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in the
+#   documentation and/or other materials provided with the distribution.
+# - The name of the author may not be used to endorse or promote products
+#   derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+USPACE_PREFIX = ../..
+LIBRARY = libminix
+
+SOURCES = \
+	minix.c
+
+include $(USPACE_PREFIX)/Makefile.common
+
Index: uspace/lib/minix/minix.c
===================================================================
--- uspace/lib/minix/minix.c	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
+++ uspace/lib/minix/minix.c	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -0,0 +1,1 @@
+// Just an empty file to keep the build system happy.
Index: uspace/lib/nettl/Makefile
===================================================================
--- uspace/lib/nettl/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/lib/nettl/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,5 +28,4 @@
 
 USPACE_PREFIX = ../..
-EXTRA_CFLAGS = -Iinclude
 LIBRARY = libnettl
 
Index: uspace/lib/nic/Makefile
===================================================================
--- uspace/lib/nic/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/lib/nic/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,5 +29,6 @@
 USPACE_PREFIX = ../..
 LIBRARY = libnic
-EXTRA_CFLAGS += -DLIBNIC_INTERNAL -Iinclude -I$(LIBDRV_PREFIX)/include
+EXTRA_CFLAGS += -DLIBNIC_INTERNAL
+LIBS = drv
 
 SOURCES = \
Index: uspace/lib/pcm/Makefile
===================================================================
--- uspace/lib/pcm/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/lib/pcm/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,5 +28,5 @@
 
 USPACE_PREFIX = ../..
-EXTRA_CFLAGS = -Iinclude/pcm -Iinclude
+EXTRA_CFLAGS = -Iinclude/pcm
 LIBRARY = libpcm
 
Index: uspace/lib/pcut/helenos.mak
===================================================================
--- uspace/lib/pcut/helenos.mak	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/lib/pcut/helenos.mak	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -37,4 +37,5 @@
 	src/report/xml.c \
 	src/run.c
-EXTRA_CFLAGS = -D__helenos__ -Iinclude
+
+EXTRA_CFLAGS = -D__helenos__
 LIBRARY = libpcut
Index: uspace/lib/scsi/Makefile
===================================================================
--- uspace/lib/scsi/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/lib/scsi/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,5 +28,4 @@
 
 USPACE_PREFIX = ../..
-EXTRA_CFLAGS = -Iinclude
 LIBRARY = libscsi
 
Index: uspace/lib/usb/Makefile
===================================================================
--- uspace/lib/usb/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/lib/usb/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,7 +29,5 @@
 USPACE_PREFIX = ../..
 LIBRARY = libusb
-EXTRA_CFLAGS += \
-	-I$(LIBDRV_PREFIX)/include \
-	-Iinclude
+LIBS = drv
 
 SOURCES = \
Index: uspace/lib/usbdev/Makefile
===================================================================
--- uspace/lib/usbdev/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/lib/usbdev/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,8 +29,5 @@
 USPACE_PREFIX = ../..
 LIBRARY = libusbdev
-EXTRA_CFLAGS += \
-	-I$(LIBUSB_PREFIX)/include \
-	-I$(LIBDRV_PREFIX)/include \
-	-Iinclude
+LIBS = usb drv
 
 SOURCES = \
Index: uspace/lib/usbhid/Makefile
===================================================================
--- uspace/lib/usbhid/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/lib/usbhid/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,9 +29,5 @@
 USPACE_PREFIX = ../..
 LIBRARY = libusbhid
-EXTRA_CFLAGS += \
-	-I$(LIBUSB_PREFIX)/include \
-	-I$(LIBUSBDEV_PREFIX)/include \
-	-I$(LIBDRV_PREFIX)/include \
-	-Iinclude
+LIBS = usb usbdev drv
 
 SOURCES = \
Index: uspace/lib/usbhost/Makefile
===================================================================
--- uspace/lib/usbhost/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/lib/usbhost/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -30,8 +30,6 @@
 LIBRARY = libusbhost
 EXTRA_CFLAGS += \
-	-I$(LIBUSB_PREFIX)/include \
-	-I$(LIBDRV_PREFIX)/include \
-	-Iinclude/usb/host \
-	-Iinclude
+	-Iinclude/usb/host
+LIBS = usb drv
 
 SOURCES = \
Index: uspace/lib/usbvirt/Makefile
===================================================================
--- uspace/lib/usbvirt/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/lib/usbvirt/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,11 +29,7 @@
 USPACE_PREFIX = ../..
 LIBRARY = libusbvirt
-
 EXTRA_CFLAGS = \
-	-I$(LIBDRV_PREFIX)/include \
-	-I$(LIBUSB_PREFIX)/include \
-	-I$(LIBUSBDEV_PREFIX)/include \
-	-Iinclude \
 	-Iinclude/usbvirt
+LIBS = drv usb usbdev
 
 SOURCES = \
Index: uspace/srv/audio/hound/Makefile
===================================================================
--- uspace/srv/audio/hound/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/srv/audio/hound/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -30,14 +30,7 @@
 BINARY = hound
 
-EXTRA_CFLAGS = \
-	-DNAME="\"hound\"" \
-	-I$(LIBDRV_PREFIX)/include \
-	-I$(LIBHOUND_PREFIX)/include \
-	-I$(LIBPCM_PREFIX)/include
+EXTRA_CFLAGS = -DNAME="\"hound\""
 
-LIBS = \
-	$(LIBDRV_PREFIX)/libdrv.a \
-	$(LIBHOUND_PREFIX)/libhound.a \
-	$(LIBPCM_PREFIX)/libpcm.a
+LIBS = drv hound pcm
 
 SOURCES = \
Index: uspace/srv/bd/sata_bd/Makefile
===================================================================
--- uspace/srv/bd/sata_bd/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/srv/bd/sata_bd/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,6 +29,5 @@
 USPACE_PREFIX = ../../..
 BINARY = sata_bd
-EXTRA_CFLAGS = -I$(LIBDRV_PREFIX)/include
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
+LIBS = drv
 
 SOURCES = \
Index: uspace/srv/bd/vbd/Makefile
===================================================================
--- uspace/srv/bd/vbd/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/srv/bd/vbd/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,11 +29,5 @@
 USPACE_PREFIX = ../../..
 
-LIBS = \
-	$(LIBLABEL_PREFIX)/liblabel.a \
-	$(LIBBLOCK_PREFIX)/libblock.a
-
-EXTRA_CFLAGS = \
-	-I$(LIBLABEL_PREFIX)/include \
-	-I$(LIBBLOCK_PREFIX)
+LIBS = label block
 
 BINARY = vbd
Index: uspace/srv/fs/cdfs/Makefile
===================================================================
--- uspace/srv/fs/cdfs/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/srv/fs/cdfs/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,7 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBBLOCK_PREFIX)/libblock.a $(LIBFS_PREFIX)/libfs.a
-EXTRA_CFLAGS += -I$(LIBBLOCK_PREFIX) -I$(LIBFS_PREFIX) \
-    -I$(LIBSCSI_PREFIX)/include
+LIBS = block fs scsi
 BINARY = cdfs
 
Index: uspace/srv/fs/exfat/Makefile
===================================================================
--- uspace/srv/fs/exfat/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/srv/fs/exfat/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,6 +29,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBBLOCK_PREFIX)/libblock.a $(LIBFS_PREFIX)/libfs.a
-EXTRA_CFLAGS += -I$(LIBBLOCK_PREFIX) -I$(LIBFS_PREFIX)
+LIBS = block fs
 BINARY = exfat
 
Index: uspace/srv/fs/ext4fs/Makefile
===================================================================
--- uspace/srv/fs/ext4fs/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/srv/fs/ext4fs/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,11 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = \
-    $(LIBEXT4_PREFIX)/libext4.a \
-    $(LIBBLOCK_PREFIX)/libblock.a \
-    $(LIBFS_PREFIX)/libfs.a \
-    $(LIBCRYPTO_PREFIX)/libcrypto.a
-
-EXTRA_CFLAGS += -I$(LIBBLOCK_PREFIX) -I$(LIBFS_PREFIX) -I$(LIBEXT4_PREFIX)/include -I$(LIBCRYPTO_PREFIX)
+LIBS = ext4 block fs crypto
 BINARY = ext4fs
 STATIC_NEEDED = y
Index: uspace/srv/fs/fat/Makefile
===================================================================
--- uspace/srv/fs/fat/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/srv/fs/fat/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,6 +29,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBBLOCK_PREFIX)/libblock.a $(LIBFS_PREFIX)/libfs.a
-EXTRA_CFLAGS += -I$(LIBBLOCK_PREFIX) -I$(LIBFS_PREFIX)
+LIBS = block fs
 BINARY = fat
 STATIC_NEEDED = y
Index: uspace/srv/fs/locfs/Makefile
===================================================================
--- uspace/srv/fs/locfs/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/srv/fs/locfs/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,6 +29,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBFS_PREFIX)/libfs.a
-EXTRA_CFLAGS += -I$(LIBFS_PREFIX)
+LIBS = fs
 BINARY = locfs
 
Index: uspace/srv/fs/mfs/Makefile
===================================================================
--- uspace/srv/fs/mfs/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/srv/fs/mfs/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,6 +29,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBBLOCK_PREFIX)/libblock.a $(LIBFS_PREFIX)/libfs.a
-EXTRA_CFLAGS += -I$(LIBBLOCK_PREFIX) -I$(LIBFS_PREFIX) -I$(LIBMINIX_PREFIX)
+LIBS = block fs minix
 BINARY = mfs
 
Index: uspace/srv/fs/tmpfs/Makefile
===================================================================
--- uspace/srv/fs/tmpfs/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/srv/fs/tmpfs/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,6 +29,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBBLOCK_PREFIX)/libblock.a $(LIBFS_PREFIX)/libfs.a
-EXTRA_CFLAGS += -I$(LIBBLOCK_PREFIX) -I$(LIBFS_PREFIX)
+LIBS = block fs
 BINARY = tmpfs
 STATIC_NEEDED = y
Index: uspace/srv/fs/udf/Makefile
===================================================================
--- uspace/srv/fs/udf/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/srv/fs/udf/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -30,6 +30,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBBLOCK_PREFIX)/libblock.a $(LIBFS_PREFIX)/libfs.a
-EXTRA_CFLAGS += -I$(LIBBLOCK_PREFIX) -I$(LIBFS_PREFIX)
+LIBS = block fs
 BINARY = udf
 
Index: uspace/srv/hid/compositor/Makefile
===================================================================
--- uspace/srv/hid/compositor/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/srv/hid/compositor/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,14 +29,5 @@
 USPACE_PREFIX = ../../..
 
-LIBS = \
-	$(LIBDRAW_PREFIX)/libdraw.a \
-	$(LIBSOFTREND_PREFIX)/libsoftrend.a \
-	$(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a \
-	$(LIBDRV_PREFIX)/libdrv.a
-
-EXTRA_CFLAGS += \
-	-I$(LIBDRAW_PREFIX) \
-	-I$(LIBSOFTREND_PREFIX) \
-	-I$(LIBDRV_PREFIX)/include
+LIBS = draw softrend drv compress
 
 BINARY = compositor
Index: uspace/srv/hid/input/Makefile
===================================================================
--- uspace/srv/hid/input/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/srv/hid/input/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -30,6 +30,5 @@
 USPACE_PREFIX = ../../..
 BINARY = input
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS = -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 
 SOURCES = \
Index: uspace/srv/hid/isdv4_tablet/Makefile
===================================================================
--- uspace/srv/hid/isdv4_tablet/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/srv/hid/isdv4_tablet/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS = -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 BINARY = isdv4_tablet
 
Index: uspace/srv/hid/output/Makefile
===================================================================
--- uspace/srv/hid/output/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/srv/hid/output/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -30,6 +30,5 @@
 USPACE_PREFIX = ../../..
 BINARY = output
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS = -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 
 SOURCES = \
Index: uspace/srv/hid/rfb/Makefile
===================================================================
--- uspace/srv/hid/rfb/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/srv/hid/rfb/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -28,6 +28,5 @@
 
 USPACE_PREFIX = ../../..
-LIBS = $(LIBGRAPH_PREFIX)/libgraph.a
-EXTRA_CFLAGS = -I$(LIBGRAPH_PREFIX)
+LIBS = graph
 BINARY = rfb
 
Index: uspace/srv/net/ethip/Makefile
===================================================================
--- uspace/srv/net/ethip/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/srv/net/ethip/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,6 +29,5 @@
 USPACE_PREFIX = ../../..
 BINARY = ethip
-EXTRA_CFLAGS = -I$(LIBDRV_PREFIX)/include
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
+LIBS = drv
 
 SOURCES = \
Index: uspace/srv/net/slip/Makefile
===================================================================
--- uspace/srv/net/slip/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/srv/net/slip/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,6 +29,5 @@
 USPACE_PREFIX = ../../..
 BINARY = slip
-LIBS = $(LIBDRV_PREFIX)/libdrv.a
-EXTRA_CFLAGS = -I$(LIBDRV_PREFIX)/include
+LIBS = drv
 SOURCES = \
 	slip.c
Index: uspace/srv/net/tcp/Makefile
===================================================================
--- uspace/srv/net/tcp/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/srv/net/tcp/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,9 +29,5 @@
 USPACE_PREFIX = ../../..
 
-LIBS = \
-	$(LIBNETTL_PREFIX)/libnettl.a
-
-EXTRA_CFLAGS += \
-	-I$(LIBNETTL_PREFIX)/include
+LIBS = nettl
 
 BINARY = tcp
Index: uspace/srv/net/udp/Makefile
===================================================================
--- uspace/srv/net/udp/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/srv/net/udp/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,9 +29,5 @@
 USPACE_PREFIX = ../../..
 
-LIBS = \
-	$(LIBNETTL_PREFIX)/libnettl.a
-
-EXTRA_CFLAGS += \
-	-I$(LIBNETTL_PREFIX)/include
+LIBS = nettl
 
 BINARY = udp
Index: uspace/srv/volsrv/Makefile
===================================================================
--- uspace/srv/volsrv/Makefile	(revision c631734dadf94732aebdff5d84a80b87e470fee1)
+++ uspace/srv/volsrv/Makefile	(revision cecba66ea48d60cfa59865e98aeda663808e42c7)
@@ -29,11 +29,5 @@
 USPACE_PREFIX = ../..
 
-LIBS = \
-	$(LIBLABEL_PREFIX)/liblabel.a \
-	$(LIBBLOCK_PREFIX)/libblock.a
-
-EXTRA_CFLAGS = \
-	-I$(LIBLABEL_PREFIX)/include \
-	-I$(LIBBLOCK_PREFIX)
+LIBS = label block
 
 BINARY = volsrv
