public inbox for b.a.t.m.a.n@lists.open-mesh.org
 help / color / mirror / Atom feed
From: Simon Wunderlich <simon.wunderlich@s2003.tu-chemnitz.de>
To: The list for a Better Approach To Mobile Ad-hoc Networking
	<b.a.t.m.a.n@lists.open-mesh.org>
Subject: Re: [B.A.T.M.A.N.] [PATCH 1/4] alfred: Prepare makefile for distibutions
Date: Wed, 17 Oct 2012 22:16:58 +0200	[thread overview]
Message-ID: <20121017201658.GA31782@pandem0nium> (raw)
In-Reply-To: <1350503758-20685-1-git-send-email-sven@narfation.org>

[-- Attachment #1: Type: text/plain, Size: 3355 bytes --]

Applied in revision fd9df5a.

Thanks,
	Simon

On Wed, Oct 17, 2012 at 09:55:55PM +0200, Sven Eckelmann wrote:
> Distributions must be able to easily set CPPFLAGS, CFLAGS and LDFLAGS to have
> full control about optimization or security related flags. It is also necessary
> to be able to install all files.
> 
> Signed-off-by: Sven Eckelmann <sven@narfation.org>
> ---
>  Makefile |   91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--------
>  1 file changed, 80 insertions(+), 11 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 92299ac..9796528 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1,12 +1,81 @@
> -LDFLAGS=-ggdb -static
> -CFLAGS=-O2 -Wall -ggdb
> -BIN=alfred
> -OBJS=main.o server.o client.o netsock.o send.o recv.o hash.o unix_sock.o util.o
> -default:	all
> -all:		$(BIN)
> -$(BIN):	$(OBJS)
> -	gcc $(LDFLAGS) $(OBJS) -o $(BIN)
> -.c.o:	
> -	gcc $(CFLAGS) -o $@ -c $<
> +#!/usr/bin/make -f
> +# -*- makefile -*-
> +#
> +# Copyright (C) 2012 B.A.T.M.A.N. contributors
> +#
> +# This program is free software; you can redistribute it and/or
> +# modify it under the terms of version 2 of the GNU General Public
> +# License as published by the Free Software Foundation.
> +#
> +# This program is distributed in the hope that it will be useful, but
> +# WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> +# General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program; if not, write to the Free Software
> +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
> +# 02110-1301, USA
> +#
> +
> +# alfred build
> +BINARY_NAME = alfred
> +OBJ = main.o server.o client.o netsock.o send.o recv.o hash.o unix_sock.o util.o
> +
> +# alfred flags and options
> +CFLAGS += -pedantic -Wall -W -std=gnu99 -fno-strict-aliasing -MD
> +LDLIBS +=
> +
> +# disable verbose output
> +ifneq ($(findstring $(MAKEFLAGS),s),s)
> +ifndef V
> +	Q_CC = @echo '   ' CC $@;
> +	Q_LD = @echo '   ' LD $@;
> +	export Q_CC
> +	export Q_LD
> +endif
> +endif
> +
> +# standard build tools
> +CC ?= gcc
> +RM ?= rm -f
> +INSTALL ?= install
> +MKDIR ?= mkdir -p
> +COMPILE.c = $(Q_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
> +LINK.o = $(Q_LD)$(CC) $(LDFLAGS) $(TARGET_ARCH)
> +
> +# standard install paths
> +PREFIX = /usr/local
> +SBINDIR = $(PREFIX)/sbin
> +
> +# try to generate revision
> +REVISION= $(shell	if [ -d .git ]; then \
> +				echo $$(git describe --always --dirty --match "v*" |sed 's/^v//' 2> /dev/null || echo "[unknown]"); \
> +			fi)
> +ifneq ($(REVISION),)
> +CPPFLAGS += -DSOURCE_VERSION=\"$(REVISION)\"
> +endif
> +
> +# default target
> +all: $(BINARY_NAME)
> +
> +# standard build rules
> +.SUFFIXES: .o .c
> +.c.o:
> +	$(COMPILE.c) -o $@ $<
> +
> +$(BINARY_NAME): $(OBJ)
> +	$(LINK.o) $^ $(LDLIBS) -o $@
> +
>  clean:
> -	rm -f $(BIN) $(OBJS)
> +	$(RM) $(BINARY_NAME) $(OBJ) $(DEP)
> +
> +install: $(BINARY_NAME)
> +	$(MKDIR) $(DESTDIR)$(SBINDIR)
> +	$(INSTALL) -m 0755 $(BINARY_NAME) $(DESTDIR)$(SBINDIR)
> +
> +# load dependencies
> +DEP = $(OBJ:.o=.d)
> +-include $(DEP)
> +
> +.PHONY: all clean install
> -- 
> 1.7.10.4
> 
> 

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

      parent reply	other threads:[~2012-10-17 20:16 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-17 19:55 [B.A.T.M.A.N.] [PATCH 1/4] alfred: Prepare makefile for distibutions Sven Eckelmann
2012-10-17 19:55 ` [B.A.T.M.A.N.] [PATCH 2/4] alfred: Fix parsing of short program parameter -v and -V Sven Eckelmann
2012-10-17 20:17   ` Simon Wunderlich
2012-10-17 19:55 ` [B.A.T.M.A.N.] [PATCH 3/4] alfred: Test for failed global memory allocation Sven Eckelmann
2012-10-17 20:17   ` Simon Wunderlich
2012-10-17 19:55 ` [B.A.T.M.A.N.] [PATCH 4/4] alfred: Fix test for failed sendbuf allocation Sven Eckelmann
2012-10-17 20:18   ` Simon Wunderlich
2012-10-17 20:16 ` Simon Wunderlich [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121017201658.GA31782@pandem0nium \
    --to=simon.wunderlich@s2003.tu-chemnitz.de \
    --cc=b.a.t.m.a.n@lists.open-mesh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox