Commit | Line | Data |
---|---|---|
833dbdb6 MD |
1 | |
2 | include Makefile.build.inc | |
3 | ||
4 | DIRS=tests | |
5 | ||
7ac06cef MD |
6 | all: checkarch liburcu.so urcu.o \ |
7 | liburcu-qsbr.so urcu-qsbr.o \ | |
8 | liburcu-mb.so urcu-mb.o \ | |
786ee85b | 9 | liburcu-defer.so urcu-defer.o \ |
7ac06cef MD |
10 | urcu-yield.o \ |
11 | subdirs | |
833dbdb6 MD |
12 | |
13 | checkarch: | |
14 | ifeq (${ARCHTYPE},) | |
15 | @echo "Architecture ${HOSTTYPE} is currently unsupported by liburcu" | |
16 | @exit 1 | |
17 | endif | |
18 | ||
19 | arch.h: arch_${ARCHTYPE}.h | |
20 | cp -f arch_${ARCHTYPE}.h arch.h | |
21 | ||
22 | arch_atomic.h: arch_atomic_${ARCHTYPE}.h | |
23 | cp -f arch_atomic_${ARCHTYPE}.h arch_atomic.h | |
24 | ||
25 | urcu.h: arch.h arch_atomic.h | |
26 | ||
27 | urcu-qsbr.h: arch.h arch_atomic.h | |
28 | ||
29 | urcu.o: urcu.c urcu.h | |
17999ad8 | 30 | $(CC) -fPIC ${CFLAGS} -c -o $@ $(SRC_DEP) |
833dbdb6 MD |
31 | |
32 | urcu-mb.o: urcu.c urcu.h | |
17999ad8 | 33 | $(CC) -fPIC -DURCU_MB ${CFLAGS} -c -o $@ $(SRC_DEP) |
833dbdb6 MD |
34 | |
35 | urcu-qsbr.o: urcu-qsbr.c urcu-qsbr.h | |
17999ad8 | 36 | $(CC) -fPIC ${CFLAGS} -c -o $@ $(SRC_DEP) |
833dbdb6 | 37 | |
786ee85b | 38 | urcu-defer.o: urcu-defer.c urcu-defer.h |
17999ad8 | 39 | $(CC) -fPIC ${CFLAGS} -c -o $@ $(SRC_DEP) |
90075a50 | 40 | |
833dbdb6 | 41 | liburcu.so: urcu.o |
a669219f | 42 | $(CC) ${LDFLAGS} -fPIC -shared -o $@ $< |
833dbdb6 | 43 | |
7ac06cef | 44 | liburcu-qsbr.so: urcu-qsbr.o |
a669219f | 45 | $(CC) ${LDFLAGS} -fPIC -shared -o $@ $< |
7ac06cef MD |
46 | |
47 | liburcu-mb.so: urcu-mb.o | |
a669219f | 48 | $(CC) ${LDFLAGS} -fPIC -shared -o $@ $< |
7ac06cef | 49 | |
786ee85b | 50 | liburcu-defer.so: urcu-defer.o |
90075a50 MD |
51 | $(CC) ${LDFLAGS} -fPIC -shared -o $@ $< |
52 | ||
833dbdb6 | 53 | urcu-yield.o: urcu.c urcu.h |
17999ad8 | 54 | $(CC) -DDEBUG_YIELD ${CFLAGS} -c -o $@ $(SRC_DEP) |
833dbdb6 MD |
55 | |
56 | .PHONY: clean install checkarch tests | |
57 | ||
58 | subdirs: | |
a669219f | 59 | -for d in ${DIRS}; do cd $${d}; ${MAKE} ${MFLAGS} ${EXTRAMFLAGS}; done |
833dbdb6 MD |
60 | |
61 | install: liburcu.so | |
7ac06cef MD |
62 | cp -f liburcu.so liburcu-mb.so liburcu-qsbr.so /usr/lib/ |
63 | cp -f arch.h arch_atomic.h compiler.h \ | |
64 | urcu.h urcu-static.h \ | |
65 | urcu-qsbr.h urcu-qsbr-static.h \ | |
66 | /usr/include/ | |
833dbdb6 MD |
67 | |
68 | clean: | |
69 | rm -f *.o *.so arch.h arch_atomic.h | |
70 | -for d in ${DIRS}; do cd $${d}; ${MAKE} clean; done |