repositories
/
TD_C.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
TP 11 exo1: permit to specify linker libs to all relevant target in the
[TD_C.git]
/
TP_11
/
exo1
/
Makefile
diff --git
a/TP_11/exo1/Makefile
b/TP_11/exo1/Makefile
index 6f138af0bfe5368352baf015e4962e56551dea48..f8cfee721cf62243e6263cfb66d819389fb05b80 100644
(file)
--- a/
TP_11/exo1/Makefile
+++ b/
TP_11/exo1/Makefile
@@
-20,7
+20,7
@@
BUILD_TYPE=debug
# DO NOT CHANGE STUFF BEYOND THIS LINE
# ====================================
# DO NOT CHANGE STUFF BEYOND THIS LINE
# ====================================
-all: $(LIBRARY_NAME).a $(BINARY_NAME)
+all: $(LIBRARY_NAME).a $(
LIBRARY_NAME).so $(
BINARY_NAME)
CC=gcc
LD=gcc
CC=gcc
LD=gcc
@@
-41,7
+41,8
@@
STRIP_FLAG = -s
OPTIFLAG = -O3
endif
OPTIFLAG = -O3
endif
-CFLAGS := $(CFLAGS) $(WARN_FLAGS) $(STD_FLAG) $(OPTI_FLAG) $(DEBUG_FLAG)
+#FIXME: Add a way to better control the library build
+CFLAGS := -fPIC $(CFLAGS) $(WARN_FLAGS) $(STD_FLAG) $(OPTI_FLAG) $(DEBUG_FLAG)
LDFLAGS := $(LDFLAGS) $(STRIP_FLAG)
LIBLDFLAGS := -shared $(LDFLAGS)
LDFLAGS := $(LDFLAGS) $(STRIP_FLAG)
LIBLDFLAGS := -shared $(LDFLAGS)
@@
-57,17
+58,17
@@
$(shell mkdir -p $(DEPDIR))
DEPFLAGS = -MT $@ -MMD -MP -MF $(DEPDIR)/$*.Td
POSTCOMPILE = mv -f $(DEPDIR)/$*.Td $(DEPDIR)/$*.d
DEPFLAGS = -MT $@ -MMD -MP -MF $(DEPDIR)/$*.Td
POSTCOMPILE = mv -f $(DEPDIR)/$*.Td $(DEPDIR)/$*.d
-$(
BINARY_NAME): $(OBJS
)
- @echo "[
LD
] $@"
- @$(
LD) $(CFLAGS) $(LDFLAGS) $^ $(LDLIBS) -o $@
+$(
LIBRARY_NAME).a: $(OBJSLIB
)
+ @echo "[
AR StO
] $@"
+ @$(
AR) rcs $@ $^
-$(LIBRARY_NAME).so: $(OBJSLIB)
$(BINARY_NAME)
+$(LIBRARY_NAME).so: $(OBJSLIB)
@echo "[LD ShO] $@"
@echo "[LD ShO] $@"
- @$(LD) $(CFLAGS) $(L
DLIB
FLAGS) $^ $(LDLIBS) -o $@
+ @$(LD) $(CFLAGS) $(L
IBLD
FLAGS) $^ $(LDLIBS) -o $@
-$(
LIBRARY_NAME).a
: $(OBJS)
- @echo "[
AR StO
] $@"
- @$(
AR) rcs $@ $^
+$(
BINARY_NAME)
: $(OBJS)
+ @echo "[
LD
] $@"
+ @$(
LD) $(CFLAGS) $(LDFLAGS) $^ $(LDLIBS) -o $@
$(OBJDIR)/%.o: %.c $(DEPDIR)/%.d
@echo "[C ] $*"
$(OBJDIR)/%.o: %.c $(DEPDIR)/%.d
@echo "[C ] $*"