# Makefile for the project OUTPUT_DIR = output .PHONY: all all: $(OUTPUT_DIR) $(OUTPUT_DIR)/encrypt $(OUTPUT_DIR)/decrypt $(OUTPUT_DIR)/test runtest .PHONY: clean clean: rm $(OUTPUT_DIR)/*.o $(OUTPUT_DIR)/encrypt $(OUTPUT_DIR)/test $(OUTPUT_DIR)/decrypt rmdir $(OUTPUT_DIR) $(OUTPUT_DIR): mkdir $(OUTPUT_DIR) $(OUTPUT_DIR)/crypto.o: crypto.c crypto.h cc -o $@ -c $< $(OUTPUT_DIR)/main.o: main.c crypto.h cc -o $@ -c $< $(OUTPUT_DIR)/test.o: test.c crypto.h cc -o $@ -c $< $(OUTPUT_DIR)/encrypt: $(OUTPUT_DIR)/main.o $(OUTPUT_DIR)/crypto.o cc -o $@ $^ $(OUTPUT_DIR)/decrypt: $(OUTPUT_DIR)/main.o $(OUTPUT_DIR)/crypto.o cc -o $@ $^ $(OUTPUT_DIR)/test: $(OUTPUT_DIR)/test.o $(OUTPUT_DIR)/crypto.o cc -o $@ $^ .PHONY: runtest runtest: $(OUTPUT_DIR)/test @echo "Running tests" @echo "---------------------" $<