add a Makefile for gnu make
[hashtab.git] / Makefile.gnu
blobc750ad49a21c9547ac1642499cf4e81f30be7576
1 CFLAGS+= -Wall -I. -fPIC -g
2 LDFLAGS+= -L. -lbsd
3 SRCS=$(wildcard *.c)
4 OBJS=$(patsubst %.c, %.o, $(SRCS))
5 all: hashtab.a hashtab.so example
6 %.o: %.c 
7         $(CC) -o $@ -c $< $(CFLAGS)
8 hashtab.a: $(OBJS)
9         ar cq hashtab.a hashtab.o
10 hashtab.so: $(OBJS)
11         $(CC) -shared -o hashtab.so hashtab.o
12 example: hashtab.a
13         $(CC) example.o -o example -l:hashtab.a $(LDFLAGS)
14 install: hashtab.a hashtab.so
15         install -m 0644 hashtab.a /usr/lib/libhashtab.a
16         install -m 0644 hashtab.so /usr/lib/libhashtab.so
17         install -m 0644 hashtab.h /usr/include/
18 clean:
19         rm -f *.o *.a *.so example