--- a/makefile	2013-04-14 12:08:33.000000000 -0800
+++ b/makefile	2018-05-23 07:18:29.251203367 -0800
@@ -18,8 +18,8 @@
 #AR= echo
 
 # Unix, generally
-CC = gcc -fpic -pedantic
-DEBUG=-g -Wall -Wno-char-subscripts -O
+CC = gcc -fPIC -pedantic
+# DEBUG=-g -Wall -Wno-char-subscripts -O
 Osuf=o
 SOsuf=so
 LIBsuf=a
@@ -27,14 +27,15 @@
 LIBPREFIX=lib
 OUT = -o $@
 RM= -rm -f
-AR= ar crs
+AR= ar
+AR_OPTS= crs
 
 # Linux
 LD = gcc
 LDFLAGS = -shared
-DEBUG=-g -Wno-char-subscripts -O
+DEBUG=-Wall -Wno-char-subscripts -O
 SYS_LIBS= -ldl -lm
-PLATFORM_FEATURES= -DSUN_DL=1
+# PLATFORM_FEATURES= -DInitFile=\"/usr/lib/tinyscheme/init.scm\"
 
 # Cygwin
 #PLATFORM_FEATURES = -DUSE_STRLWR=0
@@ -74,13 +75,13 @@
 	$(CC) -I. -c $(DEBUG) $(FEATURES) $(DL_FLAGS) $<
 
 $(LIBTARGET): $(OBJS)
-	$(LD) $(LDFLAGS) $(OUT) $(OBJS) $(SYS_LIBS)
+	$(CC) $(LDFLAGS) $(OUT) $(OBJS) $(SYS_LIBS)
 
 scheme$(EXE_EXT): $(OBJS)
 	$(CC) -o $@ $(DEBUG) $(OBJS) $(SYS_LIBS)
 
 $(STATICLIBTARGET): $(OBJS)
-	$(AR) $@ $(OBJS)
+	$(AR) $(AR_OPTS) $@ $(OBJS)
 
 $(OBJS): scheme.h scheme-private.h opdefines.h
 dynload.$(Osuf): dynload.h
