CC = gcc CFLAGS = -Wall -fPIC -Ihash -O2 AR = ar ARFLAGS = rcs SRCS = djb2.c OBJS = $(SRCS:.c=.o) STATIC_LIB = libhash.a SHARED_LIB = libhash.so all: $(STATIC_LIB) $(SHARED_LIB) %.o: %.c $(CC) $(CFLAGS) -c $< -o $@ $(STATIC_LIB): $(OBJS) $(AR) $(ARFLAGS) $@ $^ $(SHARED_LIB): $(OBJS) $(CC) -shared -o $@ $^ clean: rm -f $(OBJS) $(STATIC_LIB) $(SHARED_LIB) .PHONY: all clean