diff --git a/com.oracle.truffle.r.test.native/urand/src/Makefile b/com.oracle.truffle.r.test.native/urand/src/Makefile
index 35f613ac7a9c2a7083db07f0a5f31751afda41e5..eba89f45eaf163e5c56bdf1b6b443c4dd414ee4f 100644
--- a/com.oracle.truffle.r.test.native/urand/src/Makefile
+++ b/com.oracle.truffle.r.test.native/urand/src/Makefile
@@ -37,14 +37,16 @@ endif
 
 INCLUDE_DIR := $(subst test.native,native,$(TOPDIR))/include
 
-all: mkbin $(C_OBJECTS)
+all: $(C_LIB)
+
+$(C_LIB): $(BIN) $(C_OBJECTS)
 ifneq ($(shell uname), Darwin)
 	gcc -fPIC -shared -o $(C_LIB) $(C_OBJECTS)
 else
 	gcc -dynamiclib -undefined dynamic_lookup -o $(C_LIB) $(C_OBJECTS)
 endif
 
-mkbin:
+$(BIN):
 	mkdir -p $(BIN)
 
 $(BIN)/%.o: %.c