1 2# find the OS 3uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') 4 5# Compile flags for linux / osx 6ifeq ($(uname_S),Linux) 7 SHOBJ_CFLAGS ?= -W -Wall -fno-common -g -ggdb -std=c99 -O2 8 SHOBJ_LDFLAGS ?= -shared 9else 10 SHOBJ_CFLAGS ?= -W -Wall -dynamic -fno-common -g -ggdb -std=c99 -O2 11 SHOBJ_LDFLAGS ?= -bundle -undefined dynamic_lookup 12endif 13 14.SUFFIXES: .c .so .xo .o 15 16all: commandfilter.so 17 18.c.xo: 19 $(CC) -I../../src $(CFLAGS) $(SHOBJ_CFLAGS) -fPIC -c $< -o $@ 20 21commandfilter.xo: ../../src/redismodule.h 22 23commandfilter.so: commandfilter.xo 24 $(LD) -o $@ $< $(SHOBJ_LDFLAGS) $(LIBS) -lc 25