$OpenBSD: patch-Makefile,v 1.3 2008/07/22 20:24:04 brad Exp $
--- Makefile.orig	Fri Jul  4 16:45:05 2008
+++ Makefile	Wed Jul  9 00:15:36 2008
@@ -52,6 +52,9 @@ ALTIVECSRC += common/ppc/mc.c common/ppc/pixel.c commo
               common/ppc/predict.c
 SRCS += $(ALTIVECSRC)
 $(ALTIVECSRC:%.c=%.o): CFLAGS += $(ALTIVECFLAGS)
+$(ALTIVECSRC:%.c=%.so): CFLAGS += $(ALTIVECFLAGS)
+common/cpu.o: CFLAGS += $(ALTIVECFLAGS)
+common/cpu.so: CFLAGS += $(ALTIVECFLAGS)
 endif
 
 # VIS optims
@@ -65,6 +68,7 @@ SRCS += extras/getopt.c
 endif
 
 OBJS = $(SRCS:%.c=%.o)
+SOBJS = $(SRCS:%.c=%.so)
 OBJCLI = $(SRCCLI:%.c=%.o)
 DEP  = depend
 
@@ -76,8 +80,8 @@ libx264.a: .depend $(OBJS) $(OBJASM)
 	ar rc libx264.a $(OBJS) $(OBJASM)
 	ranlib libx264.a
 
-$(SONAME): .depend $(OBJS) $(OBJASM)
-	$(CC) -shared -o $@ $(OBJS) $(OBJASM) $(SOFLAGS) $(LDFLAGS)
+$(SONAME): .depend $(SOBJS) $(OBJASM)
+	$(CC) -shared -o $@ $(SOBJS) $(OBJASM) $(SOFLAGS) $(LDFLAGS)
 
 x264$(EXE): $(OBJCLI) libx264.a 
 	$(CC) -o $@ $+ $(LDFLAGS)
@@ -93,6 +97,9 @@ checkasm: tools/checkasm.o libx264.a
 # delete local/anonymous symbols, so they don't show up in oprofile
 	-@ strip -x $@
 
+%.so: %.c
+	$(CC) $(CFLAGS) -fPIC -c -o $@ $<
+
 .depend: config.mak
 	rm -f .depend
 # Hacky - because gcc 2.9x doesn't have -MT
@@ -160,7 +167,6 @@ install: x264$(EXE) $(SONAME)
 ifeq ($(SYS),MINGW)
 	$(if $(SONAME), install -m 755 $(SONAME) $(DESTDIR)$(bindir))
 else
-	$(if $(SONAME), ln -sf $(SONAME) $(DESTDIR)$(libdir)/libx264.so)
 	$(if $(SONAME), install -m 755 $(SONAME) $(DESTDIR)$(libdir))
 endif
 	$(if $(IMPLIBNAME), install -m 644 $(IMPLIBNAME) $(DESTDIR)$(libdir))
