urcu-pointer: create specific objects and headers to deal with RCU pointers
[urcu.git] / Makefile.inc
CommitLineData
833dbdb6
MD
1
2include Makefile.build.inc
3
4DIRS=tests
5
7ac06cef
MD
6all: 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
13checkarch:
14ifeq (${ARCHTYPE},)
15 @echo "Architecture ${HOSTTYPE} is currently unsupported by liburcu"
16 @exit 1
17endif
18
ec4e58a3
MD
19urcu/arch.h: urcu/arch_${ARCHTYPE}.h
20 cp -f urcu/arch_${ARCHTYPE}.h urcu/arch.h
833dbdb6 21
ec4e58a3
MD
22urcu/arch_uatomic.h: urcu/arch_uatomic_${ARCHTYPE}.h
23 cp -f urcu/arch_uatomic_${ARCHTYPE}.h urcu/arch_uatomic.h
833dbdb6 24
ec4e58a3 25urcu.h: urcu/arch.h urcu/arch_uatomic.h
833dbdb6 26
ec4e58a3 27urcu-qsbr.h: urcu/arch.h urcu/arch_uatomic.h
833dbdb6 28
7e30abe3
MD
29urcu-pointer.o: urcu-pointer.c urcu-pointer.h urcu-pointer-static.h
30 $(CC) -fPIC ${CFLAGS} -c -o $@ $(SRC_DEP)
31
833dbdb6 32urcu.o: urcu.c urcu.h
17999ad8 33 $(CC) -fPIC ${CFLAGS} -c -o $@ $(SRC_DEP)
833dbdb6
MD
34
35urcu-mb.o: urcu.c urcu.h
17999ad8 36 $(CC) -fPIC -DURCU_MB ${CFLAGS} -c -o $@ $(SRC_DEP)
833dbdb6
MD
37
38urcu-qsbr.o: urcu-qsbr.c urcu-qsbr.h
17999ad8 39 $(CC) -fPIC ${CFLAGS} -c -o $@ $(SRC_DEP)
833dbdb6 40
786ee85b 41urcu-defer.o: urcu-defer.c urcu-defer.h
17999ad8 42 $(CC) -fPIC ${CFLAGS} -c -o $@ $(SRC_DEP)
90075a50 43
7e30abe3 44liburcu.so: urcu.o urcu-pointer.o
a669219f 45 $(CC) ${LDFLAGS} -fPIC -shared -o $@ $<
833dbdb6 46
7e30abe3 47liburcu-qsbr.so: urcu-qsbr.o urcu-pointer.o
a669219f 48 $(CC) ${LDFLAGS} -fPIC -shared -o $@ $<
7ac06cef 49
7e30abe3 50liburcu-mb.so: urcu-mb.o urcu-pointer.o
a669219f 51 $(CC) ${LDFLAGS} -fPIC -shared -o $@ $<
7ac06cef 52
786ee85b 53liburcu-defer.so: urcu-defer.o
90075a50
MD
54 $(CC) ${LDFLAGS} -fPIC -shared -o $@ $<
55
833dbdb6 56urcu-yield.o: urcu.c urcu.h
17999ad8 57 $(CC) -DDEBUG_YIELD ${CFLAGS} -c -o $@ $(SRC_DEP)
833dbdb6
MD
58
59.PHONY: clean install checkarch tests
60
61subdirs:
a669219f 62 -for d in ${DIRS}; do cd $${d}; ${MAKE} ${MFLAGS} ${EXTRAMFLAGS}; done
833dbdb6
MD
63
64install: liburcu.so
2f873279
MD
65 cp -f liburcu.so liburcu-mb.so liburcu-qsbr.so liburcu-defer.so \
66 /usr/lib/
ec4e58a3
MD
67 mkdir -p /usr/include/urcu
68 cp -f urcu/arch.h urcu/arch_uatomic.h urcu/compiler.h \
63ff4873 69 urcu/list.h urcu/rculist.h urcu/hlist.h \
ec4e58a3
MD
70 /usr/include/urcu/
71 cp -f urcu.h urcu-static.h \
2f873279
MD
72 urcu-qsbr.h urcu-qsbr-static.h \
73 urcu-defer.h urcu-defer-static.h \
7e30abe3 74 urcu-pointer.h urcu-pointer-static.h \
7ac06cef 75 /usr/include/
833dbdb6
MD
76
77clean:
ec4e58a3 78 rm -f *.o *.so urcu/arch.h urcu/arch_uatomic.h
833dbdb6 79 -for d in ${DIRS}; do cd $${d}; ${MAKE} clean; done
This page took 0.02603 seconds and 4 git commands to generate.