X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=TP_11%2Fexo2%2FMakefile;h=3edfbf669cb6305b6ea56093c290940cad468634;hb=bb39798e7d4624ea84d40c2ac74c41e011e935fd;hp=50191de500f748c8923002c3d6175f2f082a35f3;hpb=f1294ffe51b4cee659a10f464966ce9e3c0c4fa6;p=TD_C.git diff --git a/TP_11/exo2/Makefile b/TP_11/exo2/Makefile index 50191de..3edfbf6 100644 --- a/TP_11/exo2/Makefile +++ b/TP_11/exo2/Makefile @@ -21,7 +21,7 @@ BUILD_TYPE=debug # DO NOT CHANGE STUFF BEYOND THIS LINE # ==================================== -all: $(BINARY_NAME) $(BINARY_NAME).dynamic $(BINARY_NAME).staticlocal +all: $(BINARY_NAME) $(BINARY_NAME).static $(BINARY_NAME).staticlocal $(BINARY_NAME).dynamic CC=gcc LD=gcc @@ -39,13 +39,14 @@ else BUILDDIR := .build/release DEBUG_FLAG = STRIP_FLAG = -s -OPTIFLAG = -O3 +OPTI_FLAG = -O3 endif #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) +STATICLDFLAGS := -static $(LDFLAGS) OBJDIR := $(BUILDDIR)/objs $(shell mkdir -p $(OBJDIR)) @@ -72,6 +73,10 @@ $(BINARY_NAME): $(OBJS) @$(LD) $(CFLAGS) $(LDFLAGS) $^ $(LDLIBS) -o $@ LOCALLDLIBS=-L. -ltpC +$(BINARY_NAME).static: $(OBJDIR)/$(BINARY_NAME).o $(LIBRARY_NAME).a + @echo "[LD ] $@" + @$(LD) $(CFLAGS) $(STATICLDFLAGS) $^ $(LOCALLDLIBS) $(LDLIBS) -o $@ + $(BINARY_NAME).staticlocal: $(OBJDIR)/$(BINARY_NAME).o $(LIBRARY_NAME).a @echo "[LD ] $@" @$(LD) $(CFLAGS) $(LDFLAGS) $^ $(LOCALLDLIBS) $(LDLIBS) -o $@ @@ -95,10 +100,11 @@ clean: @echo "[CLN]" -@rm -r $(BUILDDIR) -@rm $(BINARY_NAME) + -@rm $(BINARY_NAME).static -@rm $(BINARY_NAME).staticlocal -@rm $(BINARY_NAME).dynamic - -@rm $(LIBRARY_NAME).so -@rm $(LIBRARY_NAME).a + -@rm $(LIBRARY_NAME).so disassemble: $(BINARY_NAME) objdump -d $< | less