38 lines
827 B
Makefile
38 lines
827 B
Makefile
|
# 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 "---------------------"
|
||
|
$<
|