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