diff --git a/makefile b/makefile
index 897b5233cecd1180de035b004dec014e9feb67b2..b6911759d850987dfdb2ec0bdc79febbde0a8c92 100644
--- a/makefile
+++ b/makefile
@@ -109,7 +109,7 @@ all:
 # -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 # standalone main targets
 
-test-unit-debug test-release-debug:
+test-unit-debug test-unit-release:
 	for dir in $(SUBDIRS_LIBS); do \
 		$(MAKE) $@ -C $$dir || exit 1; \
 	done
@@ -119,11 +119,20 @@ build-test-debug build-test-release:
 		$(MAKE) $@ -C $$dir || exit 1; \
 	done
 
-build-code-debug build-code-release:
-	for dir in $(SUBDIRS_LIBS) $(SUBDIRS_BINS); do \
-		$(MAKE) $@ -C $$dir || exit 1; \
+build-libs-debug build-libs-release:
+	for dir in $(SUBDIRS_LIBS); do \
+		$(MAKE) $(subst libs,code,$@) -C $$dir || exit 1; \
 	done
 
+build-bins-debug build-bins-release:
+	for dir in $(SUBDIRS_BINS); do \
+		$(MAKE) $(subst bins,code,$@) -C $$dir || exit 1; \
+	done
+
+build-code-debug build-code-release:
+	$(MAKE) $(subst code,libs,$@); \
+	$(MAKE) $(subst code,bins,$@);
+
 test-debug:
 	for test in $(wildcard tests.*.sh); do \
 		./$$test debug $(JOBS); \
@@ -162,19 +171,8 @@ install-release:
 	cp translateAddresses $(addsuffix -release, $(BINFOLDER)); \
 	cp xmlFormat $(addsuffix -release, $(BINFOLDER))
 
-debug:
-	for dir in $(SUBDIRS_LIBS); do \
-		$(MAKE) $@ -C $$dir || exit 1; \
-	done
-	for dir in $(SUBDIRS_BINS); do \
-		$(MAKE) $@ -C $$dir || exit 1; \
-	done
-
-release:
-	for dir in $(SUBDIRS_LIBS); do \
-		$(MAKE) $@ -C $$dir || exit 1; \
-	done
-	for dir in $(SUBDIRS_BINS); do \
+debug release:
+	for dir in $(SUBDIRS_LIBS) $(SUBDIRS_BINS); do \
 		$(MAKE) $@ -C $$dir || exit 1; \
 	done