1# Makefile
2# This file holds the make rules for the libyasn
3
4DEBUG :=
5
6CXX  := @CXX@ -Wall
7AR  := ar
8DEFS :=
9INCLUDES := -I@top_srcdir@ -I../.. -I@srcdir@
10CFLAGS := @CFLAGS@ @MODULE_CPPFLAGS@ @INLINE_FLAGS@
11LDFLAGS:= @LDFLAGS@ -L../.. -lyate
12SONAME_OPT := @SONAME_OPT@
13YATELIBS := -L../.. -lyate @LIBS@
14INCFILES := @top_srcdir@/yateclass.h @srcdir@/yateasn.h
15
16PROGS=
17LIBS = libyasn.a
18OBJS = asn.o
19LIBD_DEV:= libyateasn.so
20LIBD_VER:= $(LIBD_DEV).@PACKAGE_VERSION@
21LIBD:= ../../$(LIBD_VER) ../../$(LIBD_DEV)
22
23LOCALFLAGS =
24LOCALLIBS =
25COMPILE = $(CXX) $(DEFS) $(DEBUG) $(INCLUDES) $(CFLAGS)
26LINK = $(CXX) $(LDFLAGS)
27
28prefix = @prefix@
29exec_prefix = @exec_prefix@
30
31# include optional local make rules
32-include YateLocal.mak
33
34.PHONY: all debug ddebug xdebug
35all: $(LIBS) $(LIBD) $(PROGS)
36
37debug:
38	$(MAKE) all DEBUG=-g3 MODSTRIP=
39
40ddebug:
41	$(MAKE) all DEBUG='-g3 -DDEBUG' MODSTRIP=
42
43xdebug:
44	$(MAKE) all DEBUG='-g3 -DXDEBUG' MODSTRIP=
45
46.PHONY: strip
47strip: all
48	strip --strip-debug --discard-locals $(PROGS)
49
50.PHONY: clean
51clean:
52	@-$(RM) $(PROGS) $(LIBS) $(LIBD) $(OBJS) core 2>/dev/null
53
54%.o: @srcdir@/%.cpp $(INCFILES)
55	$(COMPILE) -c $<
56
57Makefile: @srcdir@/Makefile.in ../../config.status
58	cd ../.. && ./config.status
59
60../../$(LIBD_VER): $(OBJS)
61	$(LINK) -o $@ $(SONAME_OPT)$(LIBD_VER) $^ $(YATELIBS)
62
63../../$(LIBD_DEV): ../../$(LIBD_VER)
64	cd ../.. && ln -sf $(LIBD_VER) $(LIBD_DEV)
65
66$(LIBS): $(OBJS)
67	$(AR) rcs $@ $^
68