--- makefile.in.orig	2002-02-13 10:27:56.000000000 +0800
+++ makefile.in	2014-06-19 17:31:43.462706589 +0800
@@ -7,7 +7,7 @@ exec_prefix=@exec_prefix@
 VPATH = @srcdir@
 CC=@CC@
 
-CFLAGS=@CFLAGS@ @ARCH_OPTION@ -Wall
+CFLAGS=@CFLAGS@ -fPIC -Wall
 
 LIB=	encode_rs_char.o encode_rs_int.o encode_rs_8.o \
 	decode_rs_char.o decode_rs_int.o decode_rs_8.o \
@@ -21,47 +21,44 @@ test: rstest
 
 rstest: rstest.o exercise_int.o exercise_char.o exercise_8.o exercise_ccsds.o \
 	librs.a
-	gcc -g -o $@ $^
+	$(CC) -g -o $@ $^
 
 install: all
-	mkdir -p @libdir@ 
-	install -D -m 644 -p librs.a librs.so.@SO_VERSION@ @libdir@
-	(cd @libdir@;ln -f -s librs.so.@SO_VERSION@ librs.so)
-	ldconfig
-	mkdir -p @includedir@
-	install -m 644 -p rs.h @includedir@
-	mkdir -p @mandir@/man3
-	install -m 644 rs.3 @mandir@/man3
+	$(BSD_INSTALL_DATA) librs.a $(DESTDIR)@libdir@
+	$(BSD_INSTALL_PROGRAM) librs.so.@SO_VERSION@ $(DESTDIR)@libdir@
+	ln -sf librs.so.@SO_VERSION@ $(DESTDIR)@libdir@/librs.so
+	$(BSD_INSTALL_DATA) rs.h $(DESTDIR)@includedir@
+	$(BSD_INSTALL_MAN) rs.3 $(DESTDIR)@mandir@/man3
 
 librs.a: $(LIB)
 	ar rv $@ $^
 
 librs.so.@SO_VERSION@: librs.a
-	gcc -shared -Xlinker -soname=librs.so.@SO_NAME@ -o $@ -Wl,-whole-archive $^ -Wl,-no-whole-archive -lc
+	$(CC) -shared -fPIC -Xlinker -soname=librs.so.@SO_NAME@ -o $@ -Wl,-whole-archive $^ -Wl,-no-whole-archive -lc
 
 encode_rs_char.o: encode_rs.c
-	gcc $(CFLAGS) -c -o $@ $^
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 encode_rs_int.o: encode_rs.c
-	gcc -DBIGSYM=1 $(CFLAGS) -c -o $@ $^
+	$(CC) -DBIGSYM=1 $(CFLAGS) -c -o $@ $^
 
 encode_rs_8.o: encode_rs.c
-	gcc -DFIXED=1 $(CFLAGS) -c -o $@ $^
+	$(CC) -DFIXED=1 $(CFLAGS) -c -o $@ $^
 
 decode_rs_char.o: decode_rs.c
-	gcc $(CFLAGS) -c -o $@ $^
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 decode_rs_int.o: decode_rs.c
-	gcc -DBIGSYM=1 $(CFLAGS) -c -o $@ $^
+	$(CC) -DBIGSYM=1 $(CFLAGS) -c -o $@ $^
 
 decode_rs_8.o: decode_rs.c
-	gcc -DFIXED=1 $(CFLAGS) -c -o $@ $^
+	$(CC) -DFIXED=1 $(CFLAGS) -c -o $@ $^
 
 init_rs_char.o: init_rs.c
-	gcc $(CFLAGS) -c -o $@ $^
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 init_rs_int.o: init_rs.c
-	gcc -DBIGSYM=1 $(CFLAGS) -c -o $@ $^
+	$(CC) -DBIGSYM=1 $(CFLAGS) -c -o $@ $^
 
 ccsds_tab.o: ccsds_tab.c
 
@@ -69,10 +66,10 @@ ccsds_tab.c: gen_ccsds
 	./gen_ccsds > ccsds_tab.c
 
 gen_ccsds: gen_ccsds.o init_rs_char.o
-	gcc -o $@ $^
+	$(CC) -o $@ $^
 
 gen_ccsds.o: gen_ccsds.c
-	gcc  $(CFLAGS) -c -o $@ $^
+	$(CC)  $(CFLAGS) -c -o $@ $^
 
 ccsds_tal.o: ccsds_tal.c
 
@@ -80,16 +77,16 @@ ccsds_tal.c: gen_ccsds_tal
 	./gen_ccsds_tal > ccsds_tal.c
 
 exercise_char.o: exercise.c
-	gcc $(CFLAGS) -c -o $@ $^
+	$(CC) $(CFLAGS) -c -o $@ $^
 
 exercise_int.o: exercise.c
-	gcc -DBIGSYM=1 $(CFLAGS) -c -o $@ $^
+	$(CC) -DBIGSYM=1 $(CFLAGS) -c -o $@ $^
 
 exercise_8.o: exercise.c
-	gcc -DFIXED=1 $(CFLAGS) -c -o $@ $^
+	$(CC) -DFIXED=1 $(CFLAGS) -c -o $@ $^
 
 exercise_ccsds.o: exercise.c
-	gcc -DCCSDS=1 $(CFLAGS) -c -o $@ $^
+	$(CC) -DCCSDS=1 $(CFLAGS) -c -o $@ $^
 
 
 clean:
