annotate Makefile @ 49:bfe6b5d5b588

add minimalistic Makefile for C
author David Demelier <markand@malikania.fr>
date Mon, 06 Jan 2020 12:22:10 +0100
parents
children 3f5445091616
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
49
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 #
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 # Copyright (c) 2020 David Demelier <markand@malikania.fr>
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 #
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 # Permission to use, copy, modify, and/or distribute this software for any
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 # purpose with or without fee is hereby granted, provided that the above
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # copyright notice and this permission notice appear in all copies.
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 #
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 #
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
16
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 .POSIX:
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 CFLAGS= -O3 -DNDEBUG -Wall -Wextra
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 CPPFLAGS= -MMD
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 SRCS= hello.c
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 OBJS= ${SRCS:.c=.o}
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 DEPS= ${SRCS:.c=.d}
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
24
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 .SUFFIXES:
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 .SUFFIXES: .c .o
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
27
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 -include ${DEPS}
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
29
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 .c.o:
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 ${CC} ${CPPFLAGS} ${CFLAGS} -c $< -o $@
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
32
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 hello: ${OBJS}
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 ${CC} -o $@ ${OBJS} ${LDFLAGS}
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
35
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 clean:
bfe6b5d5b588 add minimalistic Makefile for C
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 rm -f hello ${OBJS}