From 8c601f35e3d74f1db2887e026df384c4728c7a9f Mon Sep 17 00:00:00 2001 From: Micke Prag Date: Thu, 20 Aug 2009 14:41:46 +0000 Subject: [PATCH] Enabled the building of a man file for rfcmd --- rfcmd/CMakeLists.txt | 12 ++++++++++++ rfcmd/rfcmd.c | 23 +++++++++++++++++++++-- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/rfcmd/CMakeLists.txt b/rfcmd/CMakeLists.txt index 01ba07b8..b5b83f5c 100644 --- a/rfcmd/CMakeLists.txt +++ b/rfcmd/CMakeLists.txt @@ -44,6 +44,18 @@ ENDIF (BUILD_RFCMD_WITH_LIBFTDI) INSTALL(TARGETS rfcmd RUNTIME DESTINATION bin) +IF (UNIX) + ADD_CUSTOM_COMMAND( + TARGET rfcmd + POST_BUILD + COMMAND help2man ./rfcmd | bzip2 -c > rfcmd.1.bz2 + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Generating man file rfcmd.1.bz2" + ) +ENDIF (UNIX) + +INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/rfcmd.1.bz2 DESTINATION share/man/man1) + #### Project: find_telldus #### diff --git a/rfcmd/rfcmd.c b/rfcmd/rfcmd.c index 0836bdb3..e8d72cff 100644 --- a/rfcmd/rfcmd.c +++ b/rfcmd/rfcmd.c @@ -66,6 +66,7 @@ int createIkeaString(const char * pSystemStr, const char * pChannelStr, char * pStrReturn); void printUsage(void); +void printVersion(void); #ifdef LIBFTDI int usbWriteFtdi(char *cmdstr); @@ -105,6 +106,9 @@ int main( int argc, char **argv ) exit(1); } /* else - a send cmd string was created */ + } else if ( (argc >= 2) && (strcmp(*(argv+1),"--version")==0) ) { + printVersion(); + exit(1); } else { /* protocol or parameters not recognized */ printUsage(); exit(1); @@ -429,20 +433,35 @@ int createIkeaString( const char * pSystemStr, const char * pChannelStr, const c void printUsage(void) { - printf("%s v%s - Send RF remote commands\n", PROG_NAME, PROG_VERSION); + printf("Sends RF remote commands through a Telldus TellStick\n"); + printf("\n"); printf("Usage: rfcmd DEVICE PROTOCOL [PROTOCOL_ARGUMENTS] \n"); + printf("\n"); #ifdef LIBFTDI printf("\t DEVICE: /dev/ttyUSB[0..n] | LIBUSB\n" ); #else printf("\t DEVICE: /dev/ttyUSB[0..n]\n" ); #endif printf("\t PROTOCOLS: NEXA, SARTANO, WAVEMAN, IKEA\n" ); + printf("\n"); printf("\t PROTOCOL ARGUMENTS - NEXA, WAVEMAN:\n"); printf("\t\tHOUSE_CODE: A..P\n\t\tCHANNEL: 1..16\n\t\tOFF_ON: 0..1\n" ); + printf("\n"); printf("\t PROTOCOL ARGUMENTS - SARTANO:\n"); printf("\t\tCHANNEL: 0000000000..1111111111\n\t\tOFF_ON: 0..1\n" ); + printf("\n"); printf("\t PROTOCOL ARGUMENTS - IKEA:\n"); printf("\t\tSYSTEM: 1..16\n\t\tDEVICE: 1..10\n"); printf("\t\tDIM_LEVEL: 0..10\n\t\tDIM_STYLE: 0..1\n" ); - printf("Copyright(C) Tord Andersson 2007\r\n"); + printf("\n"); + printf("Report bugs to \n"); } + +void printVersion(void) { + printf("%s v%s\n", PROG_NAME, PROG_VERSION); + printf("\n"); + printf("Copyright (C) Tord Andersson 2007\n"); + printf("\n"); + printf("Written by Tord Andersson, Micke Prag, Gudmund Berggren and Tapani Rintala\n"); +} +