Autotooled the project with very basic versioning support.
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..4103ac3
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,2 @@
+AUTOMAKE_OPTIONS = foreign
+SUBDIRS = src
diff --git a/autogen.sh b/autogen.sh
new file mode 100755
index 0000000..06b6899
--- /dev/null
+++ b/autogen.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+aclocal
+automake --add-missing
+autoconf
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..fcc20ff
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,35 @@
+# -*- Autoconf -*-
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.61)
+AC_INIT(libiphone, 0.1.0, nospam@nowhere.com)
+AM_INIT_AUTOMAKE(libiphone, 0.1.0)
+AC_CONFIG_SRCDIR([src/lockdown.c])
+AC_CONFIG_HEADER([config.h])
+
+# Checks for programs.
+AC_PROG_CC
+
+# Checks for libraries.
+AC_CHECK_LIB(xml2,xmlFree,,[AC_MSG_ERROR([libxml2 library missing])])
+AC_CHECK_LIB(usb,usb_bulk_write,,[AC_MSG_ERROR([libusb library missing])])
+AC_CHECK_LIB(gnutls,gnutls_record_send,,[AC_MSG_ERROR([libgnutls library missing])])
+
+# Checks for header files.
+AC_HEADER_STDC
+AC_CHECK_HEADERS([arpa/inet.h stdint.h stdlib.h string.h])
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_C_CONST
+AC_TYPE_SIZE_T
+AC_TYPE_SSIZE_T
+AC_TYPE_UINT16_T
+AC_TYPE_UINT32_T
+AC_TYPE_UINT8_T
+
+# Checks for library functions.
+AC_FUNC_MALLOC
+AC_FUNC_REALLOC
+AC_CHECK_FUNCS([strcasecmp strdup strerror strndup])
+
+AC_OUTPUT(Makefile src/Makefile)
diff --git a/AFC.c b/src/AFC.c
similarity index 100%
rename from AFC.c
rename to src/AFC.c
diff --git a/AFC.h b/src/AFC.h
similarity index 100%
rename from AFC.h
rename to src/AFC.h
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644
index 0000000..cb05d95
--- /dev/null
+++ b/src/Makefile.am
@@ -0,0 +1,5 @@
+AM_CFLAGS = `xml2-config --cflags`
+AM_LDFLAGS = `xml2-config --libs` -lusb -lgnutls
+
+bin_PROGRAMS = iphoneclient
+iphoneclient_SOURCES = usbmux.c main.c iphone.c plist.c lockdown.c AFC.c
diff --git a/iphone.c b/src/iphone.c
similarity index 100%
rename from iphone.c
rename to src/iphone.c
diff --git a/iphone.h b/src/iphone.h
similarity index 100%
rename from iphone.h
rename to src/iphone.h
diff --git a/lockdown.c b/src/lockdown.c
similarity index 100%
rename from lockdown.c
rename to src/lockdown.c
diff --git a/lockdown.h b/src/lockdown.h
similarity index 100%
rename from lockdown.h
rename to src/lockdown.h
diff --git a/main.c b/src/main.c
similarity index 97%
rename from main.c
rename to src/main.c
index d5c2dfa..e4007e9 100644
--- a/main.c
+++ b/src/main.c
@@ -37,7 +37,6 @@
printf("Now starting SSL.\n");
// if (!lockdownd_start_SSL_session(control, "29942970-207913891623273984")) {
- if (!lockdownd_start_SSL_session(control, "2994593482385678618538736")) {
printf("Error happened in GnuTLS...\n");
} else {
printf("... we're in SSL with the phone... !?\n");
diff --git a/main.h b/src/main.h
similarity index 100%
rename from main.h
rename to src/main.h
diff --git a/plist.c b/src/plist.c
similarity index 100%
rename from plist.c
rename to src/plist.c
diff --git a/plist.h b/src/plist.h
similarity index 100%
rename from plist.h
rename to src/plist.h
diff --git a/usbmux.c b/src/usbmux.c
similarity index 100%
rename from usbmux.c
rename to src/usbmux.c
diff --git a/usbmux.h b/src/usbmux.h
similarity index 100%
rename from usbmux.h
rename to src/usbmux.h