File: Makefile

package info (click to toggle)
welcome2l 3.05-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 424 kB
  • sloc: ansic: 1,433; makefile: 71; sh: 42
file content (54 lines) | stat: -rw-r--r-- 2,229 bytes parent folder | download
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
SHELL=/bin/sh
CFLAGS += -Wall -fno-strength-reduce #-pedantic
DESTDIR = /usr
INSTALL_BINPATH = $(DESTDIR)/bin
INSTALL_MANPATH = $(DESTDIR)/man
PROGNAME = Welcome2L
PROGNAME_LNK = welcome2l
VERSION = 3.05
VERSION_DATE = 2017

$(PROGNAME): main.o ansi.o 	     
	$(CC) $(LDFLAGS) *.o -o $(PROGNAME)

install : 
	/usr/bin/install -m 755 $(PROGNAME) $(INSTALL_BINPATH)
	/usr/bin/install -m 644 $(PROGNAME).1 $(INSTALL_MANPATH)/man1
	ln -fs $(PROGNAME) $(INSTALL_BINPATH)/$(PROGNAME_LNK)
	ln -fs $(PROGNAME).1 $(INSTALL_MANPATH)/man1/$(PROGNAME_LNK).1

uninstall : 
	rm -f $(INSTALL_BINPATH)/$(PROGNAME)
	rm -f $(INSTALL_BINPATH)/$(PROGNAME_LNK)
	rm -f $(INSTALL_MANPATH)/man1/$(PROGNAME).1
	rm -f $(INSTALL_MANPATH)/man1/$(PROGNAME_LNK).1

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

main.o:  main.c version.h ansi/*.h



version.h : FORCE	
	@echo "/* this header is automatically generated */" > version.h
	@echo "/* and recreated for each new compilation */" >> version.h
	@echo "#define PROG_NAME \"$(PROGNAME)\"" >> version.h
	@echo "#define PROG_FULL_NAME \"Welcome to Linux\"">>version.h
	@echo "#define PROG_AUTHOR \"Jean-Marc Jacquet <jm@littleigloo.org>\"">>version.h
	@echo "#define LITTLEIGLOO \"Little Igloo - http://www.littleigloo.org\"">>version.h
	@echo "#define PROG_VERSION \"$(VERSION)\"" >> version.h
	@echo "#define VERSION_DATE \"$(VERSION_DATE)\"">> version.h
# Note: cut -d' ' cannot be used, because number of spaces might differ:
# e.g. `Sun,  8 Feb 2004 20:01:07 +0100' vs `Mon, 26 May 2008 20:14:31 +0200'
	@echo "#define COMPILE_DATE \"$(strip $(shell LC_ALL=C dpkg-parsechangelog -S Date|cut --bytes=6-17))\"" >> version.h
	@echo "#define COMPILE_TIME \"$(shell LC_ALL=C dpkg-parsechangelog -S Date|cut --bytes=18-25)\"" >> version.h
	@echo "#define COMPILE_BY \"$(shell LC_ALL=C dpkg-parsechangelog -S Maintainer|sed -ne 's/^.*<\([^@]*\).*$$/\1/p')\"" >> version.h
	@echo "#define COMPILE_HOST \"$(shell LC_ALL=C dpkg-parsechangelog -S Maintainer|sed -ne 's/^.*@\([^.>]*\).*$$/\1/p')\"" >> version.h
	@echo "#define CC_VERSION \"`$(CC) -v 2>&1 | tail -n 1`\"">>version.h
	@echo "#define CODE_LINES `cat *.c *.h | grep -ch -e \"[[:alpha:]|[:punct:]]\"`">>version.h

FORCE:	

clean:
	rm -f $(PROGNAME) *.o version.h