portability fixes
[rrq/rrqmisc.git] / common.mk
1 BASEDIR := $(shell dirname $$(pwd))
2 LIBDIRS = vector typing logic
3 INCDIRS = $(addprefix -I$(BASEDIR)/,$(LIBDIRS))
4 CFLAGS = -Wall -g -fmax-errors=1 -I. $(INCDIRS)
5 LDLIBS = -lm
6
7 %.h:
8         echo "#ifndef ${@:.h=_H}" > $@
9         echo "#define ${@:.h=_H}" >> $@
10         echo "#endif" >> $@
11
12 define STDCC
13 .INTERMEDIATE: $1.o
14 CLEANRM += $1.o
15 $1.o: $1.c | $1.h
16 endef
17
18 $(foreach OBJ,$(LIBOBJS:.o=),$(eval $(call STDCC,$(OBJ))))
19
20 CLEANRM += $(LIBRARY)
21 $(LIBRARY): $(LIBOBJS)
22         $(AR) r $@ $^
23
24 clean:
25         rm -f $(CLEANRM)