diff options
Diffstat (limited to 'src/tools')
| -rw-r--r-- | src/tools/CMakeLists.txt | 57 | ||||
| -rw-r--r-- | src/tools/Makefile | 308 |
2 files changed, 338 insertions, 27 deletions
diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt new file mode 100644 index 000000000..f73a671b4 --- /dev/null +++ b/src/tools/CMakeLists.txt @@ -0,0 +1,57 @@ +#if(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR}) +# set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}) +#else(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR}) +# file(RELATIVE_PATH DIR ${Anope_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) +# set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/${DIR}) +#endif(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR}) + +set(TOOLS_SRCS anopesmtp.c db-convert.c db-merger.c) +list(SORT TOOLS_SRCS) + +set_source_files_properties(${TOOLS_SRCS} PROPERTIES LANGUAGE CXX COMPILE_FLAGS "${CXXFLAGS}") + +set(anopesmtp.c_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/smtp.h) +set(db-convert.c_HEADERS sysconf.h) +set(db-merger.c_HEADERS sysconf.h) + +foreach(SRC ${TOOLS_SRCS}) + #string(REGEX REPLACE "\\." "_" SRC_TARGET ${SRC}) + string(REGEX REPLACE "\\.cpp$" ".x" SRC_X ${SRC}) + string(REGEX REPLACE "\\.c$" ".o" SRC_O ${SRC_X}) + string(REGEX REPLACE "\\.x$" ".o" OBJ ${SRC_O}) + string(REGEX REPLACE "\\.o$" "" EXE ${OBJ}) + #string(REGEX REPLACE "\\." "_" OBJ_TARGET ${OBJ}) + #set(SRC_OBJS ${SRC_OBJS} ${BUILD_DIR}/${OBJ}) + set(TOOLS ${TOOLS} ${EXE}) + #add_custom_command(OUTPUT ${BUILD_DIR}/${OBJ} + # COMMAND ${MY_COMPILER} ${MY_COMP_ARG} ${CMAKE_CXX_CFLAGS} -I${Anope_SOURCE_DIR}/include -c ${SRC} -o ${BUILD_DIR}/${OBJ} + # MAIN_DEPENDENCY ${SRC} + #) + #add_custom_target(src_${OBJ_TARGET} DEPENDS ${BUILD_DIR}/${OBJ}) + #add_custom_target(src_${SRC_TARGET} DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${SRC}) + #add_dependencies(src_srcs src_${SRC_TARGET}) + set(HEADERS) + if(${SRC}_HEADERS) + foreach(HEADER ${${SRC}_HEADERS}) + string(SUBSTRING ${HEADER} 0 1 FIRST_CHAR) + if(FIRST_CHAR STREQUAL "/") + set(HEADERS ${HEADERS} ${HEADER}) + else(FIRST_CHAR STREQUAL "/") + set(HEADERS ${HEADERS} ${Anope_SOURCE_DIR}/include/${HEADER}) + endif(FIRST_CHAR STREQUAL "/") + endforeach(HEADER) + endif(${SRC}_HEADERS) + if(HEADERS) + set_source_files_properties(${SRC} PROPERTIES OBJECT_DEPENDS "${HEADERS}") + endif(HEADERS) + add_executable(${EXE} ${SRC}) + add_dependencies(${EXE} services) + #set_target_properties(${EXE} PROPERTIES COMPILE_FLAGS ${CXXFLAGS}) + install(TARGETS ${EXE} + DESTINATION "${BINDIR}/tools" + ) +endforeach(SRC) + +if(RUNGROUP) + install(CODE "execute_process(COMMAND ${CHMOD} 2775 \"${BINDIR}/tools\")") +endif(RUNGROUP) diff --git a/src/tools/Makefile b/src/tools/Makefile index a73df423e..5d33ff801 100644 --- a/src/tools/Makefile +++ b/src/tools/Makefile @@ -1,39 +1,293 @@ -SRCS = anopesmtp.c db-merger.c db-convert.c -OBJS = $(SRCS:.c=.o) +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.6 -INCLUDES = ../../include/services.h +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target -MAKEARGS = 'CFLAGS=${CFLAGS}' 'CC=${CC}' 'ANOPELIBS=${ANOPELIBS}' \ - 'LDFLAGS=${LDFLAGS}' 'BINDEST=${BINDEST}' 'INSTALL=${INSTALL}' \ - 'INCLUDEDIR=${INCLUDEDIR}' 'RM=${RM}' 'CP=${CP}' \ - 'TOUCH=${TOUCH}' 'SHELL=${SHELL}' 'DATDEST=${DATDEST}' \ - 'RUNGROUP=${RUNGROUP}' 'MAKEBIN=${MAKEBIN}' +#============================================================================= +# Special targets provided by cmake. -.c.o: - @$(MAKEBIN) $(CC) $(CFLAGS) -I../include/ -c $< +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: -all: ${OBJS} +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = -distclean: spotless +.SUFFIXES: .hpux_make_needs_suffix_list -anopesmpt: $(OBJS) - $(CC) $(CFLAGS) $(OBJS) $(ANOPELIBS) $(MLIBS) -o $@ $(LDFLAGS) +# Suppress display of executed commands. +$(VERBOSE).SILENT: -$(OBJS): Makefile -anopesmtp.o: anopesmtp.c $(INCLUDES) -db-merger.o: db-merger.c $(INCLUDES) -db-convert.o: db-convert.c $(INCLUDES) +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/local/bin/cmake + +# The command to remove a file. +RM = /usr/local/bin/cmake -E remove -f + +# The program to use to edit the cache. +CMAKE_EDIT_COMMAND = /usr/local/bin/ccmake + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /celes/anope + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /celes/anope + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." + cd /celes/anope/src/tools && /usr/local/bin/ccmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + cd /celes/anope/src/tools && /usr/local/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + cd /celes/anope/src/tools && /usr/local/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + cd /celes/anope/src/tools && /usr/local/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: install/local +.PHONY : install/local/fast + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + cd /celes/anope/src/tools && /usr/local/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: install/strip +.PHONY : install/strip/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components +.PHONY : list_install_components/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + cd /celes/anope/src/tools && /usr/local/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# The main all target +all: cmake_check_build_system + cd /celes/anope && $(CMAKE_COMMAND) -E cmake_progress_start /celes/anope/CMakeFiles /celes/anope/src/tools/CMakeFiles/progress.make + cd /celes/anope && $(MAKE) -f CMakeFiles/Makefile2 src/tools/all + $(CMAKE_COMMAND) -E cmake_progress_start /celes/anope/CMakeFiles 0 +.PHONY : all + +# The main clean target clean: - rm -f *.o anopesmtp a.out db-merger db-convert + cd /celes/anope && $(MAKE) -f CMakeFiles/Makefile2 src/tools/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /celes/anope && $(MAKE) -f CMakeFiles/Makefile2 src/tools/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /celes/anope && $(MAKE) -f CMakeFiles/Makefile2 src/tools/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /celes/anope && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +src/tools/CMakeFiles/anopesmtp.dir/rule: + cd /celes/anope && $(MAKE) -f CMakeFiles/Makefile2 src/tools/CMakeFiles/anopesmtp.dir/rule +.PHONY : src/tools/CMakeFiles/anopesmtp.dir/rule + +# Convenience name for target. +anopesmtp: src/tools/CMakeFiles/anopesmtp.dir/rule +.PHONY : anopesmtp + +# fast build rule for target. +anopesmtp/fast: + cd /celes/anope && $(MAKE) -f src/tools/CMakeFiles/anopesmtp.dir/build.make src/tools/CMakeFiles/anopesmtp.dir/build +.PHONY : anopesmtp/fast + +# Convenience name for target. +src/tools/CMakeFiles/db-convert.dir/rule: + cd /celes/anope && $(MAKE) -f CMakeFiles/Makefile2 src/tools/CMakeFiles/db-convert.dir/rule +.PHONY : src/tools/CMakeFiles/db-convert.dir/rule + +# Convenience name for target. +db-convert: src/tools/CMakeFiles/db-convert.dir/rule +.PHONY : db-convert + +# fast build rule for target. +db-convert/fast: + cd /celes/anope && $(MAKE) -f src/tools/CMakeFiles/db-convert.dir/build.make src/tools/CMakeFiles/db-convert.dir/build +.PHONY : db-convert/fast + +# Convenience name for target. +src/tools/CMakeFiles/db-merger.dir/rule: + cd /celes/anope && $(MAKE) -f CMakeFiles/Makefile2 src/tools/CMakeFiles/db-merger.dir/rule +.PHONY : src/tools/CMakeFiles/db-merger.dir/rule + +# Convenience name for target. +db-merger: src/tools/CMakeFiles/db-merger.dir/rule +.PHONY : db-merger + +# fast build rule for target. +db-merger/fast: + cd /celes/anope && $(MAKE) -f src/tools/CMakeFiles/db-merger.dir/build.make src/tools/CMakeFiles/db-merger.dir/build +.PHONY : db-merger/fast + +anopesmtp.o: anopesmtp.c.o +.PHONY : anopesmtp.o + +# target to build an object file +anopesmtp.c.o: + cd /celes/anope && $(MAKE) -f src/tools/CMakeFiles/anopesmtp.dir/build.make src/tools/CMakeFiles/anopesmtp.dir/anopesmtp.c.o +.PHONY : anopesmtp.c.o + +anopesmtp.i: anopesmtp.c.i +.PHONY : anopesmtp.i + +# target to preprocess a source file +anopesmtp.c.i: + cd /celes/anope && $(MAKE) -f src/tools/CMakeFiles/anopesmtp.dir/build.make src/tools/CMakeFiles/anopesmtp.dir/anopesmtp.c.i +.PHONY : anopesmtp.c.i + +anopesmtp.s: anopesmtp.c.s +.PHONY : anopesmtp.s + +# target to generate assembly for a file +anopesmtp.c.s: + cd /celes/anope && $(MAKE) -f src/tools/CMakeFiles/anopesmtp.dir/build.make src/tools/CMakeFiles/anopesmtp.dir/anopesmtp.c.s +.PHONY : anopesmtp.c.s + +db-convert.o: db-convert.c.o +.PHONY : db-convert.o + +# target to build an object file +db-convert.c.o: + cd /celes/anope && $(MAKE) -f src/tools/CMakeFiles/db-convert.dir/build.make src/tools/CMakeFiles/db-convert.dir/db-convert.c.o +.PHONY : db-convert.c.o + +db-convert.i: db-convert.c.i +.PHONY : db-convert.i + +# target to preprocess a source file +db-convert.c.i: + cd /celes/anope && $(MAKE) -f src/tools/CMakeFiles/db-convert.dir/build.make src/tools/CMakeFiles/db-convert.dir/db-convert.c.i +.PHONY : db-convert.c.i + +db-convert.s: db-convert.c.s +.PHONY : db-convert.s + +# target to generate assembly for a file +db-convert.c.s: + cd /celes/anope && $(MAKE) -f src/tools/CMakeFiles/db-convert.dir/build.make src/tools/CMakeFiles/db-convert.dir/db-convert.c.s +.PHONY : db-convert.c.s + +db-merger.o: db-merger.c.o +.PHONY : db-merger.o + +# target to build an object file +db-merger.c.o: + cd /celes/anope && $(MAKE) -f src/tools/CMakeFiles/db-merger.dir/build.make src/tools/CMakeFiles/db-merger.dir/db-merger.c.o +.PHONY : db-merger.c.o + +db-merger.i: db-merger.c.i +.PHONY : db-merger.i + +# target to preprocess a source file +db-merger.c.i: + cd /celes/anope && $(MAKE) -f src/tools/CMakeFiles/db-merger.dir/build.make src/tools/CMakeFiles/db-merger.dir/db-merger.c.i +.PHONY : db-merger.c.i + +db-merger.s: db-merger.c.s +.PHONY : db-merger.s + +# target to generate assembly for a file +db-merger.c.s: + cd /celes/anope && $(MAKE) -f src/tools/CMakeFiles/db-merger.dir/build.make src/tools/CMakeFiles/db-merger.dir/db-merger.c.s +.PHONY : db-merger.c.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... anopesmtp" + @echo "... db-convert" + @echo "... db-merger" + @echo "... edit_cache" + @echo "... install" + @echo "... install/local" + @echo "... install/strip" + @echo "... list_install_components" + @echo "... rebuild_cache" + @echo "... anopesmtp.o" + @echo "... anopesmtp.i" + @echo "... anopesmtp.s" + @echo "... db-convert.o" + @echo "... db-convert.i" + @echo "... db-convert.s" + @echo "... db-merger.o" + @echo "... db-merger.i" + @echo "... db-merger.s" +.PHONY : help + + -spotless: clean +#============================================================================= +# Special targets to cleanup operation of make. -install: anopesmtp db-merger db-convert - test -d ${BINDEST} || mkdir ${BINDEST} - test -d $(BINDEST)/tools || mkdir $(BINDEST)/tools - $(INSTALL) anopesmtp $(BINDEST)/tools/anopesmtp - $(INSTALL) db-merger $(BINDEST)/tools/db-merger - $(INSTALL) db-convert $(BINDEST)/tools/db-convert +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /celes/anope && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system -DUMMY: |
