2 include Makefile.build.inc
6 all: checkarch liburcu.so urcu.o urcu-yield.o urcu-qsbr.o urcu-mb.o subdirs
10 @echo "Architecture ${HOSTTYPE} is currently unsupported by liburcu"
14 arch.h: arch_${ARCHTYPE}.h
15 cp -f arch_${ARCHTYPE}.h arch.h
17 arch_atomic.h: arch_atomic_${ARCHTYPE}.h
18 cp -f arch_atomic_${ARCHTYPE}.h arch_atomic.h
20 urcu.h: arch.h arch_atomic.h
22 urcu-qsbr.h: arch.h arch_atomic.h
25 $(CC) -fPIC ${CFLAGS} $(LDFLAGS) -c -o $@ $(SRC_DEP)
27 urcu-mb.o: urcu.c urcu.h
28 $(CC) -fPIC -DCONFIG_URCU_AVOID_SIGNALS ${CFLAGS} $(LDFLAGS) -c -o $@ $(SRC_DEP)
30 urcu-qsbr.o: urcu-qsbr.c urcu-qsbr.h
31 $(CC) -fPIC ${CFLAGS} $(LDFLAGS) -c -o $@ $(SRC_DEP)
34 $(CC) -fPIC -shared -o $@ $<
36 urcu-yield.o: urcu.c urcu.h
37 $(CC) -DDEBUG_YIELD ${CFLAGS} $(LDFLAGS) -c -o $@ $(SRC_DEP)
39 .PHONY: clean install checkarch tests
42 -for d in ${DIRS}; do cd $${d}; ${MAKE} ${MFLAGS}; done
45 cp -f liburcu.so /usr/lib/
46 cp -f arch.h arch_atomic.h compiler.h urcu.h urcu-static.h /usr/include/
49 rm -f *.o *.so arch.h arch_atomic.h
50 -for d in ${DIRS}; do cd $${d}; ${MAKE} clean; done