|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- INC=.
- LIBS=-lcrypto -lssl
- CFLAGS=-g -fno-inline
-
- SRC_C_FILES := $(wildcard src/*.c)
- SRC_CPP_FILES := $(wildcard src/*.cpp)
- OBJ_SRC_C_FILES := $(addprefix obj/,$(notdir $(SRC_C_FILES:.c=.o)))
- OBJ_SRC_CPP_FILES := $(addprefix obj/,$(notdir $(SRC_CPP_FILES:.cpp=.o)))
-
- SOL_C_FILES := $(wildcard sol/*.c)
- SOL_CPP_FILES := $(wildcard sol/*.cpp)
- OBJ_SOL_C_FILES := $(addprefix obj/,$(notdir $(SOL_C_FILES:.c=.o)))
- OBJ_SOL_CPP_FILES := $(addprefix obj/,$(notdir $(SOL_CPP_FILES:.cpp=.o)))
-
- TST_C_FILES := $(wildcard tst/*.c)
- TST_CPP_FILES := $(wildcard tst/*.cpp)
- OBJ_TST_C_FILES := $(addprefix obj/,$(notdir $(TST_C_FILES:.c=.o)))
- OBJ_TST_CPP_FILES := $(addprefix obj/,$(notdir $(TST_CPP_FILES:.cpp=.o)))
-
- obj/%.o: src/%.cpp
- g++ ${CFLAGS} -I${INC} -o $@ -c $^
-
- obj/%.o: src/%.c
- g++ ${CFLAGS} -I${INC} -o $@ -c $^
-
- obj/%.o: sol/%.cpp
- g++ ${CFLAGS} -I${INC} -o $@ -c $^
-
- obj/%.o: sol/%.c
- g++ ${CFLAGS} -I${INC} -o $@ -c $^
-
- obj/%.o: tst/%.cpp
- g++ ${CFLAGS} -I${INC} -o $@ -c $^
-
- obj/%.o: tst/%.c
- g++ ${CFLAGS} -I${INC} -o $@ -c $^
-
- all: create_directories obj-c obj-cpp sol-c sol-cpp tst-c tst-cpp
- g++ ${CFLAGS} -I${INC} -o main ${OBJ_SRC_C_FILES} \
- ${OBJ_SRC_CPP_FILES} \
- ${OBJ_SOL_C_FILES} \
- ${OBJ_SOL_CPP_FILES} \
- ${OBJ_TST_C_FILES} \
- ${OBJ_TST_CPP_FILES} \
- ${LIBS}
-
- create_directories:
- mkdir -p obj
-
- clean:
- rm -rf obj
- rm -rf main
- rm -rf core*
-
- obj-c: ${OBJ_SRC_C_FILES}
- obj-cpp: ${OBJ_SRC_CPP_FILES}
- sol-c: ${OBJ_SOL_C_FILES}
- sol-cpp: ${OBJ_SOL_CPP_FILES}
- tst-c: ${OBJ_TST_C_FILES}
- tst-cpp: ${OBJ_TST_CPP_FILES}
-
- .PHONY: valgrind
- valgrind:
- valgrind --suppressions=etc/suppressions.valgrind --max-stackframe=3145776 --leak-check=full ./main
|