summaryrefslogtreecommitdiff
path: root/src/makefiles/Makefile.freebsd
blob: 5a98e5a2b0bb0962f3bd38b07c22fa503d5fc9fc (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
AROPT = cr

ifdef ELF_SYSTEM
export_dynamic = -Wl,-export-dynamic
rpath = -Wl,-R'$(rpathdir)'
endif

DLSUFFIX = .so

CFLAGS_SL = -fPIC -DPIC


# 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 [email protected]
	@${AR} cq [email protected] $<.obj
	${RANLIB} [email protected]
	@rm -f $@
	$(LD) -x -Bshareable -Bforcearchive -o $@ [email protected]
endif