diff options
Diffstat (limited to 'C/HF/chap8/Makefile')
| -rw-r--r-- | C/HF/chap8/Makefile | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/C/HF/chap8/Makefile b/C/HF/chap8/Makefile index df3283e..8377c1b 100644 --- a/C/HF/chap8/Makefile +++ b/C/HF/chap8/Makefile @@ -13,3 +13,27 @@ bin/libs/xor.o: $(INCLUDE_DIR)/libs/xor.h src/libs/xor.c bin/libs/encrypt.o: $(INCLUDE_DIR)/libs/encrypt.h src/libs/encrypt.c cc -I $(INCLUDE_DIR) -c src/libs/encrypt.c -o bin/libs/encrypt.o + +# Create DSO and PIC versions +# +ecatS: bin/libs/libencrypt.a + cc -I $(INCLUDE_DIR) -L bin/libs -o bin/ecats src/ecat.c -lencrypts + +bin/libs/libencrypts.so: bin/libs/xor-pic.o bin/libs/encrypt-pic.o + cc -I $(INCLUDE_DIR) -shared -o bin/libs/libencrypts.so bin/libs/xor-pic.o bin/libs/encrypt-pic.o + +# This creates the same lib with a broken encrypt_arr call. +# We can run the same program passing the different lib at runtime +# and change the behavior of encrypt_arr at runtime +bin/broken_libs/libencrypts.so: bin/libs/xor-pic.o bin/libs/encrypt2-pic.o + cc -I $(INCLUDE_DIR) -shared -o bin/broken_libs/libencrypts.so bin/libs/xor-pic.o bin/libs/encrypt2-pic.o + + +bin/libs/xor-pic.o: $(INCLUDE_DIR)/libs/xor.h src/libs/xor.c + cc -fPIC -I $(INCLUDE_DIR) -c src/libs/xor.c -o bin/libs/xor-pic.o + +bin/libs/encrypt-pic.o: $(INCLUDE_DIR)/libs/encrypt.h src/libs/encrypt.c + cc -fPIC -I $(INCLUDE_DIR) -c src/libs/encrypt.c -o bin/libs/encrypt-pic.o + +bin/libs/encrypt2-pic.o: $(INCLUDE_DIR)/libs/encrypt.h src/libs/encrypt2.c + cc -fPIC -I $(INCLUDE_DIR) -c src/libs/encrypt2.c -o bin/libs/encrypt2-pic.o |
