diff --git a/acat/makefile b/acat/makefile
index 96ad4cb446cb47b648699e7bb2e69b5b9e001057..da9eb0476543fc22562f8849bd4e3128c5ebbd32 100644
--- a/acat/makefile
+++ b/acat/makefile
@@ -1,7 +1,7 @@
 CC=g++
 EXECUTIBLE=acat
 CCFLAGS= -std=c++11 -O2 -c -Wall -I../alib/src 
-LDFLAGS= -L ../alib/bin -lxml2 -lalib
+LDFLAGS= -L../alib/lib -lxml2 -lalib
 
 SOURCES=$(shell find src/ -name *cpp)
 OBJECTS=$(patsubst src/%.cpp, obj/%.o, $(SOURCES))
diff --git a/aconvert.dot/makefile b/aconvert.dot/makefile
index a2e1c7e6f56909ca1dc58a309125a2a24c79221b..049a23768cbf83376f836898f1d1b90554e72fb1 100644
--- a/aconvert.dot/makefile
+++ b/aconvert.dot/makefile
@@ -1,7 +1,7 @@
 CC=g++
 EXECUTIBLE=aconvert.dot
 CCFLAGS= -std=c++11 -O2 -c -Wall -I../alib/src 
-LDFLAGS= -L ../alib/bin -lxml2 -lalib
+LDFLAGS= -L../alib/lib -lxml2 -lalib
 
 SOURCES=$(shell find src/ -name *cpp)
 OBJECTS=$(patsubst src/%.cpp, obj/%.o, $(SOURCES))
diff --git a/aconvert.gastex/makefile b/aconvert.gastex/makefile
index 46efb94eceaee61285237ff86f49fa7816e06427..705d1b7bd23c11ab800f69e7582009248d920d0a 100644
--- a/aconvert.gastex/makefile
+++ b/aconvert.gastex/makefile
@@ -1,7 +1,7 @@
 CC=g++
 EXECUTIBLE=aconvert.gastex
 CCFLAGS= -std=c++11 -O2 -c -Wall -I../alib/src 
-LDFLAGS= -L ../alib/bin -lxml2 -lalib
+LDFLAGS= -L../alib/lib -lxml2 -lalib
 
 SOURCES=$(shell find src/ -name *cpp)
 OBJECTS=$(patsubst src/%.cpp, obj/%.o, $(SOURCES))
diff --git a/aconvert/makefile b/aconvert/makefile
index a02e63209cfa9e94c892323331fd72e16bdc7f1e..c6ef39483f535fa72787323fdb7e4cb9a12583d2 100644
--- a/aconvert/makefile
+++ b/aconvert/makefile
@@ -1,7 +1,7 @@
 CC=g++
 EXECUTIBLE=aconvert
 CCFLAGS= -std=c++11 -O2 -c -Wall -I../alib/src 
-LDFLAGS= -L ../alib/bin -lxml2 -lalib
+LDFLAGS= -L../alib/lib -lxml2 -lalib
 
 SOURCES=$(shell find src/ -name *cpp)
 OBJECTS=$(patsubst src/%.cpp, obj/%.o, $(SOURCES))
diff --git a/adeterminize.fsm/makefile b/adeterminize.fsm/makefile
new file mode 100644
index 0000000000000000000000000000000000000000..2432b04ecddcabda9530338ec0c714747f2e4933
--- /dev/null
+++ b/adeterminize.fsm/makefile
@@ -0,0 +1,20 @@
+CC=g++
+EXECUTIBLE=adeterminize.fsm
+CCFLAGS= -std=c++11 -O2 -c -Wall -I../alib/src -I../adeterminize/src
+LDFLAGS= -L../alib/lib -L../adeterminize/lib -lxml2 -lalib -ladeterminize
+
+SOURCES=$(shell find src/ -name *cpp)
+OBJECTS=$(patsubst src/%.cpp, obj/%.o, $(SOURCES))
+
+all: $(SOURCES) bin/$(EXECUTIBLE)
+
+bin/$(EXECUTIBLE): $(OBJECTS)
+	mkdir -p bin
+	$(CC) $(LDFLAGS) $(OBJECTS) -o $@
+
+obj/%.o: src/%.cpp
+	mkdir -p $(dir $@)
+	$(CC) $(CCFLAGS) $< -o $@
+
+clean:
+	$(RM) -r *.o *.d bin obj
diff --git a/adeterminize/makefile b/adeterminize/makefile
new file mode 100644
index 0000000000000000000000000000000000000000..c18556666a06e328f19c2ca19aa8798744627098
--- /dev/null
+++ b/adeterminize/makefile
@@ -0,0 +1,20 @@
+CC=g++
+LIBRARY=libadeterminize.so 
+CCFLAGS= -std=c++11 -O2 -c -Wall -fPIC -I../alib/src 
+LDFLAGS= -L../alib/lib -shared
+
+SOURCES=$(shell find src/ -name *cpp)
+OBJECTS=$(patsubst src/%.cpp, obj/%.o, $(SOURCES))
+
+all: $(SOURCES) lib/$(LIBRARY)
+
+lib/$(LIBRARY): $(OBJECTS)
+	mkdir -p lib
+	$(CC) $(LDFLAGS) $(OBJECTS) -o $@
+
+obj/%.o: src/%.cpp
+	mkdir -p $(dir $@)
+	$(CC) $(CCFLAGS) $< -o $@
+
+clean:
+	$(RM) -r *.o *.d lib obj
diff --git a/aminimize/makefile b/aminimize/makefile
index 386f490424c05116b84b569208da51d39ba2b383..0a3b760946feeefd117e22f838655ce68333994f 100644
--- a/aminimize/makefile
+++ b/aminimize/makefile
@@ -1,7 +1,7 @@
 CC=g++
 EXECUTIBLE=aminimize
 CCFLAGS= -std=c++11 -O2 -c -Wall -I../alib/src 
-LDFLAGS= -L ../alib/bin -lxml2 -lalib
+LDFLAGS= -L../alib/lib -lxml2 -lalib
 
 SOURCES=$(shell find src/ -name *cpp)
 OBJECTS=$(patsubst src/%.cpp, obj/%.o, $(SOURCES))
diff --git a/makefile b/makefile
index d30be54225daf91a52cb8099759bc073ba581343..e71c9b62c5adaa86a5b618f9591e40b404fe1d9f 100644
--- a/makefile
+++ b/makefile
@@ -2,7 +2,7 @@ APPPATH = /usr/bin
 LIBPATH = /usr/lib/
 BINFOLDER = bin
 
-SUBDIRS = alib acat aconvert aconvert.dot aconvert.gastex aminimize
+SUBDIRS = alib acat aconvert aconvert.dot aconvert.gastex aminimize adeterminize adeterminize.fsm
 .PHONY: subdirs $(SUBDIRS)
      
 all: $(SUBDIRS) copy
@@ -13,11 +13,13 @@ copy:
 	rm -rf $(BINFOLDER)
 	mkdir $(BINFOLDER)
 	cp alib/lib/libalib.so $(BINFOLDER)
+	cp adeterminize/lib/libadeterminize.so $(BINFOLDER)
 	cp acat/bin/acat $(BINFOLDER)
 	cp aconvert/bin/aconvert $(BINFOLDER)
 	cp aconvert.dot/bin/aconvert.dot $(BINFOLDER)
 	cp aconvert.gastex/bin/aconvert.gastex $(BINFOLDER)
 	cp aminimize/bin/aminimize $(BINFOLDER)
+	cp adeterminize.fsm/bin/adeterminize.fsm $(BINFOLDER)
 
 install:
 	cp alib/lib/libalib.so $(LIBPATH)