]> sigrok.org Git - sigrok-firmware.git/commitdiff
Use standard autotools setup.
authorUwe Hermann <redacted>
Wed, 14 Nov 2012 18:23:25 +0000 (19:23 +0100)
committerUwe Hermann <redacted>
Tue, 18 Dec 2012 01:15:37 +0000 (02:15 +0100)
Use a standard autotools build system instead of hand-crafted Makefiles.

This makes sigrok-firmware consistent with the other sigrok subprojects,
makes it more portable, and gives us all the usual autotools mechanism
for free (make install, uninstall, dist, --prefix, and so on).

.gitignore [new file with mode: 0644]
Makefile [deleted file]
Makefile.am [new file with mode: 0644]
README
asix-sigma/Makefile.am [new file with mode: 0644]
autogen.sh [new file with mode: 0755]
configure.ac [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..eb5dd8e
--- /dev/null
@@ -0,0 +1,16 @@
+# autotools cruft
+aclocal.m4
+autom4te.cache/
+config.h
+config.h.in
+config.log
+config.status
+configure
+stamp-h1
+autostuff/
+ChangeLog
+
+# recursive autoconf leftovers
+Makefile
+Makefile.in
+
diff --git a/Makefile b/Makefile
deleted file mode 100644 (file)
index c5f5114..0000000
--- a/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-##
-## This file is part of the sigrok project.
-##
-## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de>
-##
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 2 of the License, or
-## (at your option) any later version.
-##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with this program; if not, write to the Free Software
-## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
-##
-
-VERSION = "0.1.0"
-
-DESTDIR ?= /usr/local/share/sigrok-firmware
-
-TARBALLDIR = sigrok-firmware-$(VERSION)
-
-all:
-       @echo "Valid Makefile targets: ChangeLog, dist, install."
-
-ChangeLog:
-       @git log > ChangeLog || touch ChangeLog
-
-dist: ChangeLog
-       @mkdir $(TARBALLDIR)
-       @cp -r Makefile README NEWS asix-sigma $(TARBALLDIR)
-       @tar -c -z -f $(TARBALLDIR).tar.gz $(TARBALLDIR)
-       @rm -rf $(TARBALLDIR)
-       @rm -f ChangeLog
-
-install:
-       @mkdir -p $(DESTDIR)
-       @cp */*.fw $(DESTDIR)
-
diff --git a/Makefile.am b/Makefile.am
new file mode 100644 (file)
index 0000000..3e9dec7
--- /dev/null
@@ -0,0 +1,32 @@
+##
+## This file is part of the sigrok project.
+##
+## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de>
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+ACLOCAL_AMFLAGS = -I autostuff
+
+SUBDIRS = asix-sigma
+
+MAINTAINERCLEANFILES = ChangeLog
+
+.PHONY: ChangeLog
+ChangeLog:
+       git --git-dir $(top_srcdir)/.git log > ChangeLog || touch ChangeLog
+
+dist-hook: ChangeLog
+
diff --git a/README b/README
index d48c0d68b1d6210ab6882727b2113b54418a6c13..c974153883c319b43e8ed7ebb665ac60bb92739b 100644 (file)
--- a/README
+++ b/README
@@ -26,6 +26,8 @@ In order to get the sigrok-firmware source code and build it, run:
 
  $ git clone git://sigrok.org/sigrok-firmware
  $ cd sigrok-firmware
+ $ ./autogen.sh
+ $ ./configure
  $ make
 
 For installing sigrok-firmware:
@@ -36,7 +38,7 @@ This will install the files into /usr/local/share/sigrok-firmware per default.
 
 You can override the install directory like this:
 
-  $ make DESTDIR=/tmp/foo install
+  $ ./configure --prefix=/usr
 
 Please see the following wiki pages for more detailed instructions:
 
diff --git a/asix-sigma/Makefile.am b/asix-sigma/Makefile.am
new file mode 100644 (file)
index 0000000..73f0893
--- /dev/null
@@ -0,0 +1,28 @@
+##
+## This file is part of the sigrok project.
+##
+## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de>
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+dist_pkgdata_DATA = \
+       asix-sigma-100.fw \
+       asix-sigma-200.fw \
+       asix-sigma-50.fw \
+       asix-sigma-50sync.fw
+
+EXTRA_DIST = LICENSE.Sigma
+
diff --git a/autogen.sh b/autogen.sh
new file mode 100755 (executable)
index 0000000..a910269
--- /dev/null
@@ -0,0 +1,57 @@
+#!/bin/sh
+##
+## This file is part of the sigrok project.
+##
+## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de>
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+OS=`uname`
+
+ACLOCAL_DIR=
+
+if [ "x$OS" = "xDarwin" ]; then
+       if [ -d /sw/share/aclocal ]; then
+               # fink installs aclocal macros here
+               ACLOCAL_DIR="-I /sw/share/aclocal"
+       elif [ -d /opt/local/share/aclocal ]; then
+               # Macports installs aclocal macros here
+               ACLOCAL_DIR="-I /opt/local/share/aclocal"
+       elif [ -d /usr/local/share/aclocal ]; then
+               # Homebrew installs aclocal macros here
+               ACLOCAL_DIR="-I /usr/local/share/aclocal"
+       elif [ -d /usr/share/aclocal ]; then
+               # Xcode installs aclocal macros here
+               ACLOCAL_DIR="-I /usr/share/aclocal"
+       fi
+elif [ "x$OS" = "xMINGW32_NT-5.1" ]; then
+       # Windows XP
+       ACLOCAL_DIR="-I /usr/local/share/aclocal"
+elif [ "x$OS" = "xMINGW32_NT-6.0" ]; then
+       # Windows Vista
+       ACLOCAL_DIR="-I /usr/local/share/aclocal"
+elif [ "x$OS" = "xMINGW32_NT-6.1" ]; then
+       # Windows 7
+       ACLOCAL_DIR="-I /usr/local/share/aclocal"
+fi
+
+echo "Generating build system..."
+mkdir autostuff
+aclocal ${ACLOCAL_DIR} || exit 1
+autoheader || exit 1
+automake --add-missing --copy --foreign || exit 1
+autoconf || exit 1
+
diff --git a/configure.ac b/configure.ac
new file mode 100644 (file)
index 0000000..ae466c9
--- /dev/null
@@ -0,0 +1,45 @@
+##
+## This file is part of the sigrok project.
+##
+## Copyright (C) 2012 Uwe Hermann <uwe@hermann-uwe.de>
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+# We require at least autoconf 2.63 (AC_INIT format changed there).
+AC_PREREQ([2.63])
+
+AC_INIT([sigrok-firmware], [0.1.0], [sigrok-devel@lists.sourceforge.net],
+       [sigrok-firmware], [http://www.sigrok.org])
+AC_CONFIG_HEADER([config.h])
+AC_CONFIG_MACRO_DIR([autostuff])
+AC_CONFIG_AUX_DIR([autostuff])
+
+# We require at least automake 1.11 (needed for 'silent rules').
+AM_INIT_AUTOMAKE([1.11 -Wall -Werror foreign std-options])
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
+AC_PROG_INSTALL
+AC_PROG_LN_S
+
+AC_SUBST(FIRMWARE_DIR, "$datadir/sigrok-firmware")
+AC_SUBST(MAKEFLAGS, '--no-print-directory')
+
+AC_CONFIG_FILES([Makefile
+                asix-sigma/Makefile
+               ])
+
+AC_OUTPUT
+