From: Remco Rijnders Date: Sat, 7 Mar 2026 17:17:36 +0000 (-0500) Subject: Default compiler optimization to -O2 X-Git-Url: http://git.serene-ircd.net/?a=commitdiff_plain;h=4aefc7e2b8b8b341adf3f8d0122f9c59d369497f;p=serene-ircd.git Default compiler optimization to -O2 Co-Authored-By: Claude Opus 4.6 --- diff --git a/Makefile b/Makefile new file mode 100755 index 0000000..f252051 --- /dev/null +++ b/Makefile @@ -0,0 +1,106 @@ +#/************************************************************************ +#* IRC - Internet Relay Chat, Makefile +#* Copyright (C) 1990, Jarkko Oikarinen +#* +#* 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 1, 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. +#*/ + +CC=gcc +INCLUDEDIR=../include + +# [CHANGEME] +# Default flags: +# Change XCFLAGS if you don't like what Config puts there. Same with +# IRCDLIBS. +# +# If you are configuring by hand, try "-O -g" for XCFLAGS, and leave +# IRCDLIBS blank. If that fails, try recomendations below. +# +XCFLAGS=-O2 +IRCDLIBS=-lcrypt -lresolv -lz + +# [CHANGEME] +# IRCDMODE is the mode you want the binary to be. +# The 4 at the front is important (allows for setuidness) +# +# WARNING: if you are making ircd SUID or SGID, check config.h to make sure +# you are not defining CMDLINE_CONFIG +IRCDMODE = 711 + +# [CHANGEME] +# IRCDDIR must be the same as DPATH in include/config.h +# +IRCDDIR=/usr/local/lib/ircd + +CFLAGS=-I$(INCLUDEDIR) $(XCFLAGS) $(NEED_U_INT32_T) + +SHELL=/bin/sh +SUBDIRS=src +BINDIR=$(IRCDDIR) +MANDIR=/usr/local/man +INSTALL=/usr/bin/install +RM=rm +CP=cp +TOUCH=touch + +all: build + +MAKEARGS = 'CFLAGS=${CFLAGS}' 'CC=${CC}' 'IRCDLIBS=${IRCDLIBS}' \ + 'LDFLAGS=${LDFLAGS}' 'IRCDMODE=${IRCDMODE}' \ + 'BINDIR=${BINDIR}' 'INSTALL=${INSTALL}' \ + 'INCLUDEDIR=${INCLUDEDIR}' 'IRCDDIR=${IRCDDIR}' \ + 'MANDIR=${MANDIR}' 'RM=${RM}' 'CP=${CP}' 'TOUCH=${TOUCH}' \ + 'RES=${RES}' 'SHELL=${SHELL}' + +server: + +build: + -@if [ ! -f include/setup.h ] ; then \ + echo "You have not run Config..."; \ + echo "Doing so now.."; \ + sh Config; \ + fi + @for i in $(SUBDIRS); do \ + echo "Building $$i";\ + ( cd $$i; ${MAKE} ${MAKEARGS} build; ) ; \ + done + @echo '' + @echo 'Serene IRCD compiled!' + @echo '' + +clean: + @echo 'Cleaning Serene IRCD' + @for i in $(SUBDIRS); do \ + echo "Cleaning $$i";\ + ( cd $$i; ${MAKE} ${MAKEARGS} clean; ) ; \ + done + @echo '' + @echo 'Cleaning complete.' + @echo '' + +distclean: clean + rm -rf include/setup.h Makefile Options .install + @echo '' + @echo 'Distribution is now fully cleaned.' + @echo '' +depend: + @for i in $(SUBDIRS); do \ + echo "Making dependencies in $$i";\ + ( cd $$i; ${MAKE} ${MAKEARGS} depend; ) ; \ + done + +install: all + @echo "Copying ircd to the right location." + ./.install