about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Makefile11
-rw-r--r--src/Makefile23
-rw-r--r--src/ipaddr/Makefile13
-rw-r--r--src/ngircd/Makefile87
-rw-r--r--src/portab/Makefile27
-rw-r--r--src/tool/Makefile13
6 files changed, 72 insertions, 102 deletions
diff --git a/Makefile b/Makefile
index 9f78a580..2ede9526 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,9 @@
 .PHONY: all clean
 
-all:
-	make -C src
-clean:
-	make -C src clean
+all: src/ngircd/ngircd
+
+.c.o:
+	# ${CC} ${CFLAGS} ${CPPFLAGS} -c -o "`echo $< | sed 's/.$$//'`o" $<
+	${CC} ${CFLAGS} ${CPPFLAGS} -c -o $@ $<
+
+include src/Makefile
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}