Makefile 877 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. # find the OS
  2. uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
  3. # Compile flags for linux / osx
  4. ifeq ($(uname_S),Linux)
  5. SHOBJ_CFLAGS ?= -W -Wall -fno-common -g -ggdb -std=c99 -O2
  6. SHOBJ_LDFLAGS ?= -shared
  7. else
  8. SHOBJ_CFLAGS ?= -W -Wall -dynamic -fno-common -g -ggdb -std=c99 -O2
  9. SHOBJ_LDFLAGS ?= -bundle -undefined dynamic_lookup
  10. endif
  11. TEST_MODULES = \
  12. commandfilter.so \
  13. testrdb.so \
  14. fork.so \
  15. infotest.so \
  16. propagate.so \
  17. misc.so \
  18. hooks.so \
  19. blockonkeys.so \
  20. scan.so \
  21. datatype.so \
  22. auth.so
  23. .PHONY: all
  24. all: $(TEST_MODULES)
  25. 32bit:
  26. $(MAKE) CFLAGS="-m32" LDFLAGS="-melf_i386"
  27. %.xo: %.c ../../src/redismodule.h
  28. $(CC) -I../../src $(CFLAGS) $(SHOBJ_CFLAGS) -fPIC -c $< -o $@
  29. %.so: %.xo
  30. $(LD) -o $@ $< $(SHOBJ_LDFLAGS) $(LDFLAGS) $(LIBS) -lc
  31. .PHONY: clean
  32. clean:
  33. rm -f $(TEST_MODULES) $(TEST_MODULES:.so=.xo)