# Makefile to build the shared library.
# Assumes R64 is passed on cmdline
# This should be merged into upstream.

SONAME=libemos$(R64).so.0d
# SHLIBFLAGS= -Wl,-O1 -Wl,--version-script,emos.1.0.0.ver -Wl,-soname,$(SONAME)
SHLIBFLAGS= -Wl,-O1 -Wl,-soname,$(SONAME) 
LIBS= -lgrib_api -lgfortran  -lm

# Hardening. -fPIE not working.
# LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)
LDFLAGS:=-Wl,-z,relro -Wl,-z,now

ALL_OBJS=bufrdc/*.o crexdc/*.o fft/*.o gribex/*.o interpolation/*.o pbio/*.o grib_api_merging/*.o
DUP_OBJS:=interpolation/fft99.o interpolation/qpassm.o interpolation/set99.o interpolation/rpassm.o
OBJS=$(filter-out $(DUP_OBJS), $(wildcard $(ALL_OBJS)))


# Compile into the shlib all but certain duplicated object files
build: 
	$(CC) -shared  -o debian/$(SONAME) $(LDFLAGS) $(SHLIBFLAGS) $(OBJS) -Wl,--as-needed $(LIBS)

.PHONY: clean build
