LIB_DIR=lib SRC_DIR=src BUILD_DIR=.build BIN_DIR=bin CC=gcc build: key_gen crypt_rsa crypt_rsa_file key_gen: $(BIN_DIR)/key_gen crypt_rsa: $(BIN_DIR)/crypt_rsa crypt_rsa_file: $(BIN_DIR)/crypt_rsa_file clean: rm -r $(BUILD_DIR) $(BIN_DIR) .PHONY: build key_gen crypt_rsa crypt_rsa_file clean $(BIN_DIR)/key_gen: $(BUILD_DIR)/key_gen.o $(BUILD_DIR)/key_utils.o $(BUILD_DIR)/crypt_utils.o $(BUILD_DIR)/big.o mkdir -p $(BIN_DIR) $(CC) -o $@ $^ $(BIN_DIR)/crypt_rsa: $(BUILD_DIR)/crypt_rsa.o $(BUILD_DIR)/key_utils.o $(BUILD_DIR)/crypt_utils.o $(BUILD_DIR)/big.o mkdir -p $(BIN_DIR) $(CC) -o $@ $^ $(BIN_DIR)/crypt_rsa_file: $(BUILD_DIR)/crypt_rsa_file.o $(BUILD_DIR)/key_utils.o $(BUILD_DIR)/crypt_utils.o $(BUILD_DIR)/big.o mkdir -p $(BIN_DIR) $(CC) -o $@ $^ $(BUILD_DIR)/key_gen.o: $(SRC_DIR)/key_gen.c mkdir -p $(BUILD_DIR) $(CC) -c -o $@ $< $(BUILD_DIR)/crypt_rsa.o: $(SRC_DIR)/crypt_rsa.c mkdir -p $(BUILD_DIR) $(CC) -c -o $@ $< $(BUILD_DIR)/crypt_rsa_file.o: $(SRC_DIR)/crypt_rsa_file.c mkdir -p $(BUILD_DIR) $(CC) -c -o $@ $< $(BUILD_DIR)/crypt_utils.o: $(SRC_DIR)/crypt_utils.c mkdir -p $(BUILD_DIR) $(CC) -c -o $@ $< $(BUILD_DIR)/key_utils.o: $(SRC_DIR)/key_utils.c mkdir -p $(BUILD_DIR) $(CC) -c -o $@ $< $(BUILD_DIR)/big.o: $(LIB_DIR)/big.c mkdir -p $(BUILD_DIR) $(CC) -c -o $@ $<