diff options
| author | Nakidai <nakidai@disroot.org> | 2026-02-18 23:03:45 +0300 |
|---|---|---|
| committer | Nakidai <nakidai@disroot.org> | 2026-02-18 23:03:45 +0300 |
| commit | cf618cc741269fa1917840345bb3fae133007b6d (patch) | |
| tree | fdbe89bd8a144ad9d835fe8591d38e10e205ffce /src | |
| parent | 9a2b8cb4fde1adea8027387f277510cfa4406a20 (diff) | |
| download | ngircd-cf618cc741269fa1917840345bb3fae133007b6d.tar.gz ngircd-cf618cc741269fa1917840345bb3fae133007b6d.zip | |
Improve the build system
Now one global makefile is generated using includes, so dependencies are handled properly
Diffstat (limited to 'src')
| -rw-r--r-- | src/Makefile | 23 | ||||
| -rw-r--r-- | src/ipaddr/Makefile | 13 | ||||
| -rw-r--r-- | src/ngircd/Makefile | 87 | ||||
| -rw-r--r-- | src/portab/Makefile | 27 | ||||
| -rw-r--r-- | src/tool/Makefile | 13 |
5 files changed, 65 insertions, 98 deletions
diff --git a/src/Makefile b/src/Makefile index 58a5093c..28633a05 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,21 +1,8 @@ -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 +include src/ipaddr/Makefile +include src/ngircd/Makefile +include src/portab/Makefile +include src/tool/Makefile clean: - rm -f ngircd/ngircd + rm -f src/ngircd/ngircd find . \( -name '*\.o' -o -name '*\.a' \) -exec rm {} \; diff --git a/src/ipaddr/Makefile b/src/ipaddr/Makefile index 113786a2..67400636 100644 --- a/src/ipaddr/Makefile +++ b/src/ipaddr/Makefile @@ -1,13 +1,8 @@ CFLAGS += -DDOCDIR='"/usr/local/share/doc/ngircd"' CFLAGS += -DHAVE_CONFIG_H -CFLAGS += -I.. -CFLAGS += -I../portab -CFLAGS += -I../ipaddr -CFLAGS += -I../tool +CFLAGS += -Isrc -Isrc/portab -Isrc/ipaddr -Isrc/tool -OBJS += ng_ipaddr.o +OBJS.ipaddr += src/ipaddr/ng_ipaddr.o -all: libngipaddr.a - -libngipaddr.a: ${OBJS} - ar rcs libngipaddr.a ${OBJS} +src/ipaddr/libngipaddr.a: ${OBJS.ipaddr} + ar rcs src/ipaddr/libngipaddr.a ${OBJS.ipaddr} diff --git a/src/ngircd/Makefile b/src/ngircd/Makefile index bfd3d308..8a23c1b4 100644 --- a/src/ngircd/Makefile +++ b/src/ngircd/Makefile @@ -1,52 +1,47 @@ -LDFLAGS += -L../portab -L../tool -L../ipaddr +LDFLAGS += -Lsrc/portab -Lsrc/tool -Lsrc/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 +CFLAGS += -Isrc -Isrc/portab -Isrc/ipaddr -Isrc/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 +OBJS.ngircd += src/ngircd/array.o +OBJS.ngircd += src/ngircd/channel.o +OBJS.ngircd += src/ngircd/class.o +OBJS.ngircd += src/ngircd/client-cap.o +OBJS.ngircd += src/ngircd/client.o +OBJS.ngircd += src/ngircd/conf.o +OBJS.ngircd += src/ngircd/conn-encoding.o +OBJS.ngircd += src/ngircd/conn-func.o +OBJS.ngircd += src/ngircd/conn-ssl.o +OBJS.ngircd += src/ngircd/conn-zip.o +OBJS.ngircd += src/ngircd/conn.o +OBJS.ngircd += src/ngircd/hash.o +OBJS.ngircd += src/ngircd/io.o +OBJS.ngircd += src/ngircd/irc-cap.o +OBJS.ngircd += src/ngircd/irc-channel.o +OBJS.ngircd += src/ngircd/irc-encoding.o +OBJS.ngircd += src/ngircd/irc-info.o +OBJS.ngircd += src/ngircd/irc-login.o +OBJS.ngircd += src/ngircd/irc-metadata.o +OBJS.ngircd += src/ngircd/irc-mode.o +OBJS.ngircd += src/ngircd/irc-op.o +OBJS.ngircd += src/ngircd/irc-oper.o +OBJS.ngircd += src/ngircd/irc-server.o +OBJS.ngircd += src/ngircd/irc-write.o +OBJS.ngircd += src/ngircd/irc.o +OBJS.ngircd += src/ngircd/lists.o +OBJS.ngircd += src/ngircd/log.o +OBJS.ngircd += src/ngircd/login.o +OBJS.ngircd += src/ngircd/match.o +OBJS.ngircd += src/ngircd/ngircd.o +OBJS.ngircd += src/ngircd/numeric.o +OBJS.ngircd += src/ngircd/op.o +OBJS.ngircd += src/ngircd/pam.o +OBJS.ngircd += src/ngircd/parse.o +OBJS.ngircd += src/ngircd/proc.o +OBJS.ngircd += src/ngircd/resolve.o +OBJS.ngircd += src/ngircd/sighandlers.o -all: ngircd - -ngircd: ${OBJS} - cc -o ngircd ${LDFLAGS} ${OBJS} ${LDLIBS} +src/ngircd/ngircd: src/portab/libngportab.a src/ipaddr/libngipaddr.a src/tool/libngtool.a ${OBJS.ngircd} + cc -o src/ngircd/ngircd ${LDFLAGS} ${OBJS.ngircd} ${LDLIBS} diff --git a/src/portab/Makefile b/src/portab/Makefile index 2814557e..ee81e677 100644 --- a/src/portab/Makefile +++ b/src/portab/Makefile @@ -1,20 +1,15 @@ CFLAGS += -DDOCDIR='"/usr/local/share/doc/ngircd"' CFLAGS += -DHAVE_CONFIG_H -CFLAGS += -I.. -CFLAGS += -I../portab -CFLAGS += -I../ipaddr -CFLAGS += -I../tool +CFLAGS += -Isrc -Isrc/portab -Isrc/ipaddr -Isrc/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 +OBJS.portab += src/portab/ansi2knr.o +OBJS.portab += src/portab/portabtest.o +OBJS.portab += src/portab/strdup.o +OBJS.portab += src/portab/strlcpy.o +OBJS.portab += src/portab/strndup.o +OBJS.portab += src/portab/strtok_r.o +OBJS.portab += src/portab/vsnprintf.o +OBJS.portab += src/portab/waitpid.o -all: libngportab.a - -libngportab.a: ${OBJS} - ar rcs libngportab.a ${OBJS} +src/portab/libngportab.a: ${OBJS.portab} + ar rcs src/portab/libngportab.a ${OBJS.portab} diff --git a/src/tool/Makefile b/src/tool/Makefile index df41ebae..964e9d52 100644 --- a/src/tool/Makefile +++ b/src/tool/Makefile @@ -1,13 +1,8 @@ CFLAGS += -DDOCDIR='"/usr/local/share/doc/ngircd"' CFLAGS += -DHAVE_CONFIG_H -CFLAGS += -I.. -CFLAGS += -I../portab -CFLAGS += -I../ipaddr -CFLAGS += -I../tool +CFLAGS += -Isrc -Isrc/portab -Isrc/ipaddr -Isrc/tool -OBJS += tool.o +OBJS.tool += src/tool/tool.o -all: libngtool.a - -libngtool.a: ${OBJS} - ar rcs libngtool.a ${OBJS} +src/tool/libngtool.a: ${OBJS.tool} + ar rcs src/tool/libngtool.a ${OBJS.tool} |