aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile25
1 files changed, 19 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index b550696..2195289 100644
--- a/Makefile
+++ b/Makefile
@@ -1,19 +1,32 @@
# bus - simple message broadcasting IPC system
# See LICENSE file for copyright and license details.
+FLAGS = -std=c99 -Wall -Wextra -pedantic -O2
+
+
all: bus
-bus: bin/bus
+bus: bin/bus bin/libbus.so
-bin/bus: obj/cmdline.o obj/bus.o
+bin/bus: obj/cmdline-nofpic.o obj/bus-nofpic.o
@echo CC -o $@
@mkdir -p bin
- @${CC} -o $@ $^ ${LDFLAGS}
+ @${CC} ${FLAGS} -o $@ $^ ${LDFLAGS}
+
+bin/libbus.so: obj/bus-fpic.o
+ @echo CC -o $@
+ @mkdir -p bin
+ @${CC} ${FLAGS} -shared -o $@ $^ ${LDFLAGS}
+
+obj/%-nofpic.o: src/%.c src/*.h
+ @echo CC -c $@
+ @mkdir -p obj
+ @${CC} ${FLAGS} -c -o $@ ${CPPFLAGS} ${CFLAGS} $<
-obj/%.o: src/%.c src/*.h
- @echo CC -c $<
+obj/%-fpic.o: src/%.c src/*.h
+ @echo CC -c $@
@mkdir -p obj
- @${CC} -Wall -Wextra -pedantic -std=c99 -c -o $@ ${CPPFLAGS} ${CFLAGS} $<
+ @${CC} ${FLAGS} -fPIC -c -o $@ ${CPPFLAGS} ${CFLAGS} $<
clean:
@echo cleaning