Switched build system to autotools

This commit is contained in:
Snaipe 2015-02-06 01:53:01 +01:00
parent b0ebd5cdde
commit 6356d35a05
7 changed files with 92 additions and 18 deletions

3
.gitignore vendored
View file

@ -12,7 +12,8 @@
!ChangeLog
!doc/*
!Makefile
!Makefile.am
!configure.ac
*~
*.swp

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "dependencies/csptr"]
path = dependencies/csptr
url = https://github.com/Snaipe/c-smart-pointers.git

View file

@ -1,17 +0,0 @@
CC = gcc
CFLAGS = -Wall -Wextra -std=gnu99 -Isrc/ -Iinclude/ -g
SRCS = runner.c report.c event.c stats.c
OBJS = $(addprefix src/,$(subst .c,.o,$(SRCS)))
sample: samples/simple.o libcriterion.a
$(LINK.o) -o $@ $< -L. -lcriterion -lcsptr
libcriterion.a: $(OBJS)
$(AR) cru $@ $^
clean:
$(RM) $(OBJS) samples/simple.o
distclean: clean
$(RM) libcriterion.a sample

40
Makefile.am Normal file
View file

@ -0,0 +1,40 @@
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = dependencies/csptr samples
lib_LTLIBRARIES = libcriterion.la
WARNINGS = -Wall -Wextra \
-Wno-unused-result -Wno-missing-field-initializers
libcriterion_la_CFLAGS = \
$(WARNINGS) \
-std=gnu11 \
-fplan9-extensions \
-I$(top_srcdir)/include/ \
$(COVERAGE_CFLAGS)
libcriterion_la_LDFLAGS = $(COVERAGE_LDFLAGS)
# dirty but unless someone has a better alternative...
libcriterion_la_LIBADD = dependencies/csptr/src/libcsptr_la-*.lo
EXTRA_DIST = LICENSE
subdirincludedir = $(includedir)/criterion/
subdirinclude_HEADERS = \
include/criterion/assert.h \
include/criterion/common.h \
include/criterion/criterion.h \
include/criterion/event.h \
include/criterion/hooks.h \
include/criterion/stats.h
libcriterion_la_SOURCES = \
src/event.c \
src/event.h \
src/report.c \
src/report.h \
src/runner.c \
src/runner.h \
src/stats.c \
src/stats.h

38
configure.ac Normal file
View file

@ -0,0 +1,38 @@
AC_PREREQ([2.60])
AC_INIT([criterion], [1.0], [], [criterion], [franklinmathieu@gmail.com])
AC_CONFIG_SRCDIR([src/runner.c])
LT_PREREQ([2.2.4])
AC_CANONICAL_SYSTEM
AM_INIT_AUTOMAKE([dist-bzip2 no-dist-gzip foreign subdir-objects parallel-tests color-tests])
LT_INIT([disable-shared])
AC_CONFIG_MACRO_DIR([m4])
AC_PROG_CC
AM_PROG_CC_C_O
AC_PROG_LIBTOOL
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
AC_SUBST([LIBTOOL_DEPS])
AC_ARG_ENABLE([gcov],
[AS_HELP_STRING([--enable-gcov],
[Compile the project with converage enabled])],
[COVERAGE_CFLAGS="-O0 -fprofile-arcs -ftest-coverage"
COVERAGE_LDFLAGS="-lgcov"
AC_SUBST([COVERAGE_CFLAGS])
AC_SUBST([COVERAGE_LDFLAGS])
],
[])
AC_CONFIG_HEADERS([src/config.h])
AC_CONFIG_FILES([Makefile samples/Makefile])
AC_CONFIG_SUBDIRS([dependencies/csptr])
AC_OUTPUT

1
dependencies/csptr vendored Submodule

@ -0,0 +1 @@
Subproject commit 333c650c515204d02b40aed4c3c531b6c56159bf

8
samples/Makefile.am Normal file
View file

@ -0,0 +1,8 @@
TESTS = signal simple
check_PROGRAMS = signal simple
CFLAGS = -I$(top_srcdir)/include/
LDADD = -L$(top_srcdir)/ -lcriterion
signal_SOURCES = signal.c
simple_SOURCES = simple.c