--- Makefile.orig	2012-06-19 09:55:56.512085441 +0200
+++ Makefile	2012-06-19 10:02:28.949545937 +0200
@@ -22,19 +22,20 @@ all:
 ###                 UNIX build: linux, bsd, mac, rtems
 ##########################################################################
 
-CFLAGS = -W -Wall -std=c99 -pedantic -O2 $(COPT)
+CFLAGS += -W -Wall -std=c99 -pedantic -O2 $(COPT)
 MAC_SHARED = -flat_namespace -bundle -undefined suppress
-LINFLAGS = -ldl -pthread $(CFLAGS)
-LIB = _$(PROG).so
-CC = g++
+LINFLAGS += -ldl -pthread
+LIB ?= lib$(PROG).so.0
+CC ?= gcc
 
 # Make sure that the compiler flags come last in the compilation string.
 # If not so, this can break some on some Linux distros which use
 # "-Wl,--as-needed" turned on by default  in cc command.
 # Also, this is turned in many other distros in static linkage builds.
 linux:
-	$(CC) mongoose.c -shared -fPIC -fpic -o $(LIB) $(LINFLAGS)
-	$(CC) mongoose.c main.c -o $(PROG) $(LINFLAGS)
+	$(CC) mongoose.c -shared -fPIC -fpic -Wl,-soname,$(LIB) \
+		-o $(LIB) $(LINFLAGS) $(CFLAGS)
+	$(CC) main.c -o $(PROG) $(LINFLAGS) -L. $(LIB) $(CFLAGS)
 
 bsd:
 	$(CC) mongoose.c -shared -pthread -fpic -fPIC -o $(LIB) $(CFLAGS)
@@ -50,6 +51,18 @@ solaris:
 	gcc mongoose.c main.c -pthread -lnsl -lsocket -o $(PROG) $(CFLAGS)
 
 
+install:
+	install -d $(DESTDIR)$(PREFIX)/include
+	install -m644 mongoose.h $(DESTDIR)$(PREFIX)/include
+	install -d $(DESTDIR)$(PREFIX)/bin
+	install -m755 $(PROG) $(DESTDIR)$(PREFIX)/bin
+	install -d $(DESTDIR)$(PREFIX)/lib
+	ln -sf $(LIB) $(LIB).0; cp -a $(LIB).0 $(DESTDIR)$(PREFIX)/lib
+	ln -sf $(LIB) libmongoose.so; cp -a libmongoose.so $(DESTDIR)$(PREFIX)/lib
+	install -m755 $(LIB) $(DESTDIR)$(PREFIX)/lib
+	install -d $(DESTDIR)$(PREFIX)/$(MANDIR)/man1
+	install -m644 mongoose.1 $(DESTDIR)$(PREFIX)/$(MANDIR)/man1
+
 ##########################################################################
 ###            WINDOWS build: Using Visual Studio or Mingw
 ##########################################################################
