-CC?=gcc
-CFLAGS?=-O2
-CFLAGS+=-std=gnu99 -Wall -Werror -pedantic -fpic
-LDFLAGS?=
-LIBNL=-lnl-tiny
-PREFIX=/usr
-INCLUDE_DIR=$(PREFIX)/include/libubox
-LIBDIR=$(PREFIX)/lib
-CPPFLAGS=
-
-OS=$(shell uname)
-FILES=blob.c blobmsg.c hash.c uhtbl.c usock.c uloop.c avl.c
-ifeq ($(OS),Linux)
- FILES += unl.c
- LIBS += $(LIBNL)
- LDFLAGS_SHARED=-shared -Wl,-soname,$@
- SHLIB_EXT=so
-endif
-ifeq ($(OS),Darwin)
- LDFLAGS_SHARED=-dynamiclib
- SHLIB_EXT=dylib
-endif
-
-all: libubox.$(SHLIB_EXT)
-
-libubox.$(SHLIB_EXT): $(FILES)
- $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS) $(LDFLAGS_SHARED)
-
-install-headers:
- mkdir -p $(INCLUDE_DIR)
- cp *.h $(INCLUDE_DIR)/
-
-install-lib:
- mkdir -p $(LIBDIR)
- cp libubox.$(SHLIB_EXT) $(LIBDIR)/
-
-install: install-lib install-headers
-
-clean:
- rm -f *.$(SHLIB_EXT)
-