ctdlsh configure script is now awesomer than gnu autotools.
authorArt Cancro <ajc@citadel.org>
Thu, 25 Aug 2016 03:42:02 +0000 (23:42 -0400)
committerArt Cancro <ajc@citadel.org>
Thu, 25 Aug 2016 03:42:02 +0000 (23:42 -0400)
ctdlsh/Makefile
ctdlsh/configure
ctdlsh/main.c

index a74b739..f8ec41b 100644 (file)
@@ -15,7 +15,7 @@ ctdlsh: $(OBJS) config.mk
 
 # compile and generate dependency info
 %.o: %.c
-       gcc -c $(CFLAGS) $*.c -o $*.o
+       gcc -c $(CFLAGS) -DCTDLDIR=\"$(CTDLDIR)\" $*.c -o $*.o
        gcc -MM $(CFLAGS) $*.c > $*.d
 
 config.mk:
@@ -28,4 +28,7 @@ distclean: clean
        rm -f config.mk
 
 install: ctdlsh
-       echo Not yet
+       install ctdlsh $(BINDIR)/ctdlsh
+
+uninstall:
+       rm -vf $(BINDIR)/ctdlsh
index 7f32d32..46ee9f4 100755 (executable)
@@ -5,12 +5,52 @@ echo
 echo Running the configure script to create config.mk
 echo
 
-CFLAGS='-ggdb'
-LDFLAGS=''
+# Parse the command line arguments
+for x in $*
+do
+       a=$1
+       k=`echo $a | awk -F= ' { print $1 } '`
+       v=`echo $a | awk -F= ' { print $2 } '`
+
+       case $k in
+               --prefix)
+                       PREFIX=$v
+               ;;
+               --bindir)
+                       BINDIR=$v
+               ;;
+               --ctdldir)
+                       CTDLDIR=$v
+               ;;
+               *)
+                       echo $0 : unknown option $k
+                       echo
+                       echo Valid options are:
+                       echo '  --prefix=PREFIX         Install files in PREFIX [/usr/local]'
+                       echo '  --bindir=DIR            Install executables in DIR [PREFIX/bin]'
+                       echo '  --ctdldir=DIR           Look for Citadel server in DIR [/usr/local/citadel]'
+                       exit 1
+               ;;
+       esac
+       shift
+done
+
+# Set any missing values
+
+[ "$PREFIX" = "" ]     && PREFIX=/usr/local
+[ "$BINDIR" = "" ]     && BINDIR=${PREFIX}/bin
+[ "$CTDLDIR" = "" ]    && CTDLDIR=/usr/local/citadel
+[ "$CFLAGS" = "" ]     && CFLAGS='-ggdb'
+[ "$LDFLAGS" = "" ]    && LDFLAGS=''
+
+# Output the config.mk
 
 (
        echo "CFLAGS := ${CFLAGS}"
        echo "LDFLAGS := ${LDFLAGS}"
+       echo "PREFIX := ${PREFIX}"
+       echo "BINDIR := ${BINDIR}"
+       echo "CTDLDIR := ${CTDLDIR}"
 ) >config.mk
 
 cat config.mk
index 93cbaef..6fc2931 100644 (file)
@@ -170,6 +170,7 @@ int main(int argc, char **argv)
 
        sock_getln(server_socket, buf, sizeof buf);
        if (buf[0] == '2') {
+               printf("Connected: %s\n", buf);
                do_main_loop(server_socket);
        }