11 SHLIB_FILE
=libuci.
$(SHLIB_EXT
).
$(VERSION
)
14 @echo
"$(if $(findstring 1,$($(1))),#define UCI_$(1) 1,#undef UCI_$(1))" >> $@.tmp
22 SOURCES
= libuci.c file.c ucimap.c util.c
24 all: uci libuci.
$(SHLIB_EXT
) uci-static ucimap-example
26 $(eval
$(call add_dep
,libuci
,delta.c list.c uci.h uci_config.h uci_internal.h
))
27 $(eval
$(call add_dep
,ucimap
,uci.h uci_config.h ucimap.h
))
29 cli.o
: cli.c uci.h uci_config.h
33 @echo
"#define UCI_PREFIX \"$(prefix)\"" > "$@.tmp"
34 $(call add_feature
,PLUGIN_SUPPORT
)
35 $(call add_feature
,DEBUG
)
36 $(call add_feature
,DEBUG_TYPECAST
)
37 @if
[ \
! -f
"$@" ] ||
! cmp
"$@.tmp" "$@" >/dev
/null
; then \
44 $(CC
) -c
-o
$@
$(CPPFLAGS
) $(CFLAGS
) $<
47 $(CC
) -c
-o
$@
$(CPPFLAGS
) $(CFLAGS
) $<
50 $(CC
) -c
-o
$@
$(CPPFLAGS
) $(CFLAGS
) $(FPIC
) $<
52 uci
: cli.o libuci.
$(SHLIB_EXT
)
53 $(CC
) -o
$@
$< -L.
-luci
$(LIBS
)
55 uci-static
: cli.o libuci.a
56 $(CC
) $(CFLAGS
) -o
$@
$^
$(LIBS
)
58 ucimap.c
: ucimap.h uci.h
60 libuci.a
: $(patsubst %.c
,%.static.o
, $(SOURCES
))
65 libuci.
$(SHLIB_EXT
): $(patsubst %.c
,%.shared.o
, $(SOURCES
))
66 $(LINK
) $(SHLIB_FLAGS
) -o
$(SHLIB_FILE
) $^
$(LIBS
)
67 ln
-sf
$(SHLIB_FILE
) $@
69 ucimap-example.c
: list.h
70 ucimap-example
: ucimap-example.o libuci.a
71 $(CC
) $(CFLAGS
) -o
$@
$^
$(LIBS
)
74 rm -f uci uci-static
*.
[oa
] *.so
* *.dylib
* uci_config.h ucimap-example
76 install: install-bin install-dev
79 $(MKDIR
) -p
$(DESTDIR
)$(prefix)/$(LIBDIRNAME
)
80 $(MKDIR
) -p
$(DESTDIR
)$(prefix)/include
81 $(INSTALL
) -m0644 libuci.a
$(DESTDIR
)$(prefix)/$(LIBDIRNAME
)/
82 $(INSTALL
) -m0644 uci_config.h uci.h ucimap.h
$(DESTDIR
)$(prefix)/include/
85 $(MKDIR
) -p
$(DESTDIR
)$(prefix)/$(LIBDIRNAME
)
86 $(INSTALL
) -m0755
$(SHLIB_FILE
) $(DESTDIR
)$(prefix)/$(LIBDIRNAME
)/
87 ln
-sf
$(SHLIB_FILE
) $(DESTDIR
)$(prefix)/$(LIBDIRNAME
)/libuci.
$(SHLIB_EXT
)
88 $(MKDIR
) -p
$(DESTDIR
)$(prefix)/bin
89 $(INSTALL
) -m0755 uci
$(DESTDIR
)$(prefix)/bin
/
91 test: all ucimap-example