11 SHLIB_FILE
=libuci.
$(SHLIB_EXT
).
$(VERSION
)
14 @echo
"$(if $(findstring 1,$($(1))),#define UCI_$(1) 1,#undef UCI_$(1))" >> $@.tmp
17 LIBUCI_DEPS
=file.c history.c list.c util.c uci.h uci_config.h uci_internal.h
19 all: uci-static uci libuci.
$(SHLIB_EXT
) ucimap-example
21 cli.o
: cli.c uci.h uci_config.h
22 ucimap.o
: ucimap.c uci.h uci_config.h ucimap.h uci_list.h
26 @echo
"#define UCI_PREFIX \"$(prefix)\"" > "$@.tmp"
27 $(call add_feature
,PLUGIN_SUPPORT
)
28 $(call add_feature
,DEBUG
)
29 $(call add_feature
,DEBUG_TYPECAST
)
30 @if
[ \
! -f
"$@" ] ||
! cmp
"$@.tmp" "$@" >/dev
/null
; then \
36 uci
: cli.o libuci.
$(SHLIB_EXT
)
37 $(CC
) -o
$@
$< -L.
-luci
$(LIBS
)
39 uci-static
: cli.o libuci.a
40 $(CC
) $(CFLAGS
) -o
$@
$^
$(LIBS
)
42 libuci-static.o
: libuci.c
$(LIBUCI_DEPS
)
43 $(CC
) $(CFLAGS
) -c
-o
$@
$<
45 libuci-shared.o
: libuci.c
$(LIBUCI_DEPS
)
46 $(CC
) $(CFLAGS
) $(FPIC
) -c
-o
$@
$<
48 ucimap-static.o
: ucimap.c
$(LIBUCI_DEPS
) ucimap.h
49 $(CC
) $(CFLAGS
) -c
-o
$@
$<
51 ucimap-shared.o
: ucimap.c
$(LIBUCI_DEPS
) ucimap.h
52 $(CC
) $(CFLAGS
) $(FPIC
) -c
-o
$@
$<
54 libuci.a
: libuci-static.o ucimap-static.o
59 libuci.
$(SHLIB_EXT
): libuci-shared.o ucimap-shared.o
60 $(LINK
) $(SHLIB_FLAGS
) -o
$(SHLIB_FILE
) $^
$(LIBS
)
61 ln
-sf
$(SHLIB_FILE
) $@
63 ucimap-example
: ucimap-example.c libuci.a
64 $(CC
) $(CFLAGS
) -I.
-o
$@
$^
$(LIBS
)
67 rm -f uci uci-static
*.
[oa
] *.so
* *.dylib
* uci_config.h ucimap-example
69 install: install-bin install-dev
72 $(MKDIR
) -p
$(DESTDIR
)$(prefix)/lib
73 $(MKDIR
) -p
$(DESTDIR
)$(prefix)/include
74 $(INSTALL
) -m0644 libuci.a
$(DESTDIR
)$(prefix)/lib
/
75 $(INSTALL
) -m0644 uci_config.h uci.h uci_list.h ucimap.h
$(DESTDIR
)$(prefix)/include/
78 $(MKDIR
) -p
$(DESTDIR
)$(prefix)/lib
79 $(INSTALL
) -m0755
$(SHLIB_FILE
) $(DESTDIR
)$(prefix)/lib
/
80 ln
-sf
$(SHLIB_FILE
) $(DESTDIR
)$(prefix)/lib
/libuci.
$(SHLIB_EXT
)
81 $(MKDIR
) -p
$(DESTDIR
)$(prefix)/bin
82 $(INSTALL
) -m0755 uci
$(DESTDIR
)$(prefix)/bin
/
84 test: all ucimap-example