CFLAGS+=-pipe -std=c99 -D_POSIX_C_SOURCE=200809L -Wall -Wno-unused-function -Wno-missing-braces LDFLAGS+= SRC=$(sort $(wildcard *.c)) OBJ=$(SRC:.c=.o) DSOOBJ=$(filter %_dso.o,$(OBJ)) BINOBJ=$(filter-out %_dso.o,$(OBJ)) DSO=$(DSOOBJ:.o=.so) BIN=$(BINOBJ:.o=) -include ../../config.mak all: $(BIN) $(DSO) run: all @N=0; for i in $(BIN);do ./$$i || N=$$((N+1)); done; [ "$$N" = 0 ] && echo PASS || echo FAILS: $$N clean: rm -f $(OBJ) $(DSO) $(BIN) $(OBJ): test.h $(DSOOBJ): CFLAGS += -fPIC %.o: %.c $(CC) $(CFLAGS) -c -o $@ $< || true %.so: %.o $(CC) $(LDFLAGS) -shared -o $@ $< || true %: %.o $(CC) $(LDFLAGS) -o $@ $(patsubst %.so,./%.so,$+) || true dlopen: LDFLAGS+=-ldl -rdynamic pthread: LDFLAGS+=-lpthread sem: LDFLAGS+=-lpthread -lrt strtod_simple: LDFLAGS+=-lm tls_align: tls_align_dso.so tls_align_dlopen: LDFLAGS+=-ldl tls_init: LDFLAGS+=-lpthread