Files
energymech/src/Makefile.in

257 lines
7.5 KiB
Makefile
Raw Normal View History

#
2014-03-08 19:56:21 -05:00
# EnergyMech, IRC bot software
2018-03-10 02:55:07 +01:00
# Copyright (c) 1997-2018 proton
2014-03-08 19:56:21 -05:00
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
INSTALLNAME = energymech
INSTALLDIR = ..
INSTALLMODE = 0700
LDSCRIPT = @ldscript@
CPROF = @cprof@
LPROF = @lprof@
LIBS = @libflags@
PIPEFLAG = @pipeflag@
GDBFLAG = @gdbflag@
WARNFLAG = @W_FLAGS@
OPTIMIZE = @O_FLAGS@
PYINCLUDE = @PYINCLUDE@
TCLINCLUDE = @TCLINCLUDE@
2018-04-02 18:33:49 +02:00
I_PERL = @I_PERL@
L_PERL = @L_PERL@
2014-03-08 19:56:21 -05:00
CFLAGS = $(PIPEFLAG) $(GDBFLAG) $(WARNFLAG) $(OPTIMIZE)
LFLAGS = $(PIPEFLAG) $(GDBFLAG)
CC = @CC@
MV = mv -f
RM = rm -f
CHMOD = chmod
2018-04-04 06:04:58 +02:00
BASEINCLUDES = config.h defines.h structs.h global.h h.h
INCS = $(BASEINCLUDES) mcmd.h text.h usercombo.h
2014-03-08 19:56:21 -05:00
TESTFILES = aliastest safepathtest
2018-04-14 05:24:20 +02:00
OFILES = alias.o auth.o bounce.o channel.o core.o ctcp.o debug.o dns.o function.o greet.o \
help.o hostinfo.o io.o irc.o kicksay.o main.o net.o note.o notify.o ons.o parse.o partyline.o \
perl.o prot.o python.o reset.o seen.o shit.o spy.o tcl.o toybox.o \
trivia.o uptime.o user.o vars.o web.o lib/string.o @MD5_O@ @SHA_O@
2014-03-08 19:56:21 -05:00
2018-04-14 05:24:20 +02:00
SRCFILES = alias.c auth.c bounce.c channel.c core.c ctcp.c debug.c dns.c function.c greet.c \
help.c hostinfo.c io.c irc.c kicksay.c main.c net.c note.c notify.c ons.c parse.c partyline.c \
perl.c prot.c python.c reset.c seen.c shit.c spy.c tcl.c toybox.c \
trivia.c uptime.c user.c vars.c web.c lib/string.c @MD5_C@ @SHA_C@
2014-03-08 19:56:21 -05:00
2018-04-02 18:33:49 +02:00
.PHONY: all clean mega-install mega mega-static test commands
2014-03-08 19:56:21 -05:00
all: $(INSTALLNAME)
2018-03-10 02:55:07 +01:00
#
# mcmd.h is generated at compile time to wrap up all command attributes more efficiently,
# instead of doing extra parsing and handling while the bot is running.
#
gencmd: gencmd.c io.c config.h structs.h
2014-03-08 19:56:21 -05:00
$(CC) $(LFLAGS) -o gencmd gencmd.c
mcmd.h: gencmd
./gencmd mcmd.h
usercombo.h: gencmd
./gencmd usercombo.h
2014-03-08 19:56:21 -05:00
2018-04-14 19:12:18 +02:00
githash.h: gencmd
./gencmd githash.h
2014-03-08 19:56:21 -05:00
install: $(INSTALLNAME)
$(CHMOD) $(INSTALLMODE) $(INSTALLNAME)
$(MV) $(INSTALLNAME) $(INSTALLDIR)
2018-04-02 18:33:49 +02:00
clean:
2018-04-14 19:12:18 +02:00
$(RM) $(INSTALLNAME) gencmd mcmd.h usercombo.h githash.h core $(TESTFILES) $(OFILES)
2014-03-08 19:56:21 -05:00
$(INSTALLNAME): $(OFILES)
2018-04-02 18:33:49 +02:00
$(CROSS_COMPILE)$(CC) $(LFLAGS) -o $(INSTALLNAME) $(OFILES) $(LPROF) $(LIBS) $(LDSCRIPT) $(L_PERL)
2018-04-14 19:12:18 +02:00
#@oc@ $(CROSS_COMPILE)objcopy -R .note -R .comment -R .got -R .got.plt $(INSTALLNAME)
2014-03-08 19:56:21 -05:00
@sz@ size $(INSTALLNAME)
2018-03-10 02:55:07 +01:00
$(INSTALLNAME)-static: $(OFILES)
2018-04-02 18:33:49 +02:00
$(CROSS_COMPILE)$(CC) $(LFLAGS) -o $(INSTALLNAME) $(OFILES) $(LPROF) $(LIBS) $(LDSCRIPT) $(L_PERL) -static
2018-04-14 19:12:18 +02:00
#@oc@ $(CROSS_COMPILE)objcopy -R .note -R .comment -R .got -R .got.plt $(INSTALLNAME)
2014-03-08 19:56:21 -05:00
@sz@ size $(INSTALLNAME)
2018-03-10 02:55:07 +01:00
2014-03-08 19:56:21 -05:00
#
2018-03-10 02:55:07 +01:00
# 'mega' versions
# compiling the C files all at once (having all the code "visible" during the whole process) enables GCC to make more optimizations,
# resulting in a smaller, more efficient, binary. this process uses lots more memory at compile time.
2014-03-08 19:56:21 -05:00
#
2018-03-10 02:55:07 +01:00
mega-install: mega $(SRCFILES) $(INCS) usage.h
$(CHMOD) $(INSTALLMODE) $(INSTALLNAME)
$(MV) $(INSTALLNAME) $(INSTALLDIR)
mega: $(SRCFILES) $(INCS) usage.h
2018-04-04 08:56:14 +02:00
$(CROSS_COMPILE)$(CC) $(CFLAGS) -o $(INSTALLNAME) mega.c -DGENDATE="`./gencmd date`" -I. $(LPROF) $(LIBS) $(LDSCRIPT) $(PYINCLUDE) $(TCLINCLUDE) $(I_PERL) $(L_PERL)
2018-04-14 19:12:18 +02:00
#@oc@ $(CROSS_COMPILE)objcopy -R .note -R .comment $(INSTALLNAME)
2014-03-08 19:56:21 -05:00
@sz@ size $(INSTALLNAME)
mega-static: $(SRCFILES) $(INCS) usage.h
2018-04-04 08:56:14 +02:00
$(CROSS_COMPILE)$(CC) $(CFLAGS) -o $(INSTALLNAME) mega.c -DGENDATE="`./gencmd date`" -I. $(LPROF) $(LIBS) $(LDSCRIPT) $(PYINCLUDE) $(TCLINCLUDE) $(I_PERL) $(L_PERL) -static
2018-04-14 19:12:18 +02:00
#@oc@ $(CROSS_COMPILE)objcopy -R .note -R .comment $(INSTALLNAME)
2014-03-08 19:56:21 -05:00
@sz@ size $(INSTALLNAME)
2018-03-12 04:58:44 +01:00
#
# testing stuff
#
test: $(TESTFILES)
./aliastest
./safepathtest
2018-03-12 04:58:44 +01:00
aliastest: alias.c
$(CROSS_COMPILE)$(CC) $(CFLAGS) -o aliastest $< $(LPROF) $(LIBS) $(LDSCRIPT) -DTEST
safepathtest: function.c
$(CROSS_COMPILE)$(CC) $(CFLAGS) -o safepathtest $< $(LPROF) $(LIBS) $(LDSCRIPT) -DTEST
2018-03-12 04:58:44 +01:00
2018-03-16 02:45:13 +01:00
commands:
grep -E '(void do_.*\(COMMAND_ARGS\)|/*---Help:)' *c
2014-03-08 19:56:21 -05:00
#
#
#
2018-04-04 06:04:58 +02:00
lib/md5.o: lib/md5.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< -o $@ -Ilib $(CPROF)
lib/sha1.o: lib/sha1.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< -o $@ -Ilib $(CPROF)
lib/string.o: lib/string.c $(BASEINCLUDES)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< -o $@ -I. $(CPROF)
2014-03-08 19:56:21 -05:00
alias.o: alias.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
auth.o: auth.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
bounce.o: bounce.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
channel.o: channel.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
core.o: core.c $(INCS) settings.h
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
ctcp.o: ctcp.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
debug.o: debug.c $(INCS) settings.h
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF) $(PYINCLUDE)
2014-03-08 19:56:21 -05:00
dns.o: dns.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
function.o: function.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
greet.o: greet.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
help.o: help.c $(INCS) usage.h
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
2018-03-13 02:39:29 +01:00
hostinfo.o: hostinfo.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
io.o: io.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
irc.o: irc.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
kicksay.o: kicksay.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
2018-04-14 19:12:18 +02:00
main.o: main.c $(INCS) githash.h
2018-04-04 08:56:14 +02:00
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< -DGENDATE="`./gencmd date`" $(CPROF) $(PYINCLUDE)
2014-03-08 19:56:21 -05:00
net.o: net.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
note.o: note.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
notify.o: notify.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
ons.o: ons.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
parse.o: parse.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
2018-04-04 06:04:58 +02:00
partyline.o: partyline.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
perl.o: perl.c $(INCS)
2018-04-04 06:04:58 +02:00
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF) $(I_PERL)
2014-03-08 19:56:21 -05:00
prot.o: prot.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
python.o: python.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF) $(PYINCLUDE)
2014-03-08 19:56:21 -05:00
reset.o: reset.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
seen.o: seen.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
shit.o: shit.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
spy.o: spy.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
tcl.o: tcl.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF) $(TCLINCLUDE)
2014-03-08 19:56:21 -05:00
toybox.o: toybox.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
trivia.o: trivia.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
uptime.o: uptime.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
user.o: user.c $(INCS) usercombo.h
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
vars.o: vars.c $(INCS) settings.h
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00
web.o: web.c $(INCS)
$(CROSS_COMPILE)$(CC) $(CFLAGS) -c $< $(CPROF)
2014-03-08 19:56:21 -05:00