-COMMANDS=create.o bootblock.o delete.o extract.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 -Wall
+CXXFLAGS ?=-DCOMPACT $(CFLAGS)
+LDFLAGS ?= -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))