LIB=cxxrt
MAJ=1
OBJS=dynamic_cast.o exception.o guard.o stdexcept.o typeinfo.o memory.o auxhelper.o libelftc_dem_gnu3.o
SOBJS=${OBJS:.o=.So}

static: lib$(LIB).a

shared: lib$(LIB).so

%.So: %.cc
	$(CXX) -fPIC $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $<

%.So: %.c
	$(CC) -fPIC $(CFLAGS) $(CPPFLAGS) -c -o $@ $<

lib$(LIB).a: $(OBJS)
	$(AR) cr $@ $^

lib$(LIB).so.$(MAJ): $(SOBJS)
	$(CXX) -fPIC -nodefaultlibs $(CXXFLAGS) $(LDFLAGS) -shared -Wl,-soname,$@ -o $@ $^ $(LIBS)

lib$(LIB).so: lib$(LIB).so.$(MAJ)
	ln -s $< $@