########################################################################## # Copyright KAZ 2021 # # # # contact (at) kaz.bzh # # # # This software is a filter to shrink email by attachment extraction. # # # # This software is governed by the CeCILL-B license under French law and # # abiding by the rules of distribution of free software. You can use, # # modify and/or redistribute the software under the terms of the # # CeCILL-B license as circulated by CEA, CNRS and INRIA at the following # # URL "http://www.cecill.info". # # # # As a counterpart to the access to the source code and rights to copy, # # modify and redistribute granted by the license, users are provided # # only with a limited warranty and the software's author, the holder of # # the economic rights, and the successive licensors have only limited # # liability. # # # # In this respect, the user's attention is drawn to the risks associated # # with loading, using, modifying and/or developing or reproducing the # # software by the user in light of its specific status of free software, # # that may mean that it is complicated to manipulate, and that also # # therefore means that it is reserved for developers and experienced # # professionals having in-depth computer knowledge. Users are therefore # # encouraged to load and test the software's suitability as regards # # their requirements in conditions enabling the security of their # # systems and/or data to be ensured and, more generally, to use and # # operate it in the same conditions as regards security. # # # # The fact that you are presently reading this means that you have had # # knowledge of the CeCILL-B license and that you accept its terms. # ########################################################################## # apt-get install g++ make libboost-program-options-dev libboost-system-dev libboost-filesystem-dev libssl-dev ## DIR ################################# SRC_DIR = ./src TST_DIR = $(SRC_DIR)/test CPP_DIR = $(SRC_DIR)/cpp HPP_DIR = $(SRC_DIR)/include BLD_DIR = build OUT_DIR = $(BLD_DIR)/out LIB_DIR = $(BLD_DIR)/lib OBJ_DIR = $(BLD_DIR)/obj KAZ_PRG = eMailShrinker KAZ_MOD = eMailShrinker EmbeddedData Attachment MainAttachment SizeArg kazDebug kazMisc KAZ_SRC = $(patsubst %, $(CPP_DIR)/%.cpp, $(KAZ_MOD)) KAZ_OBJ = $(patsubst %, $(OBJ_DIR)/%.o, $(KAZ_MOD)) KAZ_OUT = $(patsubst %, $(OUT_DIR)/%, $(KAZ_PRG)) JIR_PRG = jirafeauAPI JIR_MOD = jirafeauAPI SizeArg kazDebug kazMisc JIR_SRC = $(patsubst %, $(CPP_DIR)/%.cpp, $(JIR_MOD)) JIR_OBJ = $(patsubst %, $(OBJ_DIR)/%.o, $(JIR_MOD)) JIR_OUT = $(patsubst %, $(OUT_DIR)/%, $(JIR_PRG)) ## FLAGS ############################### #DFLAGS = -O2 -DDISABLE_LOG DFLAGS = -g -Wall IFLAGS = $(DFLAGS) -MMD -I$(HPP_DIR) -std=c++11 LFLAGS = -L$(LIB_DIR) -lboost_system -lboost_program_options -lboost_filesystem -lcurl -lcrypto -lstdc++ CC = g++ ## RULES ############################### $(OBJ_DIR)/%.o: $(SRC_DIR)/*/%.cpp $(CC) $< $(IFLAGS) -cpp -c -o $@ ## ENTRIES ############################# all: init eMailShrinker jirafeauAPI doc eMailShrinker: $(KAZ_OUT) $(KAZ_OUT): $(KAZ_OBJ) $(CC) $(KAZ_OBJ) $(IFLAGS) -cpp -L$(LIB_DIR) $(LFLAGS) -o $@ jirafeauAPI: $(JIR_OUT) $(JIR_OUT): $(JIR_OBJ) $(CC) $(JIR_OBJ) $(IFLAGS) -cpp -L$(LIB_DIR) $(LFLAGS) -o $@ doc: doxygen src/Doxyfile init: mkdir -p $(OUT_DIR) $(OBJ_DIR) $(LIB_DIR) clean: find . -type f '(' -name '#*' -o -name '*~' ')' -print -exec rm -f '{}' \; wipe: clean -rm -f src/*.tcpp src/*/*.tcpp -rm -rf $(OUT_DIR) $(LIB_DIR) $(BLD_DIR) ## DEPENDS ############################# ALL_OUT = $(KAZ_PRG) $(JIR_PRG) ALL_OBJ = $(KAZ_OBJ) $(JIR_OBJ) DEPENDS = ${ALL_OUT:=.d} ${ALL_OBJ:.o=.d} -include ${DEPENDS} ########################################