Fetch libusual

Here we close libusual repo, but do not configure nor build it.

$ git clone git://github.com/libusual/libusual.git lib
Cloning into 'lib'...
done.

Autoconf setup

File: autogen.sh
# use prepared autgen logic
./lib/mk/std-autogen.sh ./lib

# fetch Antimake template from libusual
cp lib/mk/antimake.mk antimake.mk.in
File: configure.ac
AC_INIT([achello], [0.1], [https://libusual.github.com])
AC_CONFIG_SRCDIR([prog.c])
AC_CONFIG_HEADER([lib/usual/config.h])
AC_PREREQ([2.59])

AC_USUAL_PORT_CHECK
AC_USUAL_PROGRAM_CHECK
AC_USUAL_HEADER_CHECK
AC_USUAL_TYPE_CHECK
AC_USUAL_FUNCTION_CHECK

AC_OUTPUT([antimake.mk])

Here is the source that needs to be linked with libusual:

File: prog.c
#include <usual/hashing/crc32.h>
#include <stdio.h>
#include <string.h>

int main(void)
{
        const char *data = "CECSFXX";
        uint32_t crc;

        crc = calc_crc32(data, strlen(data), 0);
        printf("crc: %08x\n", crc);
        return 0;
}

Antimake based Makefile

File: Makefile
# the automake-style build description for 'prog'
noinst_PROGRAMS = prog
prog_SOURCES = prog.c

# location of configured libusual
USUAL_DIR = lib

# mention that 'prog' wants embedded libusual
prog_EMBED_LIBUSUAL = 1
AM_FEATURES = libusual

# clean configured files
DISTCLEANFILES = config.status config.log \
                antimake.mk $(USUAL_DIR)/usual/config.h

# clean generated files
MAINTAINERCLEANFILES = configure config.guess config.sub install-sh \
                antimake.mk.in $(USUAL_DIR)/usual/config.h.in

# launch Antimake
include $(USUAL_DIR)/mk/antimake.mk

Build the project

$ sh ./autogen.sh
$ ./configure
[...]
$ make
     CC       prog.c
     CC       lib/usual/hashing/crc32.c
     CC       lib/usual/base.c
     CCLD     prog
$ ls
Makefile        autogen.sh    config.status  configure.ac  prog
antimake.mk     config.guess  config.sub     install-sh    prog.c
antimake.mk.in  config.log    configure      lib
$ ./prog
crc: 12345678
$ make maintainer-clean
     CLEAN    prog
     MAINTAINERCLEAN maintainer-clean
$ ls
Makefile  autogen.sh  configure.ac  lib  prog.c

Done