9 WOPTS=-pedantic -Wno-unused -Werror
11 CFLAGS=$(COPTS) $(WOPTS) -Wall -std=gnu99
31 SHLIB_FLAGS=-shared -Wl,-soname,$(SHLIB_FILE)
33 SHLIB_FILE=libuci.$(SHLIB_EXT).$(VERSION)
36 @echo "$(if $(findstring 1,$($(1))),#define UCI_$(1) 1,#undef UCI_$(1))" >> $@.tmp
39 LIBUCI_DEPS=file.c history.c list.c util.c uci.h uci_config.h uci_internal.h
41 all: uci-static uci libuci.$(SHLIB_EXT)
43 cli.o: cli.c uci.h uci_config.h
47 $(call add_feature,PLUGIN_SUPPORT)
48 $(call add_feature,DEBUG)
49 $(call add_feature,DEBUG_TYPECAST)
50 @if [ \! -f "$@" ] || ! cmp "$@.tmp" "$@" >/dev/null; then \
56 uci: cli.o libuci.$(SHLIB_EXT)
57 $(CC) -o $@ $< -L. -luci
59 uci-static: cli.o libuci.a
60 $(CC) $(CFLAGS) -o $@ $^
62 libuci-static.o: libuci.c $(LIBUCI_DEPS)
63 $(CC) $(CFLAGS) -c -o $@ $<
65 libuci-shared.o: libuci.c $(LIBUCI_DEPS)
66 $(CC) $(CFLAGS) $(FPIC) -c -o $@ $<
68 libuci.a: libuci-static.o
73 libuci.$(SHLIB_EXT): libuci-shared.o
74 $(LINK) $(SHLIB_FLAGS) -o $(SHLIB_FILE) $^ $(LIBS)
75 ln -sf $(SHLIB_FILE) $@
78 rm -f uci uci-static *.[oa] *.so* *.dylib* uci_config.h