diff --git a/examples/Makefile b/examples/Makefile
index defd510..b84f3de 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -26,10 +26,10 @@
 #DEBUG	= -g -O0
 DEBUG	= -O3
 CC	= gcc
-INCLUDE	= -I/usr/local/include
+INCLUDE	= -I../wiringPi
 CFLAGS	= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
 
-LDFLAGS	= -L/usr/local/lib
+LDFLAGS	= -L../wiringPi
 LDLIBS    = -lwiringPi -lpthread -lm
 
 # Should not alter anything below this line
diff --git a/gpio/Makefile b/gpio/Makefile
index a043962..b1539d9 100644
--- a/gpio/Makefile
+++ b/gpio/Makefile
@@ -23,13 +23,16 @@
 #################################################################################
 
 
+DESTDIR?=/usr
+PREFIX?=/local
+
 #DEBUG	= -g -O0
-DEBUG	= -O2
-CC	= gcc
-INCLUDE	= -I/usr/local/include
-CFLAGS	= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
+DEBUG	?= -O2
+CC	?= gcc
+INCLUDE	?= -I../wiringPi
+CFLAGS	?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
 
-LDFLAGS	= -L/usr/local/lib
+LDFLAGS	?= -L../wiringPi
 LIBS    = -lwiringPi -lpthread -lm
 
 # May not need to  alter anything below this line
@@ -61,17 +64,16 @@ tags:	$(SRC)
 .PHONEY:	install
 install:
 	@echo "[Install]"
-	@cp gpio /usr/local/bin
-	@chown root.root /usr/local/bin/gpio
-	@chmod 4755 /usr/local/bin/gpio
-	@mkdir -p /usr/local/man/man1
-	@cp gpio.1 /usr/local/man/man1
+	@install -d $(DESTDIR)$(PREFIX)/bin
+	@install -m 4755 -o root -g root gpio $(DESTDIR)$(PREFIX)/bin
+	@install -d $(DESTDIR)$(PREFIX)/share/man/man1
+	@install -m 644 -o root -g root gpio.1 $(DESTDIR)$(PREFIX)/share/man/man1
 
 .PHONEY:	uninstall
 uninstall:
 	@echo "[UnInstall]"
-	@rm -f /usr/local/bin/gpio
-	@rm -f /usr/local/man/man1/gpio.1
+	@rm -f $(DESTDIR)$(PREFIX)/bin/gpio
+	@rm -f $(DESTDIR)$(PREFIX)/share/man/man1/gpio.1
 
 .PHONEY:	depend
 depend:
diff --git a/wiringPi/Makefile b/wiringPi/Makefile
index c6a4555..2c7ae82 100644
--- a/wiringPi/Makefile
+++ b/wiringPi/Makefile
@@ -25,17 +25,20 @@ DYN_VERS_MAJ=1
 DYN_VERS_MIN=0
 
 VERSION=$(DYN_VERS_MAJ).$(DYN_VERS_MIN)
-DESTDIR=/usr
-PREFIX=/local
+DESTDIR?=/usr
+PREFIX?=/local
+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
 
-STATIC=libwiringPi.a
-DYNAMIC=libwiringPi.so.$(VERSION)
+BASE_NAME=libwiringPi
+STATIC=$(BASE_NAME).a
+DYNAMIC=$(BASE_NAME).so.$(VERSION)
 
 #DEBUG	= -g -O0
-DEBUG	= -O2
-CC	= gcc
-INCLUDE	= -I.
-CFLAGS	= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe -fPIC
+DEBUG	?= -O2
+CC	?= gcc
+INCLUDE	?= -I.
+CFLAGS	?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe -fPIC
 
 LIBS    =
 
@@ -67,19 +70,19 @@ $(STATIC):	$(OBJ)
 
 $(DYNAMIC):	$(OBJ)
 	@echo "[Link (Dynamic)]"
-	@$(CC) -shared -Wl,-soname,libwiringPi.so.1 -o libwiringPi.so.1.0 -lpthread $(OBJ)
+	@$(CC) -shared -Wl,-soname,$(BASE_NAME).so.$(DYN_VERS_MAJ) -o $(BASE_NAME).so -lpthread $(OBJ)
 
 i2c:	$(OBJ) $(OBJ_I2C)
 	@echo "[Link (Dynamic + I2C)]"
-	@$(CC) -shared -Wl,-soname,libwiringPi.so.1 -o libwiringPi.so.1.0 -lpthread $(OBJ) $(OBJ_I2C)
+	@$(CC) -shared -Wl,-soname,$(BASE_NAME).so.$(DYN_VERS_MAJ) -o $(BASE_NAME).so -lpthread $(OBJ) $(OBJ_I2C)
 
 .c.o:
 	@echo [Compile] $<
-	@$(CC) -c $(CFLAGS) $< -o $@
+	@$(CC) -c $(CFLAGS) -fPIC $< -o $@
 
 .PHONEY:	clean
 clean:
-	rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak libwiringPi.*
+	rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak $(BASE_NAME).so* $(BASE_NAME).a
 
 .PHONEY:	tags
 tags:	$(SRC)
@@ -89,45 +92,46 @@ tags:	$(SRC)
 .PHONEY:	install
 install:	$(DYNAMIC)
 	@echo "[Install]"
-	@install -m 0755 -d			$(DESTDIR)$(PREFIX)/lib
-	@install -m 0755 -d			$(DESTDIR)$(PREFIX)/include
-	@install -m 0644 wiringPi.h		$(DESTDIR)$(PREFIX)/include
-	@install -m 0644 wiringSerial.h		$(DESTDIR)$(PREFIX)/include
-	@install -m 0644 wiringShift.h		$(DESTDIR)$(PREFIX)/include
-	@install -m 0644 gertboard.h		$(DESTDIR)$(PREFIX)/include
-	@install -m 0644 piNes.h		$(DESTDIR)$(PREFIX)/include
-	@install -m 0644 softPwm.h		$(DESTDIR)$(PREFIX)/include
-	@install -m 0644 softServo.h		$(DESTDIR)$(PREFIX)/include
-	@install -m 0644 softTone.h		$(DESTDIR)$(PREFIX)/include
-	@install -m 0644 lcd.h			$(DESTDIR)$(PREFIX)/include
-	@install -m 0644 wiringPiSPI.h		$(DESTDIR)$(PREFIX)/include
-	@install -m 0644 wiringPiI2C.h		$(DESTDIR)$(PREFIX)/include
-	@install -m 0755 libwiringPi.so.$(VERSION)		  $(DESTDIR)$(PREFIX)/lib
-	@ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION) $(DESTDIR)/lib/libwiringPi.so
-	@ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION) $(DESTDIR)/lib/libwiringPi.so.1
-	@ldconfig
+	@install -m 0755 -d			$(LIB_DIR)
+	@install -m 0755 -d			$(INCLUDE_DIR)
+	@install -m 0644 wiringPi.h		$(INCLUDE_DIR)
+	@install -m 0644 wiringSerial.h		$(INCLUDE_DIR)
+	@install -m 0644 wiringShift.h		$(INCLUDE_DIR)
+	@install -m 0644 gertboard.h		$(INCLUDE_DIR)
+	@install -m 0644 piNes.h		$(INCLUDE_DIR)
+	@install -m 0644 softPwm.h		$(INCLUDE_DIR)
+	@install -m 0644 softServo.h		$(INCLUDE_DIR)
+	@install -m 0644 softTone.h		$(INCLUDE_DIR)
+	@install -m 0644 lcd.h			$(INCLUDE_DIR)
+	@install -m 0644 wiringPiSPI.h		$(INCLUDE_DIR)
+	@install -m 0644 wiringPiI2C.h		$(INCLUDE_DIR)
+	@install -m 0755 $(BASE_NAME).so	$(LIB_DIR)/$(DYNAMIC)
+	@ln -sf $(DYNAMIC)			$(LIB_DIR)/$(BASE_NAME).so
+	@ln -sf $(DYNAMIC)			$(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
 
 .PHONEY:	install-static
 install-static:	$(STATIC)
 	@echo "[Install Static]"
-	@install -m 0755 libwiringPi.a		$(DESTDIR)$(PREFIX)/lib
+	@install -m 0644 $(STATIC)		$(LIB_DIR)
 
 .PHONEY:	uninstall
 uninstall:
 	@echo "[UnInstall]"
-	@rm -f $(DESTDIR)$(PREFIX)/include/wiringPi.h
-	@rm -f $(DESTDIR)$(PREFIX)/include/wiringSerial.h
-	@rm -f $(DESTDIR)$(PREFIX)/include/wiringShift.h
-	@rm -f $(DESTDIR)$(PREFIX)/include/gertboard.h
-	@rm -f $(DESTDIR)$(PREFIX)/include/piNes.h
-	@rm -f $(DESTDIR)$(PREFIX)/include/softPwm.h
-	@rm -f $(DESTDIR)$(PREFIX)/include/softServo.h
-	@rm -f $(DESTDIR)$(PREFIX)/include/softTone.h
-	@rm -f $(DESTDIR)$(PREFIX)/include/lcd.h
-	@rm -f $(DESTDIR)$(PREFIX)/include/wiringPiSPI.h
-	@rm -f $(DESTDIR)$(PREFIX)/include/wiringPiI2C.h
-	@rm -f $(DESTDIR)$(PREFIX)/lib/libwiringPi.*
-	@ldconfig
+	@rm -f $(INCLUDE_DIR)/wiringPi.h
+	@rm -f $(INCLUDE_DIR)/wiringSerial.h
+	@rm -f $(INCLUDE_DIR)/wiringShift.h
+	@rm -f $(INCLUDE_DIR)/gertboard.h
+	@rm -f $(INCLUDE_DIR)/piNes.h
+	@rm -f $(INCLUDE_DIR)/softPwm.h
+	@rm -f $(INCLUDE_DIR)/softServo.h
+	@rm -f $(INCLUDE_DIR)/softTone.h
+	@rm -f $(INCLUDE_DIR)/lcd.h
+	@rm -f $(INCLUDE_DIR)/wiringPiSPI.h
+	@rm -f $(INCLUDE_DIR)/wiringPiI2C.h
+	@rm -f $(LIB_DIR)/$(STATIC)
+	@rm -f $(LIB_DIR)/$(DYNAMIC)
+	@rm -f $(LIB_DIR)/$(BASE_NAME).so
+	@rm -f $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
 
 
 .PHONEY:	depend
