diff --git a/Makefile b/Makefile
index 463d07f..7e31f3c 100644
--- a/Makefile
+++ b/Makefile
@@ -7,6 +7,11 @@ TAG=HEAD
 
 all:
 	make -C lib
+	make -C examples
+
+clean:
+	make -C lib clean
+	make -C examples clean
 
 docs:
 	doxygen docs/docs.conf
diff --git a/examples/Makefile b/examples/Makefile
new file mode 100644
index 0000000..654a0da
--- /dev/null
+++ b/examples/Makefile
@@ -0,0 +1,10 @@
+DIRS=	bulkloop eeprom i2c lights reset serial timers
+     
+.PHONY: dirs $(DIRS) clean
+     
+dirs: $(DIRS)
+clean: $(DIRS)
+     
+$(DIRS):
+	$(MAKE) -C $@ $(MAKECMDGOALS)
+
diff --git a/examples/eeprom/Makefile b/examples/eeprom/Makefile
new file mode 100644
index 0000000..0830aa9
--- /dev/null
+++ b/examples/eeprom/Makefile
@@ -0,0 +1,10 @@
+DIRS=	firmware
+     
+.PHONY: dirs $(DIRS) clean
+     
+dirs: $(DIRS)
+clean: $(DIRS)
+     
+$(DIRS):
+	$(MAKE) -C $@ $(MAKECMDGOALS)
+
diff --git a/lib/fx2.mk b/lib/fx2.mk
index 26e7672..40a443c 100644
--- a/lib/fx2.mk
+++ b/lib/fx2.mk
@@ -62,15 +62,15 @@ CC = sdcc -mmcs51 \
 	$(INT2JT)
 
 
-.PHONY: ihx iic bix load clean clean-all
-
+.PHONY: all ihx iic bix load clean clean-all
 
+all: ihx
 ihx: $(BUILDDIR)/$(BASENAME).ihx
 bix: $(BUILDDIR)/$(BASENAME).bix
 iic: $(BUILDDIR)/$(BASENAME).iic
 
 $(FX2LIBDIR)/lib/fx2.lib: $(FX2LIBDIR)/lib/*.c $(FX2LIBDIR)/lib/*.a51
-	make -C $(FX2LIBDIR)/lib
+	$(MAKE) -C $(FX2LIBDIR)/lib
 
 $(BUILDDIR):
 	mkdir -p $(BUILDDIR)
@@ -99,5 +99,5 @@ clean:
 	rm -f $(BUILDDIR)/*.{asm,ihx,lnk,lst,map,mem,rel,rst,sym,adb,cdb,bix}
 
 clean-all: clean
-	make -C $(FX2LIBDIR)/lib clean
+	$(MAKE) -C $(FX2LIBDIR)/lib clean
 
