minor makefile fixes
[retrobench] / Makefile
1 src = $(wildcard src/*.c)
2 ssrc = $(wildcard src/*.s) sinlut.s
3 src_x11 = $(wildcard src/x11/*.c)
4 src_fbdev = $(wildcard src/fbdev/*.c)
5 obj_x11 = $(src_x11:.c=.o) $(src:.c=.o) $(ssrc:.s=.o)
6 obj_fbdev = $(src_fbdev:.c=.o) $(src:.c=.o) $(ssrc:.s=.o)
7 dep = $(src:.c=.d) $(src_x11:.c=.d) $(src_fbdev:.c=.d)
8 bin_x11 = rbench_x11
9 bin_fbdev = rbench_fbdev
10
11 warn = -pedantic -Wall -Wno-deprecated-declarations
12 dbg = -g
13 opt = -O3 -ffast-math -fno-strict-aliasing
14 inc = -Isrc
15
16 CFLAGS = $(ccarch) $(warn) $(dbg) $(opt) $(inc) -MMD
17 ASFLAGS = $(asarch)
18 LDFLAGS_x11 = -L/usr/X11R6/lib -lX11 -lXext
19 LDFLAGS_fbdev =
20
21 ifeq ($(shell uname -m), x86_64)
22         ccarch = -m32
23         asarch = --32
24 endif
25
26 .PHONY: all
27 all: $(bin_x11) $(bin_fbdev)
28
29 $(bin_x11): $(obj_x11)
30         $(CC) -o $@ $(ccarch) $(obj_x11) $(LDFLAGS_x11)
31
32 $(bin_fbdev): $(obj_fbdev)
33         $(CC) -o $@ $(ccarch) $(obj_fbdev) $(LDFLAGS_fbdev)
34
35 sinlut.s: tools/lutgen
36         tools/lutgen >$@
37
38 -include $(dep)
39
40 .PHONY: clean
41 clean:
42         $(RM) $(obj_x11) $(obj_fbdev) $(bin_x11) $(bin_fbdev)
43
44 .PHONY: cleandep
45 cleandep:
46         $(RM) $(dep)
47
48 tools/lutgen: tools/lutgen.c
49         $(CC) -o $@ $< -lm