blob: c9a3c8187171f60b3ef2230ff7e15624cfc5995d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
AROPT = cr
ifdef ELF_SYSTEM
export_dynamic = -Wl,-export-dynamic
rpath = -Wl,-R'$(rpathdir)'
endif
DLSUFFIX = .so
# extra stuff for $(with_temp_install)
# we need this to get LD_LIBRARY_PATH searched ahead of the compiled-in
# rpath, if no DT_RUNPATH is present in the executable. The conditions
# under which DT_RUNPATH are added seem unpredictable, so be safe.
define with_temp_install_extra
LD_LIBRARY_PATH_RPATH=1
endef
# 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
|