The suffixed "; cd" pipeline causes each recipe to completely ignore the
exit status of its recursive make invocation, which is bad.

(There's really no need to explicitly change back to the parent
directory anyway, since make executes recipes in subshells).

Index: Makefile.base
===================================================================
--- Makefile.base.orig
+++ Makefile.base
@@ -1,13 +1,13 @@
 
 lparse :
-	cd src ; make ; cd ..
+	cd src && $(MAKE)
 
 check :
-	cd test; make; cd ..
+	cd test && $(MAKE)
 
 clean :
-	cd src; make clean; cd ..
-	cd test; make clean; cd ..
+	cd src && $(MAKE) clean
+	cd test && $(MAKE) clean
 
 install : lparse
 	cp src/lparse $(INSTALLATION_PATH)/
