reorg fixup
authorRalph Ronnquist <ralph.ronnquist@gmail.com>
Mon, 18 Jul 2022 06:14:49 +0000 (16:14 +1000)
committerRalph Ronnquist <ralph.ronnquist@gmail.com>
Mon, 18 Jul 2022 06:14:49 +0000 (16:14 +1000)
Makefile [new file with mode: 0644]
common.mk [new file with mode: 0644]

diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..57ac9b7
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,8 @@
+LIBDIRS = vector typing logic htable
+APPDIRS = socket-sniff tests
+
+default: $(LIBDIRS) $(APPDIRS)
+       for d in $^ ; do $(MAKE) -C $$d default ; done
+
+clean: $(LIBDIRS) $(APPDIRS)
+       for d in $^ ; do $(MAKE) -C $$d clean ; done
diff --git a/common.mk b/common.mk
new file mode 100644 (file)
index 0000000..9a46c34
--- /dev/null
+++ b/common.mk
@@ -0,0 +1,25 @@
+BASEDIR := $(shell dirname $$(pwd))
+LIBDIRS = vector typing logic
+INCDIRS = $(addprefix -I$(BASEDIR)/,$(LIBDIRS))
+CFLAGS = -Wall -g -fmax-errors=1 -I. $(INCDIRS)
+LDLIBS = -lm
+
+%.h:
+       echo "#ifndef ${@:.h=_H}" > $@
+       echo "#define ${@:.h=_H}" >> $@
+       echo "#endif" >> $@
+
+define STDCC
+.INTERMEDIATE: $1.o
+CLEANRM += $1.o
+$1.o: $1.c | $1.h
+endef
+
+$(foreach OBJ,$(LIBOBJS:.o=),$(eval $(call STDCC,$(OBJ))))
+
+CLEANRM += $(LIBRARY)
+$(LIBRARY): $(LIBOBJS)
+       $(AR) r $@ $^
+
+clean:
+       rm -f $(CLEANRM)