Split out architecture-dependent definitions into api.h and arch.h.
[urcu.git] / Makefile
1
2 CFLAGS=-Wall -O2 -g
3 LDFLAGS=-lpthread
4
5 #debug
6 #CFLAGS=-Wall -g
7 #CFLAGS+=-DDEBUG_FULL_MB
8
9 SRC_DEP=`echo $^ | sed 's/[^ ]*.h//g'`
10
11 all: test_urcu test_urcu_timing test_rwlock_timing test_urcu_yield urcu-asm.S \
12 urcu-asm.o urcutorture urcutorture-yield
13
14 pthreads-x86: clean
15 cp api_x86.h api.h
16 cp arch_x86.h arch.h
17
18 pthreads-ppc: clean
19 cp api_ppc.h api.h
20 cp arch_ppc.h arch.h
21
22 test_urcu: urcu.o test_urcu.c urcu.h
23 $(CC) ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
24
25 test_urcu_yield: urcu-yield.o test_urcu.c urcu.h
26 $(CC) -DDEBUG_YIELD ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
27
28 test_urcu_timing: urcu.o test_urcu_timing.c urcu.h
29 $(CC) ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
30
31 test_rwlock_timing: urcu.o test_rwlock_timing.c urcu.h
32 $(CC) ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
33
34 urcu.o: urcu.c urcu.h
35 $(CC) ${CFLAGS} $(LDFLAGS) -c -o $@ $(SRC_DEP)
36
37 urcu-yield.o: urcu.c urcu.h
38 $(CC) -DDEBUG_YIELD ${CFLAGS} $(LDFLAGS) -c -o $@ $(SRC_DEP)
39
40 urcu-asm.S: urcu-asm.c urcu.h
41 $(CC) ${CFLAGS} -S -o $@ $(SRC_DEP)
42
43 urcu-asm.o: urcu-asm.c urcu.h
44 $(CC) ${CFLAGS} -c -o $@ $(SRC_DEP)
45
46 urcutorture: urcutorture.c urcu.o urcu.h rcutorture.h
47 $(CC) ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
48
49 urcutorture-yield: urcutorture.c urcu-yield.o urcu.h rcutorture.h
50 $(CC) -DDEBUG_YIELD ${CFLAGS} $(LDFLAGS) -o $@ $(SRC_DEP)
51
52 .PHONY: clean
53
54 clean:
55 rm -f *.o test_urcu test_urcu_timing test_rwlock_timing urcu-asm.S \
56 test_urcu_yield
This page took 0.030134 seconds and 5 git commands to generate.