build: Move optimization flags into a separate variable

Isolate optimization related compiler flags from CFLAGS and move them into a
separate COPTS variable so that it is easier to override optimizations from
the environment.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>

--- a/pppd/plugins/radius/Makefile.linux
+++ b/pppd/plugins/radius/Makefile.linux
@@ -47,13 +47,13 @@ install: all
 	$(INSTALL) -c -m 444 pppd-radattr.8 $(MANDIR)
 
 radius.so: radius.o libradiusclient.a
-	$(CC) $(LDFLAGS) -o radius.so -shared radius.o libradiusclient.a
+	$(CC) $(LDFLAGS) -fPIC -o radius.so -shared radius.o libradiusclient.a
 
 radattr.so: radattr.o
-	$(CC) $(LDFLAGS) -o radattr.so -shared radattr.o
+	$(CC) $(LDFLAGS) -fPIC -o radattr.so -shared radattr.o
 
 radrealms.so: radrealms.o
-	$(CC) $(LDFLAGS) -o radrealms.so -shared radrealms.o
+	$(CC) $(LDFLAGS) -fPIC -o radrealms.so -shared radrealms.o
 
 CLIENTOBJS = avpair.o buildreq.o config.o dict.o ip_util.o \
 	clientid.o sendserver.o lock.o util.o md5.o
--- a/pppd/plugins/pppoe/Makefile.linux
+++ b/pppd/plugins/pppoe/Makefile.linux
@@ -38,7 +38,7 @@ debug.o: debug.c
 	$(CC) $(CFLAGS) -I../../.. -c -o debug.o debug.c
 
 pppoe.so: plugin.o discovery.o if.o common.o
-	$(CC) $(LDFLAGS) -o pppoe.so -shared plugin.o discovery.o if.o common.o
+	$(CC) $(LDFLAGS) -fPIC -o pppoe.so -shared plugin.o discovery.o if.o common.o
 
 install: all
 	$(INSTALL) -d -m 755 $(LIBDIR)
