| 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 |