32 lines
590 B
Makefile
32 lines
590 B
Makefile
AROPT = cr
|
|
|
|
ifdef ELF_SYSTEM
|
|
export_dynamic = -Wl,-E
|
|
rpath = -Wl,-R'$(rpathdir)'
|
|
else
|
|
rpath = -Wl,-R'$(rpathdir)'
|
|
endif
|
|
|
|
DLSUFFIX = .so
|
|
|
|
ifeq ($(findstring sparc,$(host_cpu)), sparc)
|
|
CFLAGS_SL = -fPIC -DPIC
|
|
else
|
|
CFLAGS_SL = -fpic -DPIC
|
|
endif
|
|
|
|
|
|
# Rule for building a shared library from a single .o file
|
|
%.so: %.o
|
|
ifdef ELF_SYSTEM
|
|
$(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_SL) -shared -o $@ $<
|
|
else
|
|
$(LD) $(LDREL) $(LDOUT) $<.obj -x $<
|
|
@echo building shared object $@
|
|
@rm -f $@.pic
|
|
@${AR} cq $@.pic $<.obj
|
|
${RANLIB} $@.pic
|
|
@rm -f $@
|
|
$(LD) -x -Bshareable -Bforcearchive -o $@ $@.pic
|
|
endif
|