Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 134 lines (94 sloc) 3.752 kb
9f0cff1 Initial commit.
Sound and Fury authored
1 # Makefile for quIRC
2
b7319a8 Asynch name lookups
ec429 authored
3 CC := gcc
4 OPTFLAGS := -g
5 CFLAGS := -Wall -Wextra -Werror -pedantic -std=gnu99 $(OPTFLAGS)
6 AWK := gawk
4a2bd9b Fixed bugs in 'make dist'
Sound and Fury authored
7 VERSION := `git describe --tags`
b7319a8 Asynch name lookups
ec429 authored
8 PREFIX := /usr/local
9 # -lanl is for ASYNCH_NL
10 OPTLIBS := -lanl
28c2ab3 Fixed everything in buffer.c to use the new ttyesc functions
ec429 authored
11 LIBS := -lncurses ttyraw.o ttyesc.o irc.o bits.o colour.o buffer.o names.o config.o input.o $(OPTLIBS)
b7319a8 Asynch name lookups
ec429 authored
12 INCLUDE := ttyraw.h ttyesc.h irc.h bits.h colour.h buffer.h names.h config.h input.h quirc.h version.h osconf.h
9f0cff1 Initial commit.
Sound and Fury authored
13
25bf8a0 Makefile fixes (because make behaves unhelpfully)
ec429 authored
14 all: quirc doc
9f0cff1 Initial commit.
Sound and Fury authored
15
d0f7f76 Man page with pointers to full documentation
ec429 authored
16 install: all doc
7fbe18a Makefile fixes (should fix gitlessing tarballs) & some plans
ec429 authored
17 install -D -m0755 quirc $(PREFIX)/bin/quirc
d0f7f76 Man page with pointers to full documentation
ec429 authored
18 install -D -m0644 quirc.1 $(PREFIX)/man/man1/quirc.1
19 install -D -m0644 readme.htm $(PREFIX)/share/doc/quirc/readme.htm
20 install -D -m0644 config_ref.htm $(PREFIX)/share/doc/quirc/config_ref.htm
21 install -D -m0644 tutorial.htm $(PREFIX)/share/doc/quirc/tutorial.htm
1bf0755 'make install' rule
Sound and Fury authored
22
4050262 Use a post-commit hook to update version.h (with the Makefile)
Sound and Fury authored
23 uninstall:
f338eb7 Update 'make uninstall' to remove the documentation too
ec429 authored
24 -rm $(PREFIX)/bin/quirc
25 -rm $(PREFIX)/man/man1/quirc.1
26 -rm $(PREFIX)/share/doc/quirc/readme.htm
27 -rm $(PREFIX)/share/doc/quirc/config_ref.htm
28 -rm $(PREFIX)/share/doc/quirc/tutorial.htm
4050262 Use a post-commit hook to update version.h (with the Makefile)
Sound and Fury authored
29
fcf9495 Refactored .quirc and cmdline parsing; other refactoring
Sound and Fury authored
30 quirc: quirc.c $(LIBS) $(INCLUDE)
de4ae60 config: generate much of the config code from a concise descriptions …
ec429 authored
31 $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $< $(LIBS) -lm $(DEFINES)
68d1b71 Use mcheck.h for memory profiling
Sound and Fury authored
32
25bf8a0 Makefile fixes (because make behaves unhelpfully)
ec429 authored
33 quirc.h: config.h version.h
34 touch quirc.h
35
4050262 Use a post-commit hook to update version.h (with the Makefile)
Sound and Fury authored
36 clean:
deaccc7 Makefile: update 'realclean' rule
ec429 authored
37 -rm *.o quirc genconfig genkeymap
4050262 Use a post-commit hook to update version.h (with the Makefile)
Sound and Fury authored
38
39 realclean: clean
deaccc7 Makefile: update 'realclean' rule
ec429 authored
40 -rm c_init.c README version.h config_* keymap.c keymod.h
4050262 Use a post-commit hook to update version.h (with the Makefile)
Sound and Fury authored
41
d0f7f76 Man page with pointers to full documentation
ec429 authored
42 doc: README config_ref.htm quirc.1
6b0feff Canonical readme in HTML format; makerule to generate plain text
Sound and Fury authored
43
44 README: readme.htm
e2c3e47 Fix generation of README (&apos; and &quot;)
ec429 authored
45 -sed -e "s/&apos;/'/g" -e "s/&quot;/\"/g" < readme.htm | html2text -nobs -o README
6b0feff Canonical readme in HTML format; makerule to generate plain text
Sound and Fury authored
46
d0f7f76 Man page with pointers to full documentation
ec429 authored
47 # warning, this explodes if PREFIX contains a !
48 quirc.1: man.in
5ffc288 make doc: put a warning in quirc.1 to say that it's generated from ma…
ec429 authored
49 echo ".\\\"\n.\\\"This man page is automatically generated from man.in by a sedscript; edit man.in, not this file, and 'make doc' to apply the changes.">quirc.1
50 sed -e "s!\$$PREFIX!$(PREFIX)!g" < man.in >> quirc.1
d0f7f76 Man page with pointers to full documentation
ec429 authored
51
c408645 Make the Makefile more clever (pattern rules for the object files)
Sound and Fury authored
52 # funky make cleverness to generate object files; a %.o /always/ depends on its %.h as well as its %.c
9f0cff1 Initial commit.
Sound and Fury authored
53
c408645 Make the Makefile more clever (pattern rules for the object files)
Sound and Fury authored
54 %.o: %.c %.h
eb63d03 --debug option, and debugging mode
Sound and Fury authored
55 $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@ $(DEFINES)
9f0cff1 Initial commit.
Sound and Fury authored
56
25bf8a0 Makefile fixes (because make behaves unhelpfully)
ec429 authored
57 ttyesc.o: ttyesc.c ttyesc.h bits.h
58
b7319a8 Asynch name lookups
ec429 authored
59 irc.o: irc.c irc.h bits.h buffer.h colour.h names.h numeric.h osconf.h
2b3007c Highlight escape sequences in input line
Sound and Fury authored
60
25bf8a0 Makefile fixes (because make behaves unhelpfully)
ec429 authored
61 irc.h: config.h
62 touch irc.h
9f0cff1 Initial commit.
Sound and Fury authored
63
25bf8a0 Makefile fixes (because make behaves unhelpfully)
ec429 authored
64 bits.o: bits.c bits.h ttyesc.h colour.h
65
66 bits.h: config.h
67 touch bits.h
709dc6b Various improvements eg rc file (.quirc)
Sound and Fury authored
68
fcf9495 Refactored .quirc and cmdline parsing; other refactoring
Sound and Fury authored
69 colour.o: colour.c colour.h c_init.c ttyesc.h
15e4136 Automatic version-number generation from git describe
Sound and Fury authored
70
25bf8a0 Makefile fixes (because make behaves unhelpfully)
ec429 authored
71 buffer.o: buffer.c buffer.h ttyesc.h colour.h bits.h names.h text.h irc.h version.h input.h
a886cb2 Moved name-list handling out to new files 'names.*'
Sound and Fury authored
72
25bf8a0 Makefile fixes (because make behaves unhelpfully)
ec429 authored
73 buffer.h: config.h version.h
74 touch buffer.h
de4ae60 config: generate much of the config code from a concise descriptions …
ec429 authored
75
25bf8a0 Makefile fixes (because make behaves unhelpfully)
ec429 authored
76 config.o: config.c config.h names.h bits.h colour.h text.h version.h
de4ae60 config: generate much of the config code from a concise descriptions …
ec429 authored
77
62617ff Configurable keymapping
ec429 authored
78 config.c: config_check.c config_def.c config_need.c config_rcread.c config_pargs.c config_help.c keymap.c
25bf8a0 Makefile fixes (because make behaves unhelpfully)
ec429 authored
79 touch config.c
80
62617ff Configurable keymapping
ec429 authored
81 config.h: config_globals.h version.h keymod.h
25bf8a0 Makefile fixes (because make behaves unhelpfully)
ec429 authored
82 touch config.h
83
84 config_%: config.cdl genconfig
de4ae60 config: generate much of the config code from a concise descriptions …
ec429 authored
85 ./genconfig $@ < config.cdl > $@ || (rm $@ && false)
86
87 genconfig: genconfig.c
fcf9495 Refactored .quirc and cmdline parsing; other refactoring
Sound and Fury authored
88
62617ff Configurable keymapping
ec429 authored
89 input.h: keymod.h
90 touch input.h
91
92 input.o: input.c input.h ttyesc.h names.h buffer.h irc.h bits.h config.h
25bf8a0 Makefile fixes (because make behaves unhelpfully)
ec429 authored
93
94 input.c: config_set.c
95 touch input.c
861788e More refactoring (input routines etc.)
Sound and Fury authored
96
e7b2bd5 Fix /ignore -d bug (i_cull() dissects prefixes)
Sound and Fury authored
97 names.o: names.c names.h buffer.h irc.h
5ed2685 /ignore -l: lists ignores
Sound and Fury authored
98
4881617 Moved rc from ~/.quirc to ~/.quirc/rc (cherrypicked from script branch)
ec429 authored
99 script.o: script.c script.h bits.h buffer.h
100
ac506d8 Generate the default colours from an awk script
Sound and Fury authored
101 c_init.c: colour.d c_init.awk
102 $(AWK) -f c_init.awk colour.d > c_init.c
103
62617ff Configurable keymapping
ec429 authored
104 genkeymap: genkeymap.c
105
106 keymod.h: keys genkeymap
107 ./genkeymap h < keys > $@ || (rm $@ && false)
108
109 keymap.c: keys genkeymap
110 ./genkeymap c < keys > $@ || (rm $@ && false)
111
25bf8a0 Makefile fixes (because make behaves unhelpfully)
ec429 authored
112 FORCE:
113 version.h: FORCE
fcf9495 Refactored .quirc and cmdline parsing; other refactoring
Sound and Fury authored
114 ./gitversion
115
959f0a2 make dist also makes doc
Sound and Fury authored
116 dist: all doc
4a2bd9b Fixed bugs in 'make dist'
Sound and Fury authored
117 -mkdir quirc_$(VERSION)
118 for p in $$(ls); do cp $$p quirc_$(VERSION)/$$p; done;
66ea5eb Makefile rule to build a source tarball (and do funky things with ver…
Sound and Fury authored
119 -rm quirc_$(VERSION)/*.tar.gz
7fbe18a Makefile fixes (should fix gitlessing tarballs) & some plans
ec429 authored
120 mv quirc_$(VERSION)/distMakefile quirc_$(VERSION)/Makefile
811d1bd Makefile fixes
ec429 authored
121 tar -czf quirc_$(VERSION).tar.gz quirc_$(VERSION)/
062c4d0 dist Makefile rule, creates tarball with binaries
Sound and Fury authored
122 rm -r quirc_$(VERSION)
123
7fbe18a Makefile fixes (should fix gitlessing tarballs) & some plans
ec429 authored
124 dists: c_init.c config.c config.h doc
66ea5eb Makefile rule to build a source tarball (and do funky things with ver…
Sound and Fury authored
125 -mkdir quirc_$(VERSION)_src
126 for p in $$(ls); do cp $$p quirc_$(VERSION)_src/$$p; done;
127 -rm quirc_$(VERSION)_src/*.tar.gz
128 rm quirc_$(VERSION)_src/*.o
129 rm quirc_$(VERSION)_src/quirc
7fbe18a Makefile fixes (should fix gitlessing tarballs) & some plans
ec429 authored
130 mv quirc_$(VERSION)_src/distMakefile quirc_$(VERSION)_src/Makefile
811d1bd Makefile fixes
ec429 authored
131 tar -czf quirc_$(VERSION)_src.tar.gz quirc_$(VERSION)_src/
66ea5eb Makefile rule to build a source tarball (and do funky things with ver…
Sound and Fury authored
132 rm -r quirc_$(VERSION)_src
133
Something went wrong with that request. Please try again.