# This project depends on the following libralies, # openssl-devel, ncurses-devel, gdbm-devel, # sqlite-devel. # You may need to install then. #If ndbm compatibillity mode isn't enabled on your machine, #remove the prepended '#' from the following line. #GDBM_COMPT_OPT = -DGDBM_COMPT #Option for development #CFLAGS = -g -Wall -DDEBUG ${DEFS} ${CDEF} ${GDBM_COMPT_OPT} #Option for release CFLAGS = -Wall ${DEFS} ${CDEF} ${GDBM_COMPT_OPT} CDEF = -D_REENTRANT -D_XOPEN_SOURCE_EXTENDED #-D_XOPEN_SOURCE OBJS = ${OBJ_DIR}/main.o ${OBJ_DIR}/utils/nt_std_t.o \ ${OBJ_DIR}/env.o \ ${OBJ_DIR}/print_help.o \ ${OBJ_DIR}/utils/base64.o \ ${OBJ_DIR}/utils/crypt.o \ ${OBJ_DIR}/utils/file.o \ ${OBJ_DIR}/utils/db.o \ ${OBJ_DIR}/utils/text.o \ ${OBJ_DIR}/utils/zip.o \ ${OBJ_DIR}/utils/nt_usr_db.o \ ${OBJ_DIR}/utils/nt_conv_char.o \ ${OBJ_DIR}/net/nt_socket.o \ ${OBJ_DIR}/net/nt_ssl_socket.o \ ${OBJ_DIR}/net/nt_http.o \ ${OBJ_DIR}/net/nt_http_response_header.o \ ${OBJ_DIR}/net/nt_http_utils.o \ ${OBJ_DIR}/net/nt_cookie.o \ ${OBJ_DIR}/html/html_string.o \ ${OBJ_DIR}/_2ch/_2ch.o \ ${OBJ_DIR}/_2ch/model_2ch.o \ ${OBJ_DIR}/_2ch/model_func.o \ ${OBJ_DIR}/_2ch/parse_2ch.o \ ${OBJ_DIR}/_2ch/parse_string.o \ ${OBJ_DIR}/_2ch/maru_2ch.o \ ${OBJ_DIR}/ui/disp_board_menu.o \ ${OBJ_DIR}/ui/disp_threadlist.o \ ${OBJ_DIR}/ui/disp_reslist.o \ ${OBJ_DIR}/ui/disp_win.o \ ${OBJ_DIR}/ui/disp_editor.o \ ${OBJ_DIR}/ui/disp_html_result.o \ ${OBJ_DIR}/ui/disp_string.o INC_FILES = ${INC_DIR}/config.h \ ${INC_DIR}/env.h \ ${INC_DIR}/error.h \ ${INC_DIR}/nt_string.h \ ${INC_DIR}/_2ch/_2ch.h \ ${INC_DIR}/_2ch/model_2ch.h \ ${INC_DIR}/_2ch/maru_2ch.h \ ${INC_DIR}/_2ch/parse_2ch.h \ ${INC_DIR}/ui/disp.h \ ${INC_DIR}/ui/disp_win.h \ ${INC_DIR}/ui/disp_string.h \ ${INC_DIR}/net/nt_socket.h \ ${INC_DIR}/net/nt_http.h \ ${INC_DIR}/net/nt_cookie.h \ ${INC_DIR}/html/html_string.h \ ${INC_DIR}/utils/base64.h \ ${INC_DIR}/utils/crypt.h \ ${INC_DIR}/utils/file.h \ ${INC_DIR}/utils/zip.h \ ${INC_DIR}/utils/db.h \ ${INC_DIR}/utils/text.h \ ${INC_DIR}/utils/nt_usr_db.h \ ${INC_DIR}/utils/nt_conv_char.h \ ${INC_DIR}/utils/nt_std_t.h SHELL = /bin/sh TARGET = ntch .SUFFIXES: .SUFFIXES: .c .o prefix = /usr/local datadir = ${datarootdir} datarootdir = ${prefix}/share srcdir = . CC = gcc DEFS = -DHAVE_CONFIG_H LIBS = -lz -lssl -lsqlite3 -lpthread -lncursesw -lm -lgdbm_compat -ldl -lcrypto #LIBS = -lncursesw -lgdbm -lz -lm -lssl -lcrypto -lgdbm_compat -lsqlite3 -ldl -lpthread INCLUDES = -I/usr/include/gdbm -I${INC_DIR} OBJ_DIR = ./obj GEN_DIR = ./gen SRC_DIR = ${srcdir}/src INC_DIR = ${SRC_DIR}/inc INSTALL_DIR = ${prefix}/bin INSTALL_PROG = /usr/bin/install -c all : ${TARGET} run : ./${TARGET} -r -o ~/.ntch # If you do not specify the -g (debug) option, # Valgrind will not work correctly. memtest : valgrind --leak-check=yes --track-origins=yes -v ./${TARGET} ${TARGET} : ${OBJS} ${CC} ${CFLAGS} -o $@ ${OBJS} ${LIBS} clean: @ ${SHELL} prepare_proj.sh -d rm -rf ${TARGET} install: ${TARGET} ${INSTALL_PROG} -m 755 -t ${INSTALL_DIR} ${TARGET} $(OBJ_DIR)/print_help.o : help.txt help_gen ./help_gen help.txt > ${GEN_DIR}/print_help.c ${CC} ${CFLAGS} -c -o $@ ${GEN_DIR}/print_help.c ${INC_DIR}/config.h : config.h cp -f $< $@ help_gen : help_gen.c ${CC} -o $@ $< $(OBJ_DIR)/main.o : ${SRC_DIR}/main.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/env.o : ${SRC_DIR}/env.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/utils/nt_std_t.o : ${SRC_DIR}/utils/nt_std_t.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/utils/nt_usr_db.o : ${SRC_DIR}/utils/nt_usr_db.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/utils/nt_conv_char.o : ${SRC_DIR}/utils/nt_conv_char.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/net/nt_socket.o : ${SRC_DIR}/net/nt_socket.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/net/nt_ssl_socket.o : ${SRC_DIR}/net/nt_ssl_socket.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/net/nt_http.o : ${SRC_DIR}/net/nt_http.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/net/nt_http_response_header.o : ${SRC_DIR}/net/nt_http_response_header.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/net/nt_http_utils.o : ${SRC_DIR}/net/nt_http_utils.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/net/nt_cookie.o : ${SRC_DIR}/net/nt_cookie.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/html/html_string.o : ${SRC_DIR}/html/html_string.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/utils/base64.o : ${SRC_DIR}/utils/base64.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/utils/file.o : ${SRC_DIR}/utils/file.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/utils/zip.o : ${SRC_DIR}/utils/zip.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/utils/db.o : ${SRC_DIR}/utils/db.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/utils/text.o : ${SRC_DIR}/utils/text.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/utils/crypt.o : ${SRC_DIR}/utils/crypt.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/_2ch/_2ch.o : ${SRC_DIR}/_2ch/_2ch.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/_2ch/model_2ch.o : ${SRC_DIR}/_2ch/model_2ch.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/_2ch/model_func.o : ${SRC_DIR}/_2ch/model_func.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/_2ch/parse_2ch.o : ${SRC_DIR}/_2ch/parse_2ch.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/_2ch/parse_string.o : ${SRC_DIR}/_2ch/parse_string.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/_2ch/maru_2ch.o : ${SRC_DIR}/_2ch/maru_2ch.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/ui/disp_board_menu.o : ${SRC_DIR}/ui/disp_board_menu.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/ui/disp_threadlist.o : ${SRC_DIR}/ui/disp_threadlist.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/ui/disp_reslist.o : ${SRC_DIR}/ui/disp_reslist.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/ui/disp_string.o : ${SRC_DIR}/ui/disp_string.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/ui/disp_win.o : ${SRC_DIR}/ui/disp_win.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/ui/disp_editor.o : ${SRC_DIR}/ui/disp_editor.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< $(OBJ_DIR)/ui/disp_html_result.o : ${SRC_DIR}/ui/disp_html_result.c ${INC_FILES} @ ${SHELL} prepare_proj.sh ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $<