11 SHLIB_FILE=libuci.$(SHLIB_EXT).$(VERSION)
14 @echo "$(if $(findstring 1,$($(1))),#define UCI_$(1) 1,#undef UCI_$(1))" >> $@.tmp
23 all: uci libuci.$(SHLIB_EXT) uci-static ucimap-example
25 $(eval $(call add_dep,libuci,file.c history.c list.c util.c uci.h uci_config.h uci_internal.h))
26 $(eval $(call add_dep,ucimap,uci.h uci_config.h ucimap.h))
28 cli.o: cli.c uci.h uci_config.h
32 @echo "#define UCI_PREFIX \"$(prefix)\"" > "$@.tmp"
33 $(call add_feature,PLUGIN_SUPPORT)
34 $(call add_feature,DEBUG)
35 $(call add_feature,DEBUG_TYPECAST)
36 @if [ \! -f "$@" ] || ! cmp "$@.tmp" "$@" >/dev/null; then \
43 $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $<
46 $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $<
49 $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(FPIC) $<
51 uci: cli.o libuci.$(SHLIB_EXT)
52 $(CC) -o $@ $< -L. -luci $(LIBS)
54 uci-static: cli.o libuci.a
55 $(CC) $(CFLAGS) -o $@ $^ $(LIBS)
57 ucimap.c: ucimap.h uci.h
59 libuci.a: libuci.static.o ucimap.static.o
64 libuci.$(SHLIB_EXT): libuci.shared.o ucimap.shared.o
65 $(LINK) $(SHLIB_FLAGS) -o $(SHLIB_FILE) $^ $(LIBS)
66 ln -sf $(SHLIB_FILE) $@
68 ucimap-example.c: list.h
69 ucimap-example: ucimap-example.o libuci.a
70 $(CC) $(CFLAGS) -o $@ $^ $(LIBS)
73 rm -f uci uci-static *.[oa] *.so* *.dylib* uci_config.h ucimap-example
75 install: install-bin install-dev
78 $(MKDIR) -p $(DESTDIR)$(prefix)/$(LIBDIRNAME)
79 $(MKDIR) -p $(DESTDIR)$(prefix)/include
80 $(INSTALL) -m0644 libuci.a $(DESTDIR)$(prefix)/$(LIBDIRNAME)/
81 $(INSTALL) -m0644 uci_config.h uci.h ucimap.h $(DESTDIR)$(prefix)/include/
84 $(MKDIR) -p $(DESTDIR)$(prefix)/$(LIBDIRNAME)
85 $(INSTALL) -m0755 $(SHLIB_FILE) $(DESTDIR)$(prefix)/$(LIBDIRNAME)/
86 ln -sf $(SHLIB_FILE) $(DESTDIR)$(prefix)/$(LIBDIRNAME)/libuci.$(SHLIB_EXT)
87 $(MKDIR) -p $(DESTDIR)$(prefix)/bin
88 $(INSTALL) -m0755 uci $(DESTDIR)$(prefix)/bin/
90 test: all ucimap-example