summaryrefslogtreecommitdiff
blob: 18b90a7cf712fa35394b80d0fe51d446b449ad8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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 $< $@