diff --git a/Makefile b/Makefile
index b0d5b051623c9ecb938af42c26995c8c52bd9ad4..da223de2144d0421e4e84cf71c9c3ddada53f533 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@
 
 subdirs ?= $(dir $(wildcard */))
 
-.PHONY: all clean
+.PHONY: all clean install
 
-all clean:
+all clean install:
 	for i in $(subdirs) ; do [ -d $$i ] && $(MAKE) -C $$i $@ || exit; done
diff --git a/Makefile.inc b/Makefile.inc
new file mode 100644
index 0000000000000000000000000000000000000000..48308a8449ee946bdd41e05b0e8a037223325d38
--- /dev/null
+++ b/Makefile.inc
@@ -0,0 +1,27 @@
+CP ?= cp -fpPR
+INSTALL ?= install
+INSTALL_DIR = $(INSTALL) -d -m 755
+INSTALL_PROGRAM = $(INSTALL) -m 755
+INSTALL_DATA = $(INSTALL) -m 644
+INSTALL_CONF = $(INSTALL) -m 600
+INSTALL_LIB = $(CP)
+
+INCDIR ?= /usr/include
+LIBDIR ?= /usr/lib
+
+
+header-files ?= $(wildcard *.h)
+library-files ?= $(wildcard *.so*)
+
+
+$(DESTDIR)/$(INCDIR)/%: %
+	$(INSTALL_DATA) -D $< $@
+
+$(DESTDIR)/$(LIBDIR)/%: %
+	$(INSTALL_DIR) $(DESTDIR)/$(LIBDIR)
+	$(INSTALL_LIB) $< $@
+
+
+install-headers: $(addprefix $(DESTDIR)/$(INCDIR)/,$(header-files))
+
+install-libs: $(addprefix $(DESTDIR)/$(LIBDIR)/,$(library-files))
diff --git a/libeasy/Makefile b/libeasy/Makefile
index b8e68d092d2d0fdd0d44c65b131b1c766b949bb8..c1c3531b1801ddfecfa365f1b3cd03668b783474 100644
--- a/libeasy/Makefile
+++ b/libeasy/Makefile
@@ -1,3 +1,5 @@
+-include ../Makefile.inc
+
 CC = gcc
 #CFLAGS += -O2 -Wall -g -fvisibility=hidden
 
@@ -11,7 +13,7 @@ objs_lib = event.o base64.o utils.o if_utils.o debug.o
 ver=$(shell cat ./VERSION)
 maj=$(shell cat ./VERSION | cut -f1 -d.)
 
-.PHONY: all tests clean
+.PHONY: all tests clean install
 
 all: libeasy.so.$(ver)
 
@@ -28,5 +30,8 @@ tests:
 	$(MAKE) -C tests all
 
 
+install: install-headers install-libs
+
+
 clean:
 	rm -f *.o *so*
diff --git a/libwifi/Makefile b/libwifi/Makefile
index 7a9661d79300ff7507c52db55858569c03f73d93..fd221479b45ac3cb4bfc7f82ebe9a5ca1b514a64 100644
--- a/libwifi/Makefile
+++ b/libwifi/Makefile
@@ -1,3 +1,4 @@
+
 CC = gcc
 CFLAGS = -O2 -Wall -g
 LIBWIFI_CFLAGS += -I. -I../libeasy
@@ -62,6 +63,10 @@ libwifi-6.so.$(ver): $(objs_lib)
 	-ln -sf $@ libwifi-6.so.$(maj)
 	-ln -sf $@ libwifi-6.so
 
+header-files=wifi.h
+-include ../Makefile.inc
+
+install: install-headers install-libs
 
 docs:
 	cd docs; doxygen ./Doxyfile
@@ -71,4 +76,4 @@ docs:
 clean:
 	rm -f *.o modules/$(objs_dir)/*.o *.so*
 
-.PHONY: all docs clean
+.PHONY: all docs clean install