--- a/Makefile
+++ b/Makefile
@@ -23,24 +23,25 @@
 # SUCH DAMAGE.
 #
 # $Id: Makefile,v 1.3 2004/07/19 05:19:55 sobomax Exp $
+#
+# Linux Makefile by Matt Smith <mcs@darkregion.net>, 2011/01/04
 
-LIB=	execinfo
+CC=cc
+AR=ar
+EXECINFO_CFLAGS=$(CFLAGS) -O2 -pipe -fno-strict-aliasing -std=gnu99 -fstack-protector -c
+EXECINFO_LDFLAGS=$(LDFLAGS)
 
-SRCS=	stacktraverse.c stacktraverse.h execinfo.c execinfo.h
+all: static dynamic
 
-INCS=	execinfo.h
+static:
+	$(CC) $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) stacktraverse.c
+	$(CC) $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) execinfo.c
+	$(AR) rcs libexecinfo.a stacktraverse.o execinfo.o
 
-SHLIB_MAJOR=	1
-SHLIB_MINOR=	0
+dynamic:
+	$(CC) -fpic -DPIC $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) stacktraverse.c -o stacktraverse.So
+	$(CC) -fpic -DPIC $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) execinfo.c -o execinfo.So
+	$(CC) -shared -Wl,-soname,libexecinfo.so.1 -o libexecinfo.so.1 stacktraverse.So execinfo.So
 
-NOPROFILE=	yes
-
-DPADD=		${LIBM}
-LDADD=		-lm
-
-#WARNS?=	4
-
-#stacktraverse.c: gen.py
-#	./gen.py > stacktraverse.c
-
-.include <bsd.lib.mk>
+clean:
+	rm -rf *.o *.So *.a *.so