-COMMANDS=create.o bootblock.o delete.o add.o print.o resize.o
-OBJ=$(COMMANDS) cbfstool.o util.o fs.o
-INC=cbfstool.h cbfs.h
+HOSTCXX ?= g++
+HOSTCC ?= gcc
+CFLAGS ?= -g
+
+
+BINARY:=$(obj)/cbfstool
+
+COMMON:=common.o compress.o minilzma.o
+COMMON+=LZMAEncoder.o LZInWindow.o
+COMMON+=RangeCoderBit.o StreamUtils.o
+COMMON+=OutBuffer.o Alloc.o CRC.o
+COMMON+=cbfs-mkstage.o cbfs-mkpayload.o cbfstool.o
+
+COMMON:=$(addprefix $(obj)/,$(COMMON))
+
+$(obj)/%.o: %.c
+ $(HOSTCC) $(CFLAGS) -c -o $@ $<