CC = gcc-3.4
CFLAGS = -pipe -Wall -Werror -funsigned-char -std=gnu99
#CFLAGS += -g
CFLAGS += -O2 -march=i586 -fomit-frame-pointer
#CFLAGS += -O3 -march-i586 -fomit-frame-pointer -fstrict-aliasing
CFLAGS += -I$(HOME)/include -D_GNU_SOURCE
LDFLAGS += -L$(HOME)/lib -L/usr/local/lib -s
LIBS += -lavl -lpq -lrecode -lcurl -lpthread -lm
INSTALL = /usr/bin/install
prefix = $(HOME)
libdir = $(prefix)/lib
bindir = $(prefix)/bin
languagedir = $(prefix)/language
all: f00f emailf00f jabberf00f libf00f.so stored mkindex
emailmain.o: emailmain.c f00f.h Makefile
$(CC) $(CFLAGS) `gmime-config --cflags` -c $< -o $@
jabbersys.o: jabbersys.c f00f.h Makefile
$(CC) $(CFLAGS) -I/usr/include/loudmouth-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -c $< -o $@
jabberinterface.o: jabberinterface.c f00f.h Makefile
$(CC) $(CFLAGS) -I/usr/include/loudmouth-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -c $< -o $@
%.o: %.c f00f.h Makefile
$(CC) $(CFLAGS) -c $< -o $@
addword: addword.o string.o error.o pgsql.o bufs.o
$(CC) $(LDFLAGS) $^ -o $@ $(LIBS)
stored: stored.o string.o error.o server.o user.o chans.o pgsql.o mt19937ar.o bufs.o sys.o interface.o dl.o event.o config.o
$(CC) $(LDFLAGS) $^ -o $@ $(LIBS)
huhhuh: huhhuh.o string.o error.o pgsql.o
$(CC) $(LDFLAGS) $^ -o $@ $(LIBS)
mkflex: mkflex.o
$(CC) $(LDFLAGS) $^ -o $@
mkindex: mkindex.o
$(CC) $(LDFLAGS) $^ -o $@
libf00f.so: f00f.o larts.o tricks.o words.o games.o calc.o scan.o bereken.o berekenscan.o functies.o spreek.o ctcp.o events.o echt.o recode.o pom.o pos.o curly.o nihongo.o nihongo-table.o utf8.o auth.o tm.o sock.o help.o language.o
$(CC) $(LDFLAGS) -shared -Wl,-soname,$@ $^ -o $@ $(LIBS)
f00f: main.o string.o error.o server.o user.o chans.o pgsql.o mt19937ar.o bufs.o sys.o interface.o dl.o event.o config.o
$(CC) $(LDFLAGS) -export-dynamic $^ -o $@ $(LIBS)
emailf00f: emailmain.o string.o error.o server.o user.o chans.o pgsql.o mt19937ar.o bufs.o sys.o emailinterface.o dl.o event.o config.o
$(CC) $(LDFLAGS) -export-dynamic $^ -o $@ $(LIBS) `gmime-config --libs`
jabberf00f: main.o string.o error.o chans.o pgsql.o mt19937ar.o bufs.o jabbersys.o jabberinterface.o dl.o event.o config.o
$(CC) $(LDFLAGS) -export-dynamic $^ -o $@ $(LIBS) -lloudmouth-1
libq3modf00f.so: q3modmain.o string.o error.o server.o user.o chans.o pgsql.o mt19937ar.o bufs.o sys.o q3modinterface.o dl.o event.o config.o
$(CC) $(LDFLAGS) -shared -Wl,-soname,$@ $^ -o $@ $(LIBS)
allatonce:
$(CC) $(CFLAGS) $(LDFLAGS) -export-dynamic -o f00f $(LIBS) main.c string.c error.c server.c user.c chans.c pgsql.c mt19937ar.c bufs.c sys.c interface.c dl.c event.c config.c
$(CC) $(CFLAGS) $(LDFLAGS) -nostdlib -shared -Wl,-soname,libf00f.so -o libf00f.so $(LIBS) -lgcc -lc f00f.c larts.c tricks.c words.c games.c calc.c scan.c bereken.c berekenscan.c functies.c spreek.c ctcp.c events.c echt.c recode.c pom.c pos.c curly.c nihongo.c nihongo-table.c utf8.c auth.c tm.c sock.c help.c language.c
libf00f.c: f00f.c larts.c tricks.c words.c games.c functies.c spreek.c ctcp.c events.c echt.c recode.c pom.c pos.c curly.c nihongo.c nihongo-table.c utf8.c auth.c tm.c sock.c help.c language.c
cat $^ > $@
allinone.c: main.c string.c error.c server.c user.c chans.c pgsql.c mt19937ar.c bufs.c sys.c interface.c dl.c event.c config.c
cat $^ > $@
allinone: allinone.c libf00f.c calc.c scan.c bereken.c berekenscan.c
$(CC) $(CFLAGS) $(LDFLAGS) -export-dynamic -o f00f $(LIBS) allinone.c
$(CC) $(CFLAGS) $(LDFLAGS) -nostdlib -shared -Wl,-soname,libf00f.so -o libf00f.so $(LIBS) -lgcc -lc calc.c scan.c bereken.c berekenscan.c libf00f.c
bla: bla.o calc.o scan.o functies.o
$(CC) $(LDFLAGS) $^ -o $@ $(LIBS)
berekenbla: berekenbla.o bereken.o berekenscan.o functies.o spreek.o echt.o tm.o string.o error.o server.o user.o chans.o pgsql.o mt19937ar.o bufs.o sys.o interface.o dl.o event.o config.o
$(CC) $(LDFLAGS) $^ -o $@ $(LIBS)
mail: mail.o bereken.o berekenscan.o functies.o spreek.o echt.o tm.o string.o error.o server.o user.o chans.o pgsql.o mt19937ar.o bufs.o sys.o interface.o dl.o event.o config.o
$(CC) $(LDFLAGS) $^ -o $@ $(LIBS)
calc.c calc.h: calc.g
lemon $<
@touch calc.c calc.h
scan.c: scan.l calc.h
flex -8 -B -Pcalc -o$@ $<
bereken.c bereken.h: bereken.g
@rm -f bereken.c bereken.h
-lemon $<
@test -e bereken.c -a -e bereken.h
berekenscan.c: bereken.l bereken.h
flex -8 -B -Pbereken -o$@ $<
$(bindir)/jabberf00f: jabberf00f
install -v $< $@_
mv $@_ $@
$(bindir)/emailf00f: emailf00f
install -v $< $@_
mv $@_ $@
$(bindir)/f00f: f00f
install -v $< $@_
mv $@_ $@
$(libdir)/libf00f.so: libf00f.so
install -v $< $@_
mv $@_ $@
install: $(bindir)/f00f $(bindir)/emailf00f $(bindir)/jabberf00f $(libdir)/libf00f.so
clean:
rm -f *.o f00f libf00f.so addword huhhuh bla berekenbla calc.out bereken.out test stored mkindex
maintainerclean: clean
rm -f calc.h calc.c scan.c bereken.h bereken.c berekenscan.c
svn-clean:
svn status --no-ignore | sed -n 's/^[?I] \+//p' | tr '\012' '\0' | xargs -r0 rm -rf
.PHONY: all install clean maintainerclean svn-clean