$OpenBSD: patch-Makefile,v 1.4 2009/04/14 19:50:47 kili Exp $ --- Makefile.orig Wed Feb 4 16:45:09 2009 +++ Makefile Thu Mar 5 10:44:49 2009 @@ -53,6 +53,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 @@ -66,6 +69,7 @@ SRCS += extras/getopt.c endif OBJS = $(SRCS:%.c=%.o) +SOBJS = $(SRCS:%.c=%.so) OBJCLI = $(SRCCLI:%.c=%.o) DEP = depend @@ -77,8 +81,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) @@ -91,9 +95,12 @@ 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 - $(foreach SRC, $(SRCS) $(SRCCLI), $(CC) $(CFLAGS) $(ALTIVECFLAGS) $(SRC) -MT $(SRC:%.c=%.o) -MM -g0 1>> .depend;) + $(foreach SRC, $(SRCS) $(SRCCLI), ( $(ECHON) "`dirname $(SRC)`/" && $(CC) $(CFLAGS) $(ALTIVECFLAGS) $(SRC) -MM -g0 ) 1>> .depend;) config.mak: ./configure @@ -154,7 +161,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.$(SOSUFFIX)) $(if $(SONAME), install -m 755 $(SONAME) $(DESTDIR)$(libdir)) endif $(if $(IMPLIBNAME), install -m 644 $(IMPLIBNAME) $(DESTDIR)$(libdir))