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