diff --git a/GMLMIP-0.1/makefile b/GMLMIP-0.1/makefile
index 1d1263ec89d6d184683061c12c4f993f78f58039..28c7da0652adb2d3d9470b1d54f3ef27baf969c6 100644
--- a/GMLMIP-0.1/makefile
+++ b/GMLMIP-0.1/makefile
@@ -20,10 +20,10 @@ rules:
 	make -C rules
 
 main: main.o $(POBJS) $(FOBJS) $(ROBJS)
-	$(GCC) $(GCCFLAGS) $(POBJS) $(FOBJS) $(ROBJS) -lbdd -lm -lglpk main.o -o main
+	$(GCC) $(GCCFLAGS) $(POBJS) $(FOBJS) $(ROBJS) -lbdd -lm -lglpk $< -o $@
 
 main.o: main.cpp ./parser/mlf-driver.h ./formulas/formula.h ./formulas/satisfyingassignment.h $(SUBDIRS)
-	$(GCC) $(GCCFLAGS) -c main.cpp
+	$(GCC) $(GCCFLAGS) -c $< -o $@
 
 clean:
 	rm -rf *.o main