Merge symbol tables. (Not fully ELF conformant)
[centaur.git] / Makefile
index df5f59fc4e95f672bdfc7ba4ca52ea4433d5b21f..641817907db2fd85c684f8b4b4991d0120f9eac3 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,6 @@
-PROJ := elfedit
+PROJ := elfucli
+
+LIBRARIES := libelf
 
 BUILDDIR   := build
 INCLUDEDIR := include
@@ -11,9 +13,9 @@ HEADERS += $(shell find $(SRCDIR)/ -iname "*.h")
 SOURCES := $(shell find $(SRCDIR)/ -iname "*.c")
 OBJS    := $(patsubst %.c, $(BUILDDIR)/%.o, $(SOURCES))
 
-INCLUDES := $(patsubst %, -I%, $(INCLUDEDIR) $(SRCDIR)) -I /usr/include/libelf
-CFLAGS   := -g -Wall
-LDFLAGS  := -lelf
+INCLUDES := $(patsubst %, -I%, $(INCLUDEDIR) $(SRCDIR)) $(shell pkg-config --cflags-only-I $(LIBRARIES))
+CFLAGS   := -g -Wall $(shell pkg-config --cflags-only-other $(LIBRARIES))
+LDFLAGS  := $(shell pkg-config --libs $(LIBRARIES))
 
 
 
@@ -21,10 +23,23 @@ LDFLAGS  := -lelf
 default: $(EXE)
 
 
+.PHONY: check
+check: $(EXE)
+       $(error the re-layouting has broken make check for now, sorry.)
+       $(EXE) $(EXE) -o testexe
+       @cmp $(EXE) testexe
+       @rm testexe
+       @echo "Check successful."
+
+
+.PHONY: debug
+debug: $(EXE)
+       gdb $(EXE) $(shell ps -e | sed "s/^ *\([0-9]\+\) .*$(PROJ).*$$/\1/g;te;d;:e")
+
 
 $(EXE): $(OBJS)
        @if [ ! -d $(BUILDDIR) ] ; then echo "Error: Build dir '$(BUILDDIR)' does not exist." ; false ; fi
-       gcc $(LDFLAGS) -o $@ $^
+       gcc -o $@ $^ $(LDFLAGS)
 
 
 $(BUILDDIR)/$(SRCDIR)/%.o: $(SRCDIR)/%.c $(HEADERS)