1# Makefile for tinydtls
2#
3# Copyright (C) 2011 Olaf Bergmann <bergmann@tzi.org>
4# Copyright (C) 2013 Hauke Mehrtens <hauke@hauke-m.de>
5#
6# Permission is hereby granted, free of charge, to any person
7# obtaining a copy of this software and associated documentation
8# files (the "Software"), to deal in the Software without
9# restriction, including without limitation the rights to use, copy,
10# modify, merge, publish, distribute, sublicense, and/or sell copies
11# of the Software, and to permit persons to whom the Software is
12# furnished to do so, subject to the following conditions:
13#
14# The above copyright notice and this permission notice shall be
15# included in all copies or substantial portions of the Software.
16#
17# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
21# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
22# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
23# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24# SOFTWARE.
25
26# the library's version
27VERSION:=@PACKAGE_VERSION@
28
29# tools
30@SET_MAKE@
31SHELL = /bin/sh
32MKDIR = mkdir
33
34abs_builddir = @abs_builddir@
35top_builddir = @top_builddir@
36top_srcdir:= @top_srcdir@
37
38ECC_SOURCES:= ecc.c testecc.c testfield.c test_helper.c
39ECC_HEADERS:= ecc.h test_helper.h
40FILES:=Makefile.in Makefile.contiki $(ECC_SOURCES) $(ECC_HEADERS)
41DISTDIR=$(top_builddir)/@PACKAGE_TARNAME@-@PACKAGE_VERSION@
42
43ifeq ("@WITH_CONTIKI@", "1")
44include Makefile.contiki
45else
46ECC_OBJECTS:= $(patsubst %.c, %.o, $(ECC_SOURCES)) ecc_test.o
47#PROGRAMS:= testecc testfield
48CPPFLAGS=@CPPFLAGS@
49CFLAGS=-Wall -std=c99 -pedantic @CFLAGS@ -DTEST_INCLUDE
50LDLIBS=@LIBS@
51
52.PHONY: all dirs clean install distclean .gitignore doc
53
54.SUFFIXES:
55.SUFFIXES:      .c .o
56
57all: $(PROGRAMS)
58
59ecc_test.o:	ecc.c ecc.h
60	$(CC) $(CFLAGS) $(CPPFLAGS)  -c -o $@ $<
61
62testecc: ecc_test.o test_helper.o
63
64testfield: ecc_test.o test_helper.o
65
66check:
67	echo DISTDIR: $(DISTDIR)
68	echo top_builddir: $(top_builddir)
69
70clean:
71	@rm -f $(PROGRAMS) main.o $(LIB) $(OBJECTS)
72	for dir in $(SUBDIRS); do \
73		$(MAKE) -C $$dir clean ; \
74	done
75
76distclean:	clean
77	@rm -rf $(DISTDIR)
78	@rm -f *~ $(DISTDIR).tar.gz
79endif # WITH_CONTIKI
80
81dist:	$(FILES)
82	test -d $(DISTDIR)/ecc || mkdir $(DISTDIR)/ecc
83	cp -p $(FILES) $(DISTDIR)/ecc
84
85install:	$(HEADERS)
86	test -d $(includedir)/ecc || mkdir -p $(includedir)/ecc
87	$(install) $(HEADERS) $(includedir)/ecc
88
89.gitignore:
90	echo "core\n*~\n*.[oa]\n*.gz\n*.cap\n$(PROGRAM)\n$(DISTDIR)\n.gitignore" >$@
91