source: trunk/src/libsrc/libdali/Makefile @ 7911

Revision 7911, 1.8 KB checked in by baker, 5 months ago (diff)

clean up spaces that should be tabs

Line 
1
2# Build environment can be configured the following
3# environment variables:
4#   CC : Specify the C compiler to use
5#   CFLAGS : Specify compiler options to use
6
7
8MAJOR_VER = 1
9MINOR_VER = 7
10CURRENT_VER = $(MAJOR_VER).$(MINOR_VER)
11COMPAT_VER = $(MAJOR_VER).$(MINOR_VER)
12
13LIB_SRCS = \
14        config.c \
15        connection.c \
16        genutils.c \
17        logging.c \
18        network.c \
19        parse_ip_address.c \
20        portable.c \
21        statefile.c \
22        strutils.c \
23        timeutils.c
24
25LIB_OBJS = $(LIB_SRCS:.c=.o)
26LIB_DOBJS = $(LIB_SRCS:.c=.lo)
27
28LIB_A = libdali.a
29LIB_SO_FILENAME = libdali.so
30LIB_SO_ALIAS = $(LIB_SO_FILENAME).$(MAJOR_VER)
31LIB_SO = $(LIB_SO_FILENAME).$(CURRENT_VER)
32LIB_DYN_ALIAS = libdali.dylib
33LIB_DYN = libdali.$(CURRENT_VER).dylib
34
35all: static
36
37static: $(LIB_A)
38
39shared: $(LIB_SO)
40
41dynamic: $(LIB_DYN)
42
43$(LIB_A): $(LIB_OBJS)
44        rm -f $(LIB_A)
45        ar -crs $(LIB_A) $(LIB_OBJS)
46
47$(LIB_SO): $(LIB_DOBJS)
48        rm -f $(LIB_SO) $(LIB_SO_ALIAS) $(LIB_SO_FILENAME)
49        $(CC) $(CFLAGS) -shared -Wl,-soname -Wl,$(LIB_SO_ALIAS) -o $(LIB_SO) $(LIB_DOBJS)
50        ln -s $(LIB_SO) $(LIB_SO_ALIAS)
51        ln -s $(LIB_SO) $(LIB_SO_FILENAME)
52
53$(LIB_DYN): $(LIB_DOBJS)
54        rm -f $(LIB_DYN) $(LIB_DYN_ALIAS)
55        $(CC) $(CFLAGS) -dynamiclib -compatibility_version $(COMPAT_VER) -current_version $(CURRENT_VER) -install_name $(LIB_DYN_ALIAS) -o $(LIB_DYN) $(LIB_DOBJS)
56        ln -sf $(LIB_DYN) $(LIB_DYN_ALIAS)
57
58clean:
59        rm -f $(LIB_OBJS) $(LIB_DOBJS) $(LIB_A) $(LIB_SO) $(LIB_SO_ALIAS) \
60              $(LIB_SO_FILENAME) $(LIB_DYN) $(LIB_DYN_ALIAS)
61
62install:
63        @echo
64        @echo "No install method, copy the library, header files, and"
65        @echo "documentation to the preferred install location"
66        @echo
67
68.SUFFIXES: .c .o .lo
69
70# Standard object building
71.c.o:
72        $(CC) $(CFLAGS) -c $< -o $@
73
74# Standard object building for dynamic library components using -fPIC
75.c.lo:
76        $(CC) $(CFLAGS) -fPIC -c $< -o $@
Note: See TracBrowser for help on using the repository browser.