summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile57
-rw-r--r--include/vag-bap.h (renamed from vag-bap.h)0
-rw-r--r--src/bap-frame.c (renamed from vag-bap-frame.c)0
-rw-r--r--src/bap-rx.c (renamed from vag-bap-rx.c)0
-rw-r--r--src/bap-tx.c (renamed from vag-bap-tx.c)0
-rw-r--r--src/bap.c (renamed from vag-bap.c)0
-rw-r--r--tools/vag-bap-dump.c (renamed from vag-bap-dump.c)0
-rw-r--r--tools/vag-bap-send.c (renamed from vag-bap-send.c)0
-rw-r--r--tools/vag-bap-sniffer.c (renamed from vag-bap-sniffer.c)0
9 files changed, 48 insertions, 9 deletions
diff --git a/Makefile b/Makefile
index 6ce1ee0..b50a6cc 100644
--- a/Makefile
+++ b/Makefile
@@ -1,21 +1,60 @@
-CFLAGS += -Wall -g
+LIBNAME := vag-bap
-BAPLIB = vag-bap.c vag-bap-frame.c vag-bap-rx.c vag-bap-tx.c
+BUILDDIR := build
+STATICLIB := $(BUILDDIR)/lib$(LIBNAME).a
-EXES = vag-bap-dump vag-bap-sniffer vag-bap-send
+INCLUDEDIR := include
+HEADERS := $(shell find $(INCLUDEDIR)/)
+SRCDIR := src
+SOURCES := $(shell find $(SRCDIR)/ -iname "*.c")
+OBJS := $(patsubst %.c, $(BUILDDIR)/%.o, $(SOURCES))
-all: $(EXES)
+INCLUDES := $(patsubst %, -I%, $(INCLUDEDIR))
+CFLAGS := -Wall -g
+TOOLDIR := tools
+TOOLSOURCES := $(shell find $(TOOLDIR)/ -iname "*.c")
+TOOLEXES := $(patsubst %.c, $(BUILDDIR)/%, $(TOOLSOURCES))
+TOOLLIBS := -lncurses
-vag-bap-dump: vag-bap-dump.c $(BAPLIB)
-vag-bap-sniffer: vag-bap-sniffer.c $(BAPLIB)
- gcc -o $@ $^ -lncurses
-vag-bap-send: vag-bap-send.c $(BAPLIB)
+
+
+.PHONY: tools
+tools: $(TOOLEXES)
+
+
+$(BUILDDIR)/$(TOOLDIR)/%: $(TOOLDIR)/%.c $(HEADERS) $(STATICLIB)
+ @if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi
+ $(CC) $(INCLUDES) $(CFLAGS) -o $@ $< $(STATICLIB) $(TOOLLIBS)
+
+
+
+.PHONY: lib
+lib: $(STATICLIB)
+
+$(STATICLIB): $(OBJS)
+ @if [ ! -d $(BUILDDIR) ] ; then echo "Error: Build dir '$(BUILDDIR)' does not exist." ; false ; fi
+ ar rcs $@ $^
+
+
+$(BUILDDIR)/$(SRCDIR)/%.o: $(SRCDIR)/%.c $(HEADERS)
+ @if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi
+ $(CC) $(INCLUDES) $(CFLAGS) -c -o $@ $<
+
.PHONY: clean
clean:
- rm -f $(EXES)
+ rm -f $(STATICLIB)
+ rm -f $(OBJS)
+ rm -f $(TOOLEXES)
+ rm -rf $(BUILDDIR)/
+
+
+.PHONY: distclean
+distclean: clean
+ find . -xdev -name "*~" -exec rm {} \;
+ find . -xdev -name "core" -exec rm {} \;
diff --git a/vag-bap.h b/include/vag-bap.h
index cf24fd7..cf24fd7 100644
--- a/vag-bap.h
+++ b/include/vag-bap.h
diff --git a/vag-bap-frame.c b/src/bap-frame.c
index 4117d84..4117d84 100644
--- a/vag-bap-frame.c
+++ b/src/bap-frame.c
diff --git a/vag-bap-rx.c b/src/bap-rx.c
index 2e6c0cd..2e6c0cd 100644
--- a/vag-bap-rx.c
+++ b/src/bap-rx.c
diff --git a/vag-bap-tx.c b/src/bap-tx.c
index 5beee30..5beee30 100644
--- a/vag-bap-tx.c
+++ b/src/bap-tx.c
diff --git a/vag-bap.c b/src/bap.c
index 3603e5a..3603e5a 100644
--- a/vag-bap.c
+++ b/src/bap.c
diff --git a/vag-bap-dump.c b/tools/vag-bap-dump.c
index e9fb9bc..e9fb9bc 100644
--- a/vag-bap-dump.c
+++ b/tools/vag-bap-dump.c
diff --git a/vag-bap-send.c b/tools/vag-bap-send.c
index 3a0f2d1..3a0f2d1 100644
--- a/vag-bap-send.c
+++ b/tools/vag-bap-send.c
diff --git a/vag-bap-sniffer.c b/tools/vag-bap-sniffer.c
index 1c17a25..1c17a25 100644
--- a/vag-bap-sniffer.c
+++ b/tools/vag-bap-sniffer.c