-TARGET=btree
-CFLAGS="-Wall"
+TARGETS=btree btree_variable libbtree.a
+CXXFLAGS=-Wall -g
+
+BTREE_COMMON=btree.o clave_fija.o btree_data.o clave_variable.o
+
+all: $(TARGETS)
+
+btree: main.o $(BTREE_COMMON)
+ g++ -o btree main.o $(BTREE_COMMON)
+
+btree_variable: main_variable.o $(BTREE_COMMON)
+ g++ -o btree_variable main_variable.o $(BTREE_COMMON)
+
+libbtree.a: $(BTREE_COMMON)
+ $(AR) cru libbtree.a $(BTREE_COMMON)
+
+clean:
+ rm -rf *.o $(TARGETS)
-all: $(TARGET)
-$(TARGET): main.o btree.o