12 WOPTS
=-pedantic
-Wno-unused
-Werror
14 CFLAGS
=$(COPTS
) $(WOPTS
) -Wall
-std
=gnu99
35 SHLIB_FLAGS
=-shared
-Wl
,-soname
,$(SHLIB_FILE
)
37 SHLIB_FILE
=libuci.
$(SHLIB_EXT
).
$(VERSION
)
40 @echo
"$(if $(findstring 1,$($(1))),#define UCI_$(1) 1,#undef UCI_$(1))" >> $@.tmp
43 LIBUCI_DEPS
=file.c history.c list.c util.c uci.h uci_config.h uci_internal.h
45 all: uci-static uci libuci.
$(SHLIB_EXT
)
47 cli.o
: cli.c uci.h uci_config.h
51 $(call add_feature
,PLUGIN_SUPPORT
)
52 $(call add_feature
,DEBUG
)
53 $(call add_feature
,DEBUG_TYPECAST
)
54 @if
[ \
! -f
"$@" ] ||
! cmp
"$@.tmp" "$@" >/dev
/null
; then \
60 uci
: cli.o libuci.
$(SHLIB_EXT
)
61 $(CC
) -o
$@
$< -L.
-luci
63 uci-static
: cli.o libuci.a
64 $(CC
) $(CFLAGS
) -o
$@
$^
66 libuci-static.o
: libuci.c
$(LIBUCI_DEPS
)
67 $(CC
) $(CFLAGS
) -c
-o
$@
$<
69 libuci-shared.o
: libuci.c
$(LIBUCI_DEPS
)
70 $(CC
) $(CFLAGS
) $(FPIC
) -c
-o
$@
$<
72 libuci.a
: libuci-static.o
77 libuci.
$(SHLIB_EXT
): libuci-shared.o
78 $(LINK
) $(SHLIB_FLAGS
) -o
$(SHLIB_FILE
) $^
$(LIBS
)
79 ln
-sf
$(SHLIB_FILE
) $@
82 rm -f uci uci-static
*.
[oa
] *.so
* *.dylib
* uci_config.h
85 $(INSTALL
) -m0644 libuci.a
$(DESTDIR
)$(prefix)/lib
/
86 $(INSTALL
) -m0755
$(SHLIB_FILE
) $(DESTDIR
)$(prefix)/lib
/
87 ln
-sf
$(SHLIB_FILE
) $(DESTDIR
)$(prefix)/lib
/libuci.
$(SHLIB_EXT
)
88 $(INSTALL
) -m0755 uci
$(DESTDIR
)/usr
/bin
/