summaryrefslogtreecommitdiff
path: root/Makefile.in
blob: 07ce2e00931c495057c1ae2f9c926900fbe08d4f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# autoconf directories
prefix      = @prefix@
exec_prefix = @exec_prefix@
libdir      = @libdir@
includedir  = @includedir@

# autoconf variables
CC          = @CC@
MESA        = @MESA_DIR@
CFLAGS      = @CFLAGS@ -Isrc @GTK_CFLAGS@ $(MESA_INCLUDES) -DDEBUG
LDFLAGS     = @LDFLAGS@ @GTK_LIBS@ $(MESA_LIBS)

# Makefile hardcoded
MESA_INCLUDES = \
	-I$(MESA)/include \
	-I$(MESA)src/gallium/include \
	-I$(MESA)src/gallium/auxiliary \
	-I$(MESA)src/gallium/drivers

MESA_LIBS     = \
	$(MESA)/src/gallium/auxiliary/.libs/libgallium.a \
	$(MESA)/src/util/.libs/libmesautil.a \
	-lm -ldl

TARGET  := rbug-gui
ODIR    := .obj
CDIR    := src

CFILES   := $(wildcard $(CDIR)/*.c)
OFILES   := $(patsubst $(CDIR)/%.c,$(ODIR)/%.o,$(CFILES))
DFILES   := $(patsubst $(CDIR)/%.c,$(ODIR)/%.d,$(CFILES))

all: $(TARGET)

run: $(TARGET)
	@./$(TARGET) localhost

debug: $(TARGET)
	@gdb ./$(TARGET)

valgrind: $(TARGET)
	@valgrind --leak-check=full --track-origins=yes ./$(TARGET)

$(ODIR):
	@echo " :: creating $@ directory"
	@mkdir -p $@

$(TARGET): $(OFILES)
	@echo " :: linking $@"
	@$(CC) $^ $(LDFLAGS) -o $@

$(OFILES): $(ODIR)/%.o: $(CDIR)/%.c Makefile
	@echo " :: compiling $<"
	@$(CC) $(CFLAGS) -o $@ -c $< -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)"

clean:
	@echo " :: cleaning"
	@-rm -rf $(ODIR) $(TARGET)

distclean: clean
	@-rm -rf aclocal.m4 autoscan.log autom4te.cache Makefile
	@-rm -rf config.status config.log configure configure.scan

install:
	@echo " :: installing"
	@install -d @exec_prefix@/bin
	@install $(TARGET) @exec_prefix@/bin

$(CFILES): $(ODIR)

.PHONY: clean distclean run debug valgrind

sinclude $(DFILES)