aboutsummaryrefslogtreecommitdiffstats
path: root/GNUmakefile
blob: 07ed10cea18cb8220ccc7d24ee8667c622af6c26 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#	$Id: GNUmakefile,v 1.4 2012/01/06 10:13:55 culot Exp $

VERSION=        20120131

PRJ=		$(shell basename `pwd`)
EXE=		$(PRJ)
BAK=		$(PRJ)-$(shell date '+%Y%m%d-%H%M').tar.gz
PKG=		$(PRJ)-$(VERSION).tar.gz
SRCDIR=		./

CC?=		gcc
CFLAGS+=	-Wall -DVERSION="\"$(VERSION)\""
LDFLAGS+=
LIBS+=

#FDEBUG= 1

ifdef FDEBUG
CFLAGS+= -g -ggdb -DDEBUG
endif

SRCS=		$(wildcard $(SRCDIR)/*.c)
-include config.mk
OBJ=		$(SRCS:.c=.o)


all:	$(EXE)

$(EXE):	$(OBJ)
	$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)

%.o:	%.c
	$(CC) $(CFLAGS) -o $@ -c $<

backup:	clean-all
	@cd .. && tar czvf $(BAK) $(PRJ) >/dev/null && mv $(BAK) $(PRJ)
	@echo "==> Backup created: $(BAK)"

dist:	clean-all
	@cd .. && tar -czvf $(PKG) --exclude='CVS' $(PRJ) >/dev/null && mv $(PKG) $(PRJ)
	@echo "==> Package created: $(PKG)"

clean-all: clean
	@rm -f config.mk config.h TAGS

clean:
	@rm -f $(OBJ) $(EXE)
	@rm -f core
	@rm -f *.gz
	@echo "==> Project cleaned"

tags:
	@etags *.[ch]
	@echo "==> Tags generated"

count:
	@wc -l *.[ch]

list-todo:
	@grep -n XXX *.[ch]

list-targets:
	@cat GNUmakefile | grep -E ^[^[:space:]\.$$%]+: | cut -d: -f1

.PHONY:	all backup dist clean clean-all tags count list-todo list-targets
Un proyecto texto-plano.xyz