Build a shared library instead of a static library
This commit is contained in:
parent
840ee49c5b
commit
3cdd941748
|
@ -1,5 +1,6 @@
|
|||
*.swp
|
||||
*.o
|
||||
*.a
|
||||
*.so
|
||||
busexmp
|
||||
loopback
|
||||
|
|
28
Makefile
28
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
|
||||
|
|
Loading…
Reference in New Issue