about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorNakidai <nakidai@disroot.org>2026-01-15 14:45:26 +0300
committerNakidai <nakidai@disroot.org>2026-01-15 14:45:26 +0300
commit9a2b8cb4fde1adea8027387f277510cfa4406a20 (patch)
tree7fe74808b8a86270fb332d8e77a0d0dbf4f8f9bd /src
parentf11b01ccc2c9aa8b20c607da10d7e60dab36efaf (diff)
downloadngircd-9a2b8cb4fde1adea8027387f277510cfa4406a20.tar.gz
ngircd-9a2b8cb4fde1adea8027387f277510cfa4406a20.zip
Use simpler build system
Diffstat (limited to 'src')
-rw-r--r--src/Makefile21
-rw-r--r--src/Makefile.am19
-rw-r--r--src/config.h432
-rw-r--r--src/ipaddr/Makefile13
-rw-r--r--src/ipaddr/Makefile.ng21
-rw-r--r--src/ngircd/Makefile52
-rw-r--r--src/ngircd/Makefile.ng124
-rw-r--r--src/portab/Makefile20
-rw-r--r--src/portab/Makefile.ng41
-rw-r--r--src/tool/Makefile13
-rw-r--r--src/tool/Makefile.ng27
11 files changed, 551 insertions, 232 deletions
diff --git a/src/Makefile b/src/Makefile
new file mode 100644
index 00000000..58a5093c
--- /dev/null
+++ b/src/Makefile
@@ -0,0 +1,21 @@
+LIBS += portab/libngportab.a
+LIBS += ipaddr/libngipaddr.a
+LIBS += tool/libngtool.a
+
+all: ngircd/ngircd
+
+ngircd/ngircd: ${LIBS}
+	make -C ngircd
+
+portab/libngportab.a:
+	make -C portab
+
+ipaddr/libngipaddr.a:
+	make -C ipaddr
+
+tool/libngtool.a:
+	make -C tool
+
+clean:
+	rm -f ngircd/ngircd
+	find . \( -name '*\.o' -o -name '*\.a' \) -exec rm {} \;
diff --git a/src/Makefile.am b/src/Makefile.am
deleted file mode 100644
index e04ebe1b..00000000
--- a/src/Makefile.am
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# ngIRCd -- The Next Generation IRC Daemon
-# Copyright (c)2001,2002 by Alexander Barton (alex@barton.de)
-#
-# 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.
-# Please read the file COPYING, README and AUTHORS for more information.
-#
-# $Id: Makefile.am,v 1.8 2008/02/26 22:04:15 fw Exp $
-#
-
-SUBDIRS = portab tool ipaddr ngircd testsuite
-
-maintainer-clean-local:
-	rm -f Makefile Makefile.in config.h config.h.in stamp-h.in
-
-# -eof-
diff --git a/src/config.h b/src/config.h
new file mode 100644
index 00000000..652ab8c3
--- /dev/null
+++ b/src/config.h
@@ -0,0 +1,432 @@
+/* src/config.h.  Generated from config.h.in by configure.  */
+/* src/config.h.in.  Generated from configure.ac by autoheader.  */
+
+/* Define if debug-mode should be enabled */
+/* #undef DEBUG */
+
+/* Define if SSP C support is enabled. */
+#define ENABLE_SSP_CC 1
+
+/* Define to 1 if you have the 'alarm' function. */
+#define HAVE_ALARM 1
+
+/* Define to 1 if you have the 'arc4random' function. */
+#define HAVE_ARC4RANDOM 1
+
+/* Define to 1 if you have the 'arc4random_stir' function. */
+/* #undef HAVE_ARC4RANDOM_STIR */
+
+/* Define to 1 if you have the <arpa/inet.h> header file. */
+#define HAVE_ARPA_INET_H 1
+
+/* Define to 1 if you have the 'deflate' function. */
+#define HAVE_DEFLATE 1
+
+/* Define to 1 if you have the 'dup2' function. */
+#define HAVE_DUP2 1
+
+/* Define to 1 if you have the 'endpwent' function. */
+#define HAVE_ENDPWENT 1
+
+/* Define to 1 if you have the 'epoll_create' function. */
+/* #undef HAVE_EPOLL_CREATE */
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#define HAVE_FCNTL_H 1
+
+/* Define to 1 if you have the 'fork' function. */
+#define HAVE_FORK 1
+
+/* Define to 1 if you have the 'gai_strerror' function. */
+#define HAVE_GAI_STRERROR 1
+
+/* Define to 1 if you have the 'getaddrinfo' function. */
+#define HAVE_GETADDRINFO 1
+
+/* Define to 1 if you have the 'gethostbyaddr' function. */
+#define HAVE_GETHOSTBYADDR 1
+
+/* Define to 1 if you have the 'gethostbyname' function. */
+#define HAVE_GETHOSTBYNAME 1
+
+/* Define to 1 if you have the 'gethostname' function. */
+#define HAVE_GETHOSTNAME 1
+
+/* Define to 1 if you have the 'getnameinfo' function. */
+#define HAVE_GETNAMEINFO 1
+
+/* Define to 1 if you have the 'gettimeofday' function. */
+#define HAVE_GETTIMEOFDAY 1
+
+/* Define to 1 if you have the 'gnutls_global_init' function. */
+/* #undef HAVE_GNUTLS_GLOBAL_INIT */
+
+/* Define to 1 if you have the 'iconv_open' function. */
+/* #undef HAVE_ICONV_OPEN */
+
+/* Define to 1 if you have the <ident.h> header file. */
+/* #undef HAVE_IDENT_H */
+
+/* Define to 1 if you have the 'ident_id' function. */
+/* #undef HAVE_IDENT_ID */
+
+/* Define to 1 if you have the 'inet_aton' function. */
+#define HAVE_INET_ATON 1
+
+/* Define to 1 if you have the 'inet_ntoa' function. */
+#define HAVE_INET_NTOA 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the 'kqueue' function. */
+/* #define HAVE_KQUEUE 1 */
+
+/* Define to 1 if you have the 'crypto' library (-lcrypto). */
+/* #undef HAVE_LIBCRYPTO */
+
+/* Define to 1 if you have the 'gnutls' library (-lgnutls). */
+/* #undef HAVE_LIBGNUTLS */
+
+/* Define to 1 if you have the 'iconv' library (-liconv). */
+/* #undef HAVE_LIBICONV */
+
+/* Define to 1 if you have the 'libiconv_open' function. */
+/* #undef HAVE_LIBICONV_OPEN */
+
+/* Define to 1 if you have the 'ident' library (-lident). */
+/* #undef HAVE_LIBIDENT */
+
+/* Define to 1 if you have the 'pam' library (-lpam). */
+/* #undef HAVE_LIBPAM */
+
+/* Define to 1 if you have the 'ssl' library (-lssl). */
+/* #undef HAVE_LIBSSL */
+
+/* Define to 1 if you have the 'z' library (-lz). */
+#define HAVE_LIBZ 1
+
+/* Define to 1 if you have the <malloc.h> header file. */
+/* #undef HAVE_MALLOC_H */
+
+/* Define to 1 if you have the 'memmove' function. */
+#define HAVE_MEMMOVE 1
+
+/* Define to 1 if you have the 'memset' function. */
+#define HAVE_MEMSET 1
+
+/* Define to 1 if you have the 'mtrace' function. */
+/* #undef HAVE_MTRACE */
+
+/* Define to 1 if you have the <netdb.h> header file. */
+#define HAVE_NETDB_H 1
+
+/* Define to 1 if you have the <netinet/in.h> header file. */
+#define HAVE_NETINET_IN_H 1
+
+/* Define to 1 if you have the <netinet/in_systm.h> header file. */
+#define HAVE_NETINET_IN_SYSTM_H 1
+
+/* Define to 1 if you have the <netinet/ip.h> header file. */
+/* #undef HAVE_NETINET_IP_H */
+
+/* Define to 1 if you have the 'pam_authenticate' function. */
+/* #undef HAVE_PAM_AUTHENTICATE */
+
+/* Define to 1 if you have the <pam/pam_appl.h> header file. */
+/* #undef HAVE_PAM_PAM_APPL_H */
+
+/* Define to 1 if you have the 'poll' function. */
+#define HAVE_POLL 1
+
+/* Define to 1 if you have the <poll.h> header file. */
+#define HAVE_POLL_H 1
+
+/* Define to 1 if you have the <security/pam_appl.h> header file. */
+/* #undef HAVE_SECURITY_PAM_APPL_H */
+
+/* Define to 1 if you have the 'select' function. */
+#define HAVE_SELECT 1
+
+/* Define to 1 if you have the 'setgroups' function. */
+#define HAVE_SETGROUPS 1
+
+/* Define to 1 if you have the 'setrlimit' function. */
+#define HAVE_SETRLIMIT 1
+
+/* Define to 1 if you have the 'setsid' function. */
+#define HAVE_SETSID 1
+
+/* Define to 1 if you have the 'sigaction' function. */
+#define HAVE_SIGACTION 1
+
+/* Define to 1 if you have the 'sigprocmask' function. */
+#define HAVE_SIGPROCMASK 1
+
+/* Define to 1 if you have the 'snprintf' function. */
+#define HAVE_SNPRINTF 1
+
+/* Define to 1 if you have the 'socket' function. */
+#define HAVE_SOCKET 1
+
+/* Define to 1 if you have the 'SSL_new' function. */
+/* #undef HAVE_SSL_NEW */
+
+/* Define to 1 if you have the <stdbool.h> header file. */
+#define HAVE_STDBOOL_H 1
+
+/* Define to 1 if you have the <stddef.h> header file. */
+#define HAVE_STDDEF_H 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdio.h> header file. */
+#define HAVE_STDIO_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the 'strcasecmp' function. */
+#define HAVE_STRCASECMP 1
+
+/* Define to 1 if you have the 'strchr' function. */
+#define HAVE_STRCHR 1
+
+/* Define to 1 if you have the 'strcspn' function. */
+#define HAVE_STRCSPN 1
+
+/* Define to 1 if you have the 'strdup' function. */
+#define HAVE_STRDUP 1
+
+/* Define to 1 if you have the 'strerror' function. */
+#define HAVE_STRERROR 1
+
+/* Define to 1 if you have the 'strftime' function. */
+#define HAVE_STRFTIME 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the 'strlcat' function. */
+#define HAVE_STRLCAT 1
+
+/* Define to 1 if you have the 'strlcpy' function. */
+#define HAVE_STRLCPY 1
+
+/* Define to 1 if you have the 'strncasecmp' function. */
+#define HAVE_STRNCASECMP 1
+
+/* Define to 1 if you have the 'strndup' function. */
+#define HAVE_STRNDUP 1
+
+/* Define to 1 if you have the 'strrchr' function. */
+#define HAVE_STRRCHR 1
+
+/* Define to 1 if you have the 'strsignal' function. */
+#define HAVE_STRSIGNAL 1
+
+/* Define to 1 if you have the 'strspn' function. */
+#define HAVE_STRSPN 1
+
+/* Define to 1 if you have the 'strstr' function. */
+#define HAVE_STRSTR 1
+
+/* Define to 1 if you have the 'strtok_r' function. */
+#define HAVE_STRTOK_R 1
+
+/* Define to 1 if you have the <syslog.h> header file. */
+#define HAVE_SYSLOG_H 1
+
+/* Define to 1 if you have the <sys/devpoll.h> header file. */
+/* #undef HAVE_SYS_DEVPOLL_H */
+
+/* Define to 1 if you have the <sys/resource.h> header file. */
+#define HAVE_SYS_RESOURCE_H 1
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#define HAVE_SYS_SOCKET_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#define HAVE_SYS_TIME_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <sys/un.h> header file. */
+#define HAVE_SYS_UN_H 1
+
+/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
+#define HAVE_SYS_WAIT_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the 'unsetenv' function. */
+#define HAVE_UNSETENV 1
+
+/* Define to 1 if you have the <varargs.h> header file. */
+/* #undef HAVE_VARARGS_H */
+
+/* Define to 1 if you have the 'vfork' function. */
+#define HAVE_VFORK 1
+
+/* Define to 1 if you have the <vfork.h> header file. */
+/* #undef HAVE_VFORK_H */
+
+/* Define to 1 if you have the 'vsnprintf' function. */
+#define HAVE_VSNPRINTF 1
+
+/* Define to 1 if you have the 'waitpid' function. */
+#define HAVE_WAITPID 1
+
+/* Define to 1 if 'fork' works. */
+#define HAVE_WORKING_FORK 1
+
+/* getaddrinfo(0) */
+#define HAVE_WORKING_GETADDRINFO 1
+
+/* Define to 1 if 'vfork' works. */
+#define HAVE_WORKING_VFORK 1
+
+/* Define to 1 if you have the <zlib.h> header file. */
+#define HAVE_ZLIB_H 1
+
+/* Define if sockaddr_in.sin_len exists */
+/* #undef HAVE_sockaddr_in_len */
+
+/* Define if socklen_t exists */
+#define HAVE_socklen_t 1
+
+/* Target CPU name */
+#define HOST_CPU "x86_64" 
+
+/* Target operating system name */
+#define HOST_OS "openbsd7.7" 
+
+/* Target system vendor */
+#define HOST_VENDOR "unknown" 
+
+/* Define if libiconv can be used, e.g. for CHARCONV */
+/* #undef ICONV */
+
+/* Define if the server should do IDENT requests */
+/* #undef IDENTAUTH */
+
+/* Define if IRC+ protocol should be used */
+#define IRCPLUS 1
+
+/* Name of package */
+#define PACKAGE "ngircd"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "ngircd@lists.barton.de"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "ngIRCd"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "ngIRCd 27~9-gf11b01cc"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "ngircd"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL "https://ngircd.barton.de/"
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "27~9-gf11b01cc"
+
+/* Define if PAM should be used */
+/* #undef PAM */
+
+/* Define to 1 if the C compiler supports function prototypes. */
+#define PROTOTYPES 1
+
+/* Define if IRC sniffer should be enabled */
+/* #undef SNIFFER */
+
+/* Define to 1 if all of the C89 standard headers exist (not just the ones
+   required in a freestanding environment). This macro is provided for
+   backward compatibility; new code need not use it. */
+#define STDC_HEADERS 1
+
+/* Define if ngIRCd should behave strict RFC compliant */
+/* #undef STRICT_RFC */
+
+/* Define if syslog should be used for logging */
+#define SYSLOG 1
+
+/* Define if TCP wrappers should be used */
+/* #undef TCPWRAP */
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. This
+   macro is obsolete. */
+#define TIME_WITH_SYS_TIME 1
+
+/* Version number of package */
+#define VERSION "27~9-gf11b01cc"
+
+/* Define if IPV6 protocol should be enabled */
+#define WANT_IPV6 1
+
+/* Define if zlib compression should be enabled */
+#define ZLIB 1
+
+/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,
+   <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
+   #define below would cause a syntax error. */
+/* #undef _UINT32_T */
+
+/* Define for Solaris 2.5.1 so the uint8_t typedef from <sys/synch.h>,
+   <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
+   #define below would cause a syntax error. */
+/* #undef _UINT8_T */
+
+/* Define like PROTOTYPES; this can be used by system headers. */
+#define __PROTOTYPES 1
+
+/* Define to empty if 'const' does not conform to ANSI C. */
+/* #undef const */
+
+/* Define as 'int' if <sys/types.h> doesn't define. */
+/* #undef gid_t */
+
+/* Define to '__inline__' or '__inline' if that's what the C compiler
+   calls it, or to nothing if 'inline' is not supported under any name.  */
+#ifndef __cplusplus
+/* #undef inline */
+#endif
+
+/* Define as a signed integer type capable of holding a process identifier. */
+/* #undef pid_t */
+
+/* Define as 'unsigned int' if <stddef.h> doesn't define. */
+/* #undef size_t */
+
+/* Define as 'int' if <sys/types.h> doesn't define. */
+/* #undef ssize_t */
+
+/* Define as 'int' if <sys/types.h> doesn't define. */
+/* #undef uid_t */
+
+/* Define to the type of an unsigned integer type of width exactly 16 bits if
+   such a type exists and the standard includes do not define it. */
+/* #undef uint16_t */
+
+/* Define to the type of an unsigned integer type of width exactly 32 bits if
+   such a type exists and the standard includes do not define it. */
+/* #undef uint32_t */
+
+/* Define to the type of an unsigned integer type of width exactly 8 bits if
+   such a type exists and the standard includes do not define it. */
+/* #undef uint8_t */
+
+/* Define as 'fork' if 'vfork' does not work. */
+/* #undef vfork */
diff --git a/src/ipaddr/Makefile b/src/ipaddr/Makefile
new file mode 100644
index 00000000..113786a2
--- /dev/null
+++ b/src/ipaddr/Makefile
@@ -0,0 +1,13 @@
+CFLAGS += -DDOCDIR='"/usr/local/share/doc/ngircd"'
+CFLAGS += -DHAVE_CONFIG_H
+CFLAGS += -I..
+CFLAGS += -I../portab
+CFLAGS += -I../ipaddr
+CFLAGS += -I../tool
+
+OBJS += ng_ipaddr.o
+
+all: libngipaddr.a
+
+libngipaddr.a: ${OBJS}
+	ar rcs libngipaddr.a ${OBJS}
diff --git a/src/ipaddr/Makefile.ng b/src/ipaddr/Makefile.ng
deleted file mode 100644
index ecfce295..00000000
--- a/src/ipaddr/Makefile.ng
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-# ipaddr/Makefile.am
-# (c) 2008 Florian Westphal <fw@strlen.de>, public domain.
-#
-
-__ng_Makefile_am_template__
-
-EXTRA_DIST = Makefile.ng
-
-AM_CPPFLAGS = -I$(srcdir)/../portab
-
-noinst_LIBRARIES = libngipaddr.a
-
-libngipaddr_a_SOURCES = ng_ipaddr.c
-
-noinst_HEADERS = ng_ipaddr.h
-
-maintainer-clean-local:
-	rm -f Makefile Makefile.in Makefile.am
-
-# -eof-
diff --git a/src/ngircd/Makefile b/src/ngircd/Makefile
new file mode 100644
index 00000000..bfd3d308
--- /dev/null
+++ b/src/ngircd/Makefile
@@ -0,0 +1,52 @@
+LDFLAGS += -L../portab -L../tool -L../ipaddr
+LDLIBS += -lngportab -lngtool -lngipaddr -lz
+
+CFLAGS += -DDOCDIR='"/usr/local/share/doc/ngircd"'
+CFLAGS += -DHAVE_CONFIG_H
+CFLAGS += -I..
+CFLAGS += -I../portab
+CFLAGS += -I../ipaddr
+CFLAGS += -I../tool
+
+OBJS += array.o
+OBJS += channel.o
+OBJS += class.o
+OBJS += client-cap.o
+OBJS += client.o
+OBJS += conf.o
+OBJS += conn-encoding.o
+OBJS += conn-func.o
+OBJS += conn-ssl.o
+OBJS += conn-zip.o
+OBJS += conn.o
+OBJS += hash.o
+OBJS += io.o
+OBJS += irc-cap.o
+OBJS += irc-channel.o
+OBJS += irc-encoding.o
+OBJS += irc-info.o
+OBJS += irc-login.o
+OBJS += irc-metadata.o
+OBJS += irc-mode.o
+OBJS += irc-op.o
+OBJS += irc-oper.o
+OBJS += irc-server.o
+OBJS += irc-write.o
+OBJS += irc.o
+OBJS += lists.o
+OBJS += log.o
+OBJS += login.o
+OBJS += match.o
+OBJS += ngircd.o
+OBJS += numeric.o
+OBJS += op.o
+OBJS += pam.o
+OBJS += parse.o
+OBJS += proc.o
+OBJS += resolve.o
+OBJS += sighandlers.o
+
+all: ngircd
+
+ngircd: ${OBJS}
+	cc -o ngircd ${LDFLAGS} ${OBJS} ${LDLIBS}
diff --git a/src/ngircd/Makefile.ng b/src/ngircd/Makefile.ng
deleted file mode 100644
index 5045ebae..00000000
--- a/src/ngircd/Makefile.ng
+++ /dev/null
@@ -1,124 +0,0 @@
-#
-# ngIRCd -- The Next Generation IRC Daemon
-# Copyright (c)2001-2024 Alexander Barton (alex@barton.de) and Contributors
-#
-# 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.
-# Please read the file COPYING, README and AUTHORS for more information.
-#
-
-__ng_Makefile_am_template__
-
-EXTRA_DIST = Makefile.ng
-
-AM_CPPFLAGS = -I$(srcdir)/../portab -I$(srcdir)/../tool -I$(srcdir)/../ipaddr
-
-sbin_PROGRAMS = ngircd
-
-ngircd_SOURCES = \
-	ngircd.c \
-	array.c \
-	channel.c \
-	class.c \
-	client.c \
-	client-cap.c \
-	conf.c \
-	conn.c \
-	conn-encoding.c \
-	conn-func.c \
-	conn-ssl.c \
-	conn-zip.c \
-	hash.c \
-	io.c \
-	irc.c \
-	irc-cap.c \
-	irc-channel.c \
-	irc-encoding.c \
-	irc-info.c \
-	irc-login.c \
-	irc-metadata.c \
-	irc-mode.c \
-	irc-op.c \
-	irc-oper.c \
-	irc-server.c \
-	irc-write.c \
-	lists.c \
-	log.c \
-	login.c \
-	match.c \
-	numeric.c \
-	op.c \
-	pam.c \
-	parse.c \
-	proc.c \
-	resolve.c \
-	sighandlers.c
-
-ngircd_LDFLAGS = -L../portab -L../tool -L../ipaddr
-
-ngircd_LDADD = -lngportab -lngtool -lngipaddr
-
-noinst_HEADERS = \
-	ngircd.h \
-	array.h \
-	channel.h \
-	class.h \
-	client.h \
-	client-cap.h \
-	conf.h \
-	conf-ssl.h \
-	conn.h \
-	conn-encoding.h \
-	conn-func.h \
-	conn-ssl.h \
-	conn-zip.h \
-	defines.h \
-	hash.h \
-	io.h \
-	irc.h \
-	irc-cap.h \
-	irc-channel.h \
-	irc-encoding.h \
-	irc-info.h \
-	irc-login.h \
-	irc-macros.h \
-	irc-metadata.h \
-	irc-mode.h \
-	irc-op.h \
-	irc-oper.h \
-	irc-server.h \
-	irc-write.h \
-	lists.h \
-	log.h \
-	login.h \
-	match.h \
-	messages.h \
-	numeric.h \
-	op.h \
-	pam.h \
-	parse.h \
-	proc.h \
-	resolve.h \
-	sighandlers.h
-
-clean-local:
-	rm -f check-version check-help
-
-maintainer-clean-local:
-	rm -f Makefile Makefile.in Makefile.am
-
-check-version: Makefile
-	echo "#!/bin/sh" > check-version
-	echo "./ngircd --version | grep ngircd >/dev/null 2>&1" >>check-version
-	chmod 755 check-version
-
-check-help: Makefile
-	echo "#!/bin/sh" > check-help
-	echo "./ngircd --help | grep help >/dev/null 2>&1" >>check-help
-	chmod 755 check-help
-
-TESTS = check-version check-help
-
-# -eof-
diff --git a/src/portab/Makefile b/src/portab/Makefile
new file mode 100644
index 00000000..2814557e
--- /dev/null
+++ b/src/portab/Makefile
@@ -0,0 +1,20 @@
+CFLAGS += -DDOCDIR='"/usr/local/share/doc/ngircd"'
+CFLAGS += -DHAVE_CONFIG_H
+CFLAGS += -I..
+CFLAGS += -I../portab
+CFLAGS += -I../ipaddr
+CFLAGS += -I../tool
+
+OBJS += ansi2knr.o
+OBJS += portabtest.o
+OBJS += strdup.o
+OBJS += strlcpy.o
+OBJS += strndup.o
+OBJS += strtok_r.o
+OBJS += vsnprintf.o
+OBJS += waitpid.o
+
+all: libngportab.a
+
+libngportab.a: ${OBJS}
+	ar rcs libngportab.a ${OBJS}
diff --git a/src/portab/Makefile.ng b/src/portab/Makefile.ng
deleted file mode 100644
index 9be5f567..00000000
--- a/src/portab/Makefile.ng
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-# ngIRCd -- The Next Generation IRC Daemon
-# Copyright (c)2001-2024 Alexander Barton (alex@barton.de) and Contributors
-#
-# 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.
-# Please read the file COPYING, README and AUTHORS for more information.
-#
-
-__ng_Makefile_am_template__
-
-EXTRA_DIST = Makefile.ng
-
-noinst_LIBRARIES = libngportab.a
-
-libngportab_a_SOURCES = \
-	strdup.c \
-	strlcpy.c \
-	strndup.c \
-	strtok_r.c \
-	vsnprintf.c \
-	waitpid.c
-
-check_PROGRAMS = portabtest
-
-portabtest_SOURCES = portabtest.c
-
-portabtest_LDFLAGS = -L.
-
-portabtest_LDADD = -lngportab
-
-noinst_HEADERS = portab.h
-
-maintainer-clean-local:
-	rm -f Makefile Makefile.in Makefile.am
-
-TESTS = portabtest
-
-# -eof-
diff --git a/src/tool/Makefile b/src/tool/Makefile
new file mode 100644
index 00000000..df41ebae
--- /dev/null
+++ b/src/tool/Makefile
@@ -0,0 +1,13 @@
+CFLAGS += -DDOCDIR='"/usr/local/share/doc/ngircd"'
+CFLAGS += -DHAVE_CONFIG_H
+CFLAGS += -I..
+CFLAGS += -I../portab
+CFLAGS += -I../ipaddr
+CFLAGS += -I../tool
+
+OBJS += tool.o
+
+all: libngtool.a
+
+libngtool.a: ${OBJS}
+	ar rcs libngtool.a ${OBJS}
diff --git a/src/tool/Makefile.ng b/src/tool/Makefile.ng
deleted file mode 100644
index d88bdc94..00000000
--- a/src/tool/Makefile.ng
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# ngIRCd -- The Next Generation IRC Daemon
-# Copyright (c)2001-2012 Alexander Barton (alex@barton.de) and Contributors
-#
-# 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.
-# Please read the file COPYING, README and AUTHORS for more information.
-#
-
-__ng_Makefile_am_template__
-
-EXTRA_DIST = Makefile.ng
-
-AM_CPPFLAGS = -I$(srcdir)/../portab
-
-noinst_LIBRARIES = libngtool.a
-
-libngtool_a_SOURCES = tool.c
-
-noinst_HEADERS = tool.h
-
-maintainer-clean-local:
-	rm -f Makefile Makefile.in Makefile.am
-
-# -eof-