Makefile 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. CFLAGS += -std=c99 -D_BSD_SOURCE
  2. CPPFLAGS += -D_GNU_SOURCE
  3. ifeq ($(origin PKG_CONFIG), undefined)
  4. PKG_CONFIG = pkg-config
  5. ifeq ($(shell which $(PKG_CONFIG) 2>/dev/null),)
  6. $(error $(PKG_CONFIG) not found)
  7. endif
  8. endif
  9. ifeq ($(origin LIBNL_CFLAGS) $(origin LIBNL_LDLIBS), undefined undefined)
  10. LIBNL_NAME ?= libnl-tiny
  11. ifeq ($(shell $(PKG_CONFIG) --modversion $(LIBNL_NAME) 2>/dev/null),)
  12. $(error No $(LIBNL_NAME) development libraries found!)
  13. endif
  14. LIBNL_CFLAGS += $(shell $(PKG_CONFIG) --cflags $(LIBNL_NAME))
  15. LIBNL_LDLIBS += $(shell $(PKG_CONFIG) --libs $(LIBNL_NAME))
  16. endif
  17. CFLAGS_JSONC = $(shell pkg-config --cflags json-c)
  18. LDFLAGS_JSONC = $(shell pkg-config --libs json-c)
  19. ifeq ($(origin LIBBATADV_CFLAGS) $(origin LIBBATADV_LDLIBS), undefined undefined)
  20. LIBBATADV_NAME ?= libbatadv
  21. ifeq ($(shell $(PKG_CONFIG) --modversion $(LIBBATADV_NAME) 2>/dev/null),)
  22. $(error No $(LIBBATADV_NAME) development libraries found!)
  23. endif
  24. LIBBATADV_CFLAGS += $(shell $(PKG_CONFIG) --cflags $(LIBBATADV_NAME))
  25. LIBBATADV_LDLIBS += $(shell $(PKG_CONFIG) --libs $(LIBBATADV_NAME))
  26. endif
  27. all: neighbours-batadv stations respondd.so
  28. neighbours-batadv: neighbours-batadv.c
  29. $(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_JSONC) $(LIBNL_CFLAGS) $(LIBBATADV_CFLAGS) $(LDFLAGS) $(LDFLAGS_JSONC) $(LIBNL_LDLIBS) $(LIBBATADV_LDLIBS) -Wall -o $@ $^ $(LDLIBS)
  30. stations: stations.c
  31. $(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_JSONC) $(LDFLAGS) $(LDFLAGS_JSONC) -Wall -o $@ $^ $(LDLIBS) -liwinfo
  32. respondd.so: respondd.c
  33. $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -shared -fPIC -o $@ $^ $(LDLIBS)