diff --git a/acat/makefile b/acat/makefile
new file mode 100644
index 0000000000000000000000000000000000000000..2921dd1af3ec76cee85bd4c5b138981ddcea16a3
--- /dev/null
+++ b/acat/makefile
@@ -0,0 +1,13 @@
+APPLICATION=acat
+CXXFLAGS= -std=c++11 -O2 -c -Wall -I../alib/src 
+LDFLAGS= -L ../alib -lxml2 -lalib
+
+
+SOURCES = src/*.cpp
+
+all:
+	g++ $(CXXFLAGS) $(SOURCES)
+	g++ $(LDFLAGS) *.o -o $(APPLICATION)
+
+clean:
+	$(RM) *.o *.d $(APPLICATION)
diff --git a/aconvert.dot/makefile b/aconvert.dot/makefile
new file mode 100644
index 0000000000000000000000000000000000000000..5be1ed48cce675ba753cb980b0c3f22832e373b5
--- /dev/null
+++ b/aconvert.dot/makefile
@@ -0,0 +1,13 @@
+APPLICATION=aconvert.dot
+CXXFLAGS= -std=c++11 -O2 -c -Wall -I../alib/src 
+LDFLAGS= -L ../alib -lxml2 -lalib
+
+
+SOURCES = src/*.cpp
+
+all:
+	g++ $(CXXFLAGS) $(SOURCES)
+	g++ $(LDFLAGS) *.o -o $(APPLICATION)
+
+clean:
+	$(RM) *.o *.d $(APPLICATION)
diff --git a/aconvert.gastex/makefile b/aconvert.gastex/makefile
new file mode 100644
index 0000000000000000000000000000000000000000..452c48558e1cbc13268820a456699ff963c37594
--- /dev/null
+++ b/aconvert.gastex/makefile
@@ -0,0 +1,13 @@
+APPLICATION=aconvert.gastex
+CXXFLAGS= -std=c++11 -O2 -c -Wall -I../alib/src 
+LDFLAGS= -L ../alib -lxml2 -lalib
+
+
+SOURCES = src/*.cpp
+
+all:
+	g++ $(CXXFLAGS) $(SOURCES)
+	g++ $(LDFLAGS) *.o -o $(APPLICATION)
+
+clean:
+	$(RM) *.o *.d $(APPLICATION)
diff --git a/aconvert/makefile b/aconvert/makefile
new file mode 100644
index 0000000000000000000000000000000000000000..f285c3717ec843277bf4adbfd8de2a43196c2fb0
--- /dev/null
+++ b/aconvert/makefile
@@ -0,0 +1,13 @@
+APPLICATION=aconvert
+CXXFLAGS= -std=c++11 -O2 -c -Wall -I../alib/src 
+LDFLAGS= -L ../alib -lxml2 -lalib
+
+
+SOURCES = src/*.cpp
+
+all:
+	g++ $(CXXFLAGS) $(SOURCES)
+	g++ $(LDFLAGS) *.o -o $(APPLICATION)
+
+clean:
+	$(RM) *.o *.d $(APPLICATION)
diff --git a/alib/makefile b/alib/makefile
new file mode 100644
index 0000000000000000000000000000000000000000..6d1a3f5044f28a72b55b7a2ed38087894214d11d
--- /dev/null
+++ b/alib/makefile
@@ -0,0 +1,13 @@
+LIBRARY=libalib.so 
+CXXFLAGS= -std=c++11 -O2 -c -Wall -fPIC -I/usr/include/libxml2/ 
+LDFLAGS= -shared -lxml2
+
+
+SOURCES = src/automaton/*.cpp src/automaton/TM/*.cpp src/automaton/FSM/*.cpp src/automaton/PDA/*cpp src/automaton/exception/*.cpp src/regexp/*.cpp src/grammar/*.cpp src/grammar/Regular/*.cpp src/grammar/Linear/*.cpp src/grammar/Unrestricted/*.cpp src/grammar/ContextSensitive/*.cpp src/grammar/ContextFree/*.cpp src/sax/*.cpp src/alphabet/*.cpp src/*.cpp
+
+all:
+	g++ $(CXXFLAGS) $(SOURCES)
+	g++ $(LDFLAGS) *.o -o $(LIBRARY)
+
+clean:
+	$(RM) *.o *.d $(LIBRARY)
diff --git a/makefile b/makefile
new file mode 100644
index 0000000000000000000000000000000000000000..57b65c6218488aee5b11ac521e5a0b420deab746
--- /dev/null
+++ b/makefile
@@ -0,0 +1,16 @@
+SUBDIRS = alib acat aconvert aconvert.dot aconvert.gastex
+.PHONY: subdirs $(SUBDIRS)
+     
+all: $(SUBDIRS)
+$(SUBDIRS):
+	$(MAKE) -C $@
+
+install:
+	rm -rf bin
+	mkdir bin
+	cp alib/libalib.so bin/
+	cp acat/acat bin/
+	cp aconvert/aconvert bin/
+	cp aconvert.dot/aconvert.dot bin/
+	cp aconvert.gastex/aconvert.gastex bin/
+	cp -r examples bin/