diff --git a/.gitignore b/.gitignore index 9ab523f..f70acff 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ *.swp *.o *.a +*.so busexmp loopback diff --git a/Makefile b/Makefile index 3c768d7..420da64 100644 --- a/Makefile +++ b/Makefile @@ -1,26 +1,16 @@ -TARGET := busexmp loopback -LIBOBJS := buse.o -OBJS := $(TARGET:=.o) $(LIBOBJS) -STATIC_LIB := libbuse.a - -CC := /usr/bin/gcc -CFLAGS := -g -pedantic -Wall -Wextra -std=c99 -LDFLAGS := -L. -lbuse +CC = clang +CFLAGS = -fPIC -Wall -Wextra -O +LDFLAGS = -shared .PHONY: all clean -all: $(TARGET) -$(TARGET): %: %.o $(STATIC_LIB) - $(CC) -o $@ $< $(LDFLAGS) +all: libbuse.so -$(TARGET:=.o): %.o: %.c buse.h - $(CC) $(CFLAGS) -o $@ -c $< +libbuse.so: buse.o + $(CC) ${LDFLAGS} -o $@ $^ -$(STATIC_LIB): $(LIBOBJS) - ar rcu $(STATIC_LIB) $(LIBOBJS) - -$(LIBOBJS): %.o: %.c - $(CC) $(CFLAGS) -o $@ -c $< +buse.o: buse.c + $(CC) $(CFLAGS) -c -o $@ $^ clean: - rm -f $(TARGET) $(OBJS) $(STATIC_LIB) + rm -f buse.o libbuse.so