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 | ||
ec4e58a3 MD |
19 | urcu/arch.h: urcu/arch_${ARCHTYPE}.h |
20 | cp -f urcu/arch_${ARCHTYPE}.h urcu/arch.h | |
833dbdb6 | 21 | |
ec4e58a3 MD |
22 | urcu/arch_uatomic.h: urcu/arch_uatomic_${ARCHTYPE}.h |
23 | cp -f urcu/arch_uatomic_${ARCHTYPE}.h urcu/arch_uatomic.h | |
833dbdb6 | 24 | |
ec4e58a3 | 25 | urcu.h: urcu/arch.h urcu/arch_uatomic.h |
833dbdb6 | 26 | |
ec4e58a3 | 27 | urcu-qsbr.h: urcu/arch.h urcu/arch_uatomic.h |
833dbdb6 MD |
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 | |
2f873279 MD |
62 | cp -f liburcu.so liburcu-mb.so liburcu-qsbr.so liburcu-defer.so \ |
63 | /usr/lib/ | |
ec4e58a3 MD |
64 | mkdir -p /usr/include/urcu |
65 | cp -f urcu/arch.h urcu/arch_uatomic.h urcu/compiler.h \ | |
63ff4873 | 66 | urcu/list.h urcu/rculist.h urcu/hlist.h \ |
ec4e58a3 MD |
67 | /usr/include/urcu/ |
68 | cp -f urcu.h urcu-static.h \ | |
2f873279 MD |
69 | urcu-qsbr.h urcu-qsbr-static.h \ |
70 | urcu-defer.h urcu-defer-static.h \ | |
7ac06cef | 71 | /usr/include/ |
833dbdb6 MD |
72 | |
73 | clean: | |
ec4e58a3 | 74 | rm -f *.o *.so urcu/arch.h urcu/arch_uatomic.h |
833dbdb6 | 75 | -for d in ${DIRS}; do cd $${d}; ${MAKE} clean; done |