Skip to content
This repository
Fetching contributors…

Cannot retrieve contributors at this time

file 96 lines (62 sloc) 2.264 kb
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 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
# gitless Makefile for quIRC

CC ?= gcc
OPTFLAGS = -g
CFLAGS ?= -Wall -Wextra -Werror -pedantic -std=gnu99 $(OPTFLAGS)
AWK ?= gawk
PREFIX ?= /usr/local
# -lanl is for ASYNCH_NL
OPTLIBS := -lanl
LIBS := ttyraw.o ttyesc.o irc.o bits.o colour.o buffer.o names.o config.o input.o $(OPTLIBS)
INCLUDE := ttyraw.h ttyesc.h irc.h bits.h colour.h buffer.h names.h config.h input.h quirc.h version.h

all: quirc doc

install: all
install -D -m0755 quirc $(PREFIX)/bin/quirc

uninstall:
rm $(PREFIX)/bin/quirc

quirc: quirc.c $(LIBS) $(INCLUDE)
$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $< $(LIBS) -lm $(DEFINES)

quirc.h: config.h version.h
touch quirc.h

clean:
-rm *.o quirc genconfig

realclean: clean
-rm c_init.c README version.h config_*

doc: README config_ref.htm

README: readme.htm
-sed -e "s/&apos;/'/g" -e "s/&quot;/\"/g" < readme.htm | html2text -nobs -o README

# funky make cleverness to generate object files; a %.o /always/ depends on its %.h as well as its %.c

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

ttyesc.o: ttyesc.c ttyesc.h bits.h

irc.o: irc.c irc.h bits.h buffer.h colour.h names.h numeric.h

irc.h: config.h
touch irc.h

bits.o: bits.c bits.h ttyesc.h colour.h

bits.h: config.h
touch bits.h

colour.o: colour.c colour.h c_init.c ttyesc.h

buffer.o: buffer.c buffer.h ttyesc.h colour.h bits.h names.h text.h irc.h version.h input.h

buffer.h: config.h version.h
touch buffer.h

config.o: config.c config.h names.h bits.h colour.h text.h version.h

config.c: config_check.c config_def.c config_need.c config_rcread.c config_pargs.c config_help.c keymap.c
touch config.c

config.h: config_globals.h version.h keymod.h
touch config.h

config_%: config.cdl genconfig
./genconfig $@ < config.cdl > $@ || (rm $@ && false)

genconfig: genconfig.c

input.h: keymod.h
touch input.h

input.o: input.c input.h ttyesc.h names.h buffer.h irc.h bits.h config.h

input.c: config_set.c
touch input.c

names.o: names.c names.h buffer.h irc.h

script.o: script.c script.h bits.h buffer.h

c_init.c: colour.d c_init.awk
$(AWK) -f c_init.awk colour.d > c_init.c

genkeymap: genkeymap.c

keymod.h: keys genkeymap
./genkeymap h < keys > $@ || (rm $@ && false)

keymap.c: keys genkeymap
./genkeymap c < keys > $@ || (rm $@ && false)
Something went wrong with that request. Please try again.