GCC=gcc
# Normal CFLAGS
-CFLAGS=-ggdb -O1 -pipe -DDEBUG=1
+CFLAGS=-ggdb -O1 -pipe -Wshadow -Wall -DDEBUG=1
LDFLAGS=-Wl,-O1 -Wl,--sort-common -Wl,--as-needed
#CFLAGS=-ggdb -O1 -pipe -DDEBUG=1 -ffunction-sections -fdata-sections
#LDFLAGS=-Wl,--gc-sections -Wl,--print-gc-sections
all: tilda
-tilda: tilda.o tilda-window.o tilda-terminal.o tomboykeybinder.o tomboyutil.o eggaccelerators.o
+tilda: tilda.o tilda-controller.o tilda-window.o tilda-terminal.o tomboykeybinder.o eggaccelerators.o
$(GCC) $(CFLAGS) $(LDFLAGS) $^ -o $@ $(ALL_LIBS)
-tilda.o: tilda.c
+tilda.o: tilda.c tilda.h
$(GCC) $(CFLAGS) -c -o $@ $< $(ALL_CFLAGS)
-tilda-window.o: tilda-window.c tilda-window.h
+tilda-controller.o: tilda-controller.c tilda-controller.h tilda-controller.xml
+ dbus-binding-tool --mode=glib-server --prefix=tilda_controller tilda-controller.xml > tilda-controller-dbus-glue.h
+ $(GCC) $(CFLAGS) -c -o $@ $< $(ALL_CFLAGS)
+
+tilda-window.o: tilda-window.c tilda-window.h tilda-window.xml
dbus-binding-tool --mode=glib-server --prefix=tilda_window tilda-window.xml > tilda-window-dbus-glue.h
$(GCC) $(CFLAGS) -c -o $@ $< $(ALL_CFLAGS)
-tilda-terminal.o: tilda-terminal.c tilda-terminal.h
+tilda-terminal.o: tilda-terminal.c tilda-terminal.h tilda-terminal.xml
dbus-binding-tool --mode=glib-server --prefix=tilda_terminal tilda-terminal.xml > tilda-terminal-dbus-glue.h
$(GCC) $(CFLAGS) -c -o $@ $< $(ALL_CFLAGS)
tomboykeybinder.o: tomboykeybinder.c tomboykeybinder.h
$(GCC) $(CFLAGS) -c -o $@ $< $(ALL_CFLAGS)
-tomboyutil.o: tomboyutil.c tomboyutil.h
- $(GCC) $(CFLAGS) -c -o $@ $< $(ALL_CFLAGS)
-
eggaccelerators.o: eggaccelerators.c eggaccelerators.h
$(GCC) $(CFLAGS) -c -o $@ $< $(ALL_CFLAGS)
memcheck: tilda
- valgrind --tool=memcheck ./tilda
+ # Variables to make GLib work MUCH better in valgrind
+ export G_DEBUG=gc-friendly
+ export G_SLICE=always-malloc
+ valgrind --suppressions=tilda.suppressions --tool=memcheck --leak-check=full ./tilda
clean:
rm -f *.o
rm -f tilda-window
rm -f tilda-terminal
rm -f tilda
+ rm -f tilda-controller-dbus-glue.h
rm -f tilda-window-dbus-glue.h
rm -f tilda-terminal-dbus-glue.h