642a485f4fe0f8302c8322173f7c0904c13a0004
[libc-test] / src / general / Makefile
1 CFLAGS+=-pipe -std=c99 -D_POSIX_C_SOURCE=200809L -Wall -Wno-unused-function -Wno-missing-braces
2 LDFLAGS+=
3
4 SRC=$(sort $(wildcard *.c))
5 OBJ=$(SRC:.c=.o)
6 DSOOBJ=$(filter %_dso.o,$(OBJ))
7 BINOBJ=$(filter-out %_dso.o,$(OBJ))
8 DSO=$(DSOOBJ:.o=.so)
9 BIN=$(BINOBJ:.o=)
10
11 -include ../../config.mak
12
13 all: $(BIN) $(DSO)
14 run: all
15         @N=0; for i in $(BIN);do ./$$i || N=$$((N+1)); done; [ "$$N" = 0 ] && echo PASS || echo FAILS: $$N
16 clean:
17         rm -f $(OBJ) $(DSO) $(BIN)
18
19 $(OBJ): test.h
20 $(DSOOBJ): CFLAGS += -fPIC
21 %.o: %.c
22         $(CC) $(CFLAGS) -c -o $@ $< || true
23 %.so: %.o
24         $(CC) $(LDFLAGS) -shared -o $@ $< || true
25 %: %.o
26         $(CC) $(LDFLAGS) -o $@ $(patsubst %.so,./%.so,$+) || true
27
28 dlopen: LDFLAGS+=-ldl -rdynamic
29 pthread: LDFLAGS+=-lpthread
30 sem: LDFLAGS+=-lpthread -lrt
31 strtod_simple: LDFLAGS+=-lm
32 tls_align: tls_align_dso.so
33 tls_align_dlopen: LDFLAGS+=-ldl
34 tls_init: LDFLAGS+=-lpthread