18 Commits
Author SHA1 Message Date
Joachim Nilsson b3541da7cb Update ChangeLog and bump version for v1.3.0 release
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-22 00:54:06 +01:00
Joachim Nilsson 315bd4558a Use pkginclude_HEADERS for libuEv include files
Fix include file namespace lost in initial conversion to GNU autotools,
use $(prefix)/include/$(PACKAGE)/*.h

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-22 00:52:13 +01:00
Joachim Nilsson a0bed33445 Drop -Werror from default CFLAGS, for maintainer(s) only
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-22 00:31:12 +01:00
Joachim Nilsson bf127b0dab Updates and cleanup of README
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-22 00:24:32 +01:00
Joachim Nilsson 7d6d90cdb1 Remove AM_MAINTAINER_MODE from configure script, not recommended anymore
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-21 22:31:58 +01:00
Joachim Nilsson 78b7d0962a Make sure to distribute examples as well, even if --disable-examples
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-15 00:58:05 +01:00
Joachim Nilsson 1370275e61 Run clean pass first, then parallel build test
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-14 21:45:16 +01:00
Joachim Nilsson d01cd60dae Update .gitignore to mask out all generated files from GNU build system
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-14 21:41:14 +01:00
Joachim Nilsson fb942fcea9 Makefile.am: Prune unused libuev_la_LIBADD
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-14 21:38:32 +01:00
Joachim Nilsson f49232cce0 README: Further updates after conversion to GNU configure and build
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-12 21:40:30 +01:00
Joachim Nilsson 6933f7f7c2 README: Small update about the new GNU configure and build system
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-11 17:30:38 +01:00
Joachim Nilsson cd522704c7 Create empty m4 directory for the benefit of autogen.sh and Travis-CI
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-10 19:00:16 +01:00
Joachim Nilsson a0ebd468b6 Debug Travis-CI, fails to run autogen.sh
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-10 18:57:58 +01:00
Joachim Nilsson b621062719 Fix Travis-CI build script
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-10 18:51:07 +01:00
Joachim Nilsson f3e12a98a0 Update build script for Travis-CI with GNU configure and build system
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-10 18:49:30 +01:00
Joachim Nilsson acf6bbcbaf Initial conversion to the GNU configure and build system
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-10 18:21:52 +01:00
Joachim Nilsson a8604938e9 Remove default -Os optimization and add -Wextra
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-08 21:06:20 +01:00
Joachim Nilsson cbb7455603 Correct Markdown syntax to version links
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
2016-01-05 12:58:55 +01:00
12 changed files with 187 additions and 282 deletions

No files matched your search

+23 -5
View File
@@ -1,7 +1,25 @@
bench *~
test
*.d *.d
*.o *.o
*~ *.so
libuev.a *.so.*
libuev.so.1 *.a
.deps
.libs
compile
config.*
configure
depcomp
install-sh
libtool
ltmain.sh
missing
stamp-h1
Makefile
Makefile.in
aclocal.m4
ar-lib
autom4te.cache
bench
test
libuev*
+5 -2
View File
@@ -17,11 +17,14 @@ addons:
name: "troglobit/libuev" name: "troglobit/libuev"
description: "libuEv | Simple event loop for Linux" description: "libuEv | Simple event loop for Linux"
notification_email: troglobit@gmail.com notification_email: troglobit@gmail.com
build_command: "make" build_command_prepend: "./autogen && ./configure --enable-examples"
build_command: "make clean all"
branch_pattern: dev branch_pattern: dev
# We don't use configure, so we must define our own build script. # We don't use configure, so we must define our own build script.
script: script:
- make distclean - ./autogen.sh
- ./configure --disable-silent-rules --enable-examples
- make clean
- make -j5 - make -j5
- make test - make test
+41 -28
View File
@@ -3,8 +3,21 @@ Change Log
All notable changes to the project are documented in this file. All notable changes to the project are documented in this file.
[v1.2.4] - 2015-11-23
--------------------- [v1.3.0][] - 2016-01-22
-----------------------
### Changes
- Change to GNU configure and build system
- Default optimization is now -O2, not -Os, which can be a bit
unpredictable with some cross compiler toolchains. -O2 is
the tried and tested path, and default in autotools
- Added `-Wextra` to the previous `-W -Wall`, drop `-Werror`
which is supposed to be used by maintainer(s) only.
[v1.2.4][] - 2015-11-23
-----------------------
### Fixes ### Fixes
@@ -12,8 +25,8 @@ All notable changes to the project are documented in this file.
- Make sure we don't inherit `LDFLAGS` from environment. - Make sure we don't inherit `LDFLAGS` from environment.
[v1.2.3] - 2015-09-17 [v1.2.3][] - 2015-09-17
--------------------- -----------------------
Very minor release. Very minor release.
@@ -28,8 +41,8 @@ Very minor release.
- Silence annoying warning from newer GNU ar in Ubuntu 15.10 - Silence annoying warning from newer GNU ar in Ubuntu 15.10
[v1.2.2] - 2015-08-30 [v1.2.2][] - 2015-08-30
--------------------- -----------------------
Minor bugfix release. Minor bugfix release.
@@ -44,8 +57,8 @@ Minor bugfix release.
- Fix issue #6: Segfault when stopping timer before calling `uev_exit()` - Fix issue #6: Segfault when stopping timer before calling `uev_exit()`
[v1.2.1] - 2015-07-02 [v1.2.1][] - 2015-07-02
--------------------- -----------------------
### Changes ### Changes
- Private data members in `uev.h` have now been moved to a new file - Private data members in `uev.h` have now been moved to a new file
@@ -64,8 +77,8 @@ Minor bugfix release.
should use. Thank you @vonj! should use. Thank you @vonj!
[v1.2.0] - 2015-06-09 [v1.2.0][] - 2015-06-09
--------------------- -----------------------
API change in event callbacks and fix timers that never start. API change in event callbacks and fix timers that never start.
@@ -74,12 +87,12 @@ API change in event callbacks and fix timers that never start.
change! Please update all your callbacks if you upgrade. change! Please update all your callbacks if you upgrade.
### Fixes ### Fixes
- Fix timers that accidentally broke in [v1.1.0]. - Fix timers that accidentally broke in [v1.1.0][].
- Fixes to `bench.c`, it now actually listens to the pipe/socket. - Fixes to `bench.c`, it now actually listens to the pipe/socket.
[v1.1.0] - 2015-03-04 [v1.1.0][] - 2015-03-04
--------------------- -----------------------
Massively improved error handling. Massively improved error handling.
@@ -96,11 +109,11 @@ Massively improved error handling.
- Remove `test.c` from `DISTFILES` in `Makefile`. You need the - Remove `test.c` from `DISTFILES` in `Makefile`. You need the
comeplete sources to build the examples now. Thanks to @karasz for comeplete sources to build the examples now. Thanks to @karasz for
the heads up on this and the musl libc issue with missing `queue.h`! the heads up on this and the musl libc issue with missing `queue.h`!
- Fix broken link to [v1.0.5] in this file. - Fix broken link to [v1.0.5][] in this file.
[v1.0.5] - 2015-02-15 [v1.0.5][] - 2015-02-15
--------------------- -----------------------
### Changes ### Changes
- Add `uev_*_start()` functions. - Add `uev_*_start()` functions.
@@ -114,8 +127,8 @@ Massively improved error handling.
- Further updates to [README.md][] - Further updates to [README.md][]
[v1.0.4] - 2015-01-24 [v1.0.4][] - 2015-01-24
--------------------- -----------------------
Minor documentation and build fixes. Minor documentation and build fixes.
@@ -127,8 +140,8 @@ Release mainly targeted for [Finit development](https://github.com/troglobit/fin
* Minor update to Makefile, change how build progress is echoed * Minor update to Makefile, change how build progress is echoed
[v1.0.3] - 2015-01-24 [v1.0.3][] - 2015-01-24
--------------------- -----------------------
This is a very minor release, with a strong focus on documentation. This is a very minor release, with a strong focus on documentation.
@@ -140,25 +153,25 @@ This is a very minor release, with a strong focus on documentation.
- Clang scan-build support added - Clang scan-build support added
[v1.0.2] - 2015-01-07 [v1.0.2][] - 2015-01-07
--------------------- -----------------------
### Fixes ### Fixes
- Fix broken `make dist` target in [v1.0.1]. - Fix broken `make dist` target in [v1.0.1][].
[v1.0.1] - 2015-01-07 [v1.0.1][] - 2015-01-07
--------------------- -----------------------
### Changes ### Changes
- Cleanup and rewrite of [README.md][] after first audit by @vonj - Cleanup and rewrite of [README.md][] after first audit by @vonj
- Added API and example section to [README.md][] - Added API and example section to [README.md][]
- New [joystick.c] example added - New [joystick.c][] example added
- `main.c:uev_run()`: Document mysterious flags parameter - `main.c:uev_run()`: Document mysterious flags parameter
[v1.0.0] - 2013-08-06 [v1.0.0][] - 2013-08-06
--------------------- -----------------------
First release in the new guise and API. First release in the new guise and API.
-152
View File
@@ -1,152 +0,0 @@
# libuEv -- Simple event loop for Linux
#
# Copyright (c) 2012 Flemming Madsen <flemming!madsen()madsensoft!dk>
# Copyright (c) 2013-2015 Joachim Nilsson <troglobit()gmail!com>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
#
.PHONY: all test clean joystick test examples bench
# Figure out root of library, unless used as submodule
ROOTDIR ?= $(shell pwd)
#VERSION = $(shell git tag -l | tail -1)
VERSION = 1.2.4
NAME = libuev
PKG = $(NAME)-$(VERSION)
ARCHIVE = $(PKG).tar.xz
CC ?= $(CROSS)gcc
AR ?= $(CROSS)ar
STRIP ?= $(CROSS)strip
MAKE := @$(MAKE)
INSTALL := install --backup=off
STRIPINST := $(INSTALL) -s --strip-program=$(CROSS)strip -m 0755
CFLAGS += -fPIC
CFLAGS += -Os
CPPFLAGS += -W -Wall -Werror
LDFLAGS = $(EXTRA_LDFLAGS)
ARFLAGS = crus
MAKEFLAGS = --no-print-directory --silent
DISTFILES = README ChangeLog LICENSE
HEADERS = uev.h private.h queue.h
OBJS := uev.o io.o timer.o signal.o
SRCS := $(OBJS:.o=.c)
DEPS := $(SRCS:.c=.d)
JUNK = *~ *.bak *.map .*.d *.so* *.a DEADJOE *.gdb *.elf core core.* *.html
VER = 1
LIBNAME = $(NAME)
SOLIB = $(LIBNAME).so.$(VER)
SYMLIB = $(LIBNAME).so
STATICLIB = $(LIBNAME).a
TARGET = $(STATICLIB) $(SOLIB)
# Default install paths
prefix ?= /usr/local
libdir ?= $(prefix)/lib
datadir ?= $(prefix)/share/doc/$(LIBNAME)
incdir ?= $(prefix)/include
export STATICLIB JUNK ROOTDIR CFLAGS CPPFLAGS
# This magic trick looks like a comment, but works on BSD PMake
#include <rules.mk>
include rules.mk
# Build rules
all: $(TARGET)
$(OBJS): Makefile
$(SOLIB): Makefile $(OBJS)
@printf " LINK $@\n"
@$(CC) $(LDFLAGS) -shared -Wl,-soname=$@ -o $@ $(OBJS)
$(STATICLIB): Makefile $(OBJS)
@printf " ARCHIVE $@\n"
@$(AR) $(ARFLAGS) $@ $(OBJS) 2>/dev/null
install-exec: all
@printf " INSTALL $(DESTDIR)$(libdir)/$(SOLIB)\n"
@install -d $(DESTDIR)$(libdir)
@install $(SOLIB) $(DESTDIR)$(libdir)/$(SOLIB)
@ln -sf $(SOLIB) $(DESTDIR)$(libdir)/$(SYMLIB)
install-dev:
@install -d $(DESTDIR)$(incdir)/$(LIBNAME)
@for file in $(HEADERS); do \
printf " INSTALL $(DESTDIR)$(incdir)/$(LIBNAME)/$$file\n"; \
install -m 0644 $$file $(DESTDIR)$(incdir)/$(LIBNAME)/$$file; \
done
@printf " INSTALL $(DESTDIR)$(libdir)/$(STATICLIB)\n"
@install -d $(DESTDIR)$(libdir)
@install $(STATICLIB) $(DESTDIR)$(libdir)/$(STATICLIB)
@install -d $(DESTDIR)$(datadir)
@for file in $(DISTFILES); do \
printf " INSTALL $(DESTDIR)$(datadir)/$$file\n"; \
install -m 0644 $$file $(DESTDIR)$(datadir)/$$file; \
done
install: install-exec install-dev
uninstall:
-@$(RM) -r $(DESTDIR)$(datadir)
-@$(RM) -r $(DESTDIR)$(incdir)/$(LIBNAME)
-@$(RM) $(DESTDIR)$(libdir)/$(SOLIB)
-@$(RM) $(DESTDIR)$(libdir)/$(SYMLIB)
-@$(RM) $(DESTDIR)$(libdir)/$(STATICLIB)
strip: $(TARGET)
@printf " STRIP %s\n" $(TARGET)
@$(STRIP) --strip-unneeded $(TARGET)
@size $(TARGET)
bench: Makefile $(STATICLIB)
@printf " RUN %s\n" $@
@$(CC) $(CPPFLAGS) -D_GNU_SOURCE -g -o bench bench.c $(STATICLIB) && ./bench
examples: all
@$(MAKE) -C examples
test joystick: all
@$(MAKE) -C examples $@
@./examples/$@
# Runs Clang scan-build on the whole tree
check: clean
@scan-build $(MAKE) all
clean:
-@$(MAKE) -C examples $@
-@$(RM) $(TARGET) *.o test joystick bench
distclean: clean
-@$(MAKE) -C examples $@
-@$(RM) $(DEPS) $(JUNK)
dist:
@echo "Building .xz tarball of $(PKG) in parent dir..."
git archive --format=tar --prefix=$(PKG)/ v$(VERSION) | xz >../$(ARCHIVE)
@(cd ..; md5sum $(ARCHIVE) | tee $(ARCHIVE).md5)
# Include automatically generated rules
-include $(DEPS)
+66
View File
@@ -0,0 +1,66 @@
ACLOCAL_AMFLAGS = -I m4
lib_LTLIBRARIES = libuev.la
pkginclude_HEADERS = uev.h private.h queue.h
libuev_la_SOURCES = uev.c io.c timer.c signal.c
check_PROGRAMS = bench
bench_CPPFLAGS = -D_GNU_SOURCE
bench_LDADD = $(top_srcdir)/libuev.la
libuev_la_CPPFLAGS = -D_GNU_SOURCE
libuev_la_CFLAGS = -W -Wall -Wextra
libuev_la_LDFLAGS = $(AM_LDFLAGS) -version-info 1:0:0
doc_DATA = README LICENSE
#EXTRA_DIST = README.md AUTHORS LICENSE ChangeLog.md
DIST_SUBDIRS = examples
SUBDIRS = .
if ENABLE_EXAMPLES
SUBDIRS += examples
endif
test joystick: all-recursive
./examples/$@
check-local:
@echo " BENCH $(PACKAGE)"
@./bench
if ENABLE_EXAMPLES
@echo " TEST $(PACKAGE)"
@./examples/test
endif
## Generate MD5 checksum file
MD5 = md5sum
md5-dist:
@for file in $(DIST_ARCHIVES); do \
$(MD5) $$file > $$file.md5; \
done
## Check if tagged in git
release-hook:
if [ ! `git tag | grep $(PACKAGE_VERSION)` ]; then \
echo; \
printf "\e[1m\e[41mCannot find release tag $(PACKAGE_VERSION)\e[0m\n"; \
printf "\e[1m\e[5mDo release anyway?\e[0m "; read yorn; \
if [ "$$yorn" != "y" -a "$$yorn" != "Y" ]; then \
printf "OK, aborting release.\n"; \
exit 1; \
fi; \
echo; \
else \
echo; \
printf "\e[1m\e[42mFound GIT release tag $(PACKAGE_VERSION)\e[0m\n"; \
printf "\e[1m\e[44m>>Remember to push tags!\e[0m\n"; \
echo; \
fi
## Target to run when building a release
release: dist release-hook md5-dist
@for file in $(DIST_ARCHIVES); do \
printf "$$file \tDistribution tarball\n"; \
printf "$$file.md5\t"; cat $$file.md5 | cut -f1 -d' '; \
mv $$file* ../; \
done
+19 -32
View File
@@ -116,13 +116,13 @@ is achieved by calling `uev_init()` with a pointer to a (thread) local
``` ```
### Register an Event Watcher ### Register an Event Watcher
For each event to be monitored, be it a signal, timer or a file For each event to monitor, be it a signal, timer or file descriptor, a
descriptor, a *watcher* must be registered with the event context. The *watcher* must be registered with the event context. The watcher, an
watcher, an `uev_t`, is registered by calling the event type's `_init()` `uev_t`, is registered by calling the event type's `_init()` function
function with the `uev_ctx_t` context, the callback, and an optional with the `uev_ctx_t` context, the callback, and an optional argument.
argument.
Here is a signal example: Here is a signal example:
@@ -148,6 +148,7 @@ Here is a signal example:
``` ```
### Start Event Loop ### Start Event Loop
When all watchers are registered, call the *event loop* with `uev_run()` When all watchers are registered, call the *event loop* with `uev_run()`
@@ -260,9 +261,9 @@ To compile the program, save the code as `joystick.c` and call GCC with
directory, skips using a Makefile altogether. Alternatively, call the directory, skips using a Makefile altogether. Alternatively, call the
`Makefile` with <kbd>make joystick</kbd> from this directory. `Makefile` with <kbd>make joystick</kbd> from this directory.
More complete and relevant example uses of [libuEv][] is the TFTP/FTP More complete and relevant example uses of [libuEv][] is the FTP/TFTP
server [uftpd][5], and the Linux `/sbin/init` replacement [finit][6]. server [uftpd][5], and the Linux `/sbin/init` replacement [finit][6].
Both use [libuEv][] as a GIT submodule. Both successfully employ [libuEv][].
Also see the `bench.c` program (<kbd>make bench</kbd> from within the Also see the `bench.c` program (<kbd>make bench</kbd> from within the
library) for [reference benchmarks][7] against [libevent][1] and library) for [reference benchmarks][7] against [libevent][1] and
@@ -272,38 +273,24 @@ library) for [reference benchmarks][7] against [libevent][1] and
Build & Install Build & Install
--------------- ---------------
The library is built for and developed on GNU/Linux systems, so it may The library is built for and developed on GNU/Linux systems, patches to
use GCC and GNU Make specific extensions here and there. This is not on support *BSD and its kqueue interface are most welcome.
purpose and patches to correct this are most welcome. Particularly
patches to support *BSD and its kqueue interface.
* <kbd>make all</kbd>: The library libuEv use the GNU configure and build system. To try out the bundled
* <kbd>make test</kbd>: Test and showcase examples, use the `--enable-examples` switch to the `configure` script.
* <kbd>make install</kbd>: Honors `$prefix` and `$DESTDIR` environment variables
Size of [libuEv][]: ./configure
make all
make test
make install
$ make strip The resulting .so file is ~14 kiB when stripped (`make install-strip`).
CC main.o
CC io.o
CC timer.o
CC signal.o
ARCHIVE libuev.a
LINK libuev.so.1
STRIP libuev.a
STRIP libuev.so.1
text data bss dec hex filename
1177 0 0 1177 499 main.o (ex libuev.a)
308 0 0 308 134 io.o (ex libuev.a)
682 0 0 682 2aa timer.o (ex libuev.a)
563 0 0 563 233 signal.o (ex libuev.a)
6306 768 8 7082 1baa libuev.so.1
Origin & References Origin & References
-------------------- -------------------
[libuEv][] was originally based on [LibUEvent][8] by [Flemming Madsen] [libuEv][] was originally based on [LibUEvent][8] by [Flemming Madsen][]
but has been completely rewritten with a much clearer API. Now more but has been completely rewritten with a much clearer API. Now more
similar to the famous [libev][2] by [Mark Lehmann][]. Another small similar to the famous [libev][2] by [Mark Lehmann][]. Another small
event library used for inspiration is the very small [Picoev][9] by event library used for inspiration is the very small [Picoev][9] by
Executable
+3
View File
@@ -0,0 +1,3 @@
#!/bin/sh
autoreconf -W portability -visfm
+24
View File
@@ -0,0 +1,24 @@
# Use v2.61 for backwards compat with Ubuntu 12.04 LTS
AC_PREREQ([2.61])
AC_INIT(libuEv, 1.3.0, https://github.com/troglobit/libuev/issues, libuev)
AM_INIT_AUTOMAKE([1.11 foreign no-dist-gzip dist-xz])
AM_SILENT_RULES([yes])
AC_CONFIG_SRCDIR(uev.c)
AM_CONFIG_HEADER(config.h)
AC_CONFIG_FILES([Makefile examples/Makefile])
AC_CONFIG_MACRO_DIR([m4])
AC_PROG_CC
AM_PROG_AR
LT_INIT
AC_ARG_ENABLE([examples],
[AS_HELP_STRING([--enable-examples], [build examples])],
[enable_examples=yes], [])
AM_CONDITIONAL([ENABLE_EXAMPLES], [test "$enable_examples" = yes])
AC_HEADER_STDC
AC_C_CONST
AC_OUTPUT
-54
View File
@@ -1,54 +0,0 @@
# libuEv examples
#
# Copyright (c) 2012 Flemming Madsen <flemming!madsen()madsensoft!dk>
# Copyright (c) 2013-2015 Joachim Nilsson <troglobit()gmail!com>
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
.PHONY: all clean
TARGET = signal test joystick
OBJS := $(addsuffix .o, $(TARGET))
SRCS := $(OBJS:.o=.c)
DEPS := $(SRCS:.c=.d)
CPPFLAGS += -I../
LDFLAGS := -L../
LDLIBS := ../$(STATICLIB)
# This magic trick looks like a comment, but works on BSD PMake
#include <../rules.mk>
include ../rules.mk
all: $(TARGET)
signal: signal.o
test: test.o
joystick: joystick.o
clean:
-@$(RM) $(TARGET) *.o
distclean: clean
-@$(RM) $(DEPS) $(JUNK)
# Include automatically generated rules
-include $(DEPS)
+5
View File
@@ -0,0 +1,5 @@
noinst_PROGRAMS = signal test joystick
AM_CPPFLAGS = -I$(top_srcdir)
AM_LDFLAGS = -L$(top_srcdir)
LIBS = $(LTLIBINTL)
LDADD = $(top_srcdir)/libuev.la
+1
View File
@@ -0,0 +1 @@
*.m4
-9
View File
@@ -1,9 +0,0 @@
# Pretty printing and GCC -M for auto dep files
%.o: %.c
@printf " CC $(subst $(ROOTDIR)/,,$(shell pwd)/)$@\n"
@$(CC) $(CFLAGS) $(CPPFLAGS) -c -MMD -MP -o $@ $<
%: %.o
@printf " LINK $(subst $(ROOTDIR)/,,$(shell pwd)/)$@\n"
@$(CC) $(CFLAGS) $(LDFLAGS) -Wl,-Map,$@.map -o $@ $^ $(LDLIBS$(LDLIBS-$(@)))