summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-09-01 22:47:31 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-09-01 22:47:31 +0200
commitb05361b3baa804a2c67e74dbd66828cb8517ed91 (patch)
tree7ee82f12c0a1eecab4ab9daf644a58dd0a701c8e /src
parentba71528805f777871f52fc278858f56677307064 (diff)
Switched to Makefiles.
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt11
-rw-r--r--src/Makefile30
-rw-r--r--src/error/CMakeLists.txt6
-rw-r--r--src/irc/CMakeLists.txt11
l---------src/irc/Makefile1
-rw-r--r--src/meta_net/CMakeLists.txt9
l---------src/meta_net/Makefile1
-rw-r--r--src/parameters/CMakeLists.txt7
l---------src/parameters/Makefile1
9 files changed, 33 insertions, 44 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
deleted file mode 100644
index 5d1adf6..0000000
--- a/src/CMakeLists.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-add_subdirectory(error)
-add_subdirectory(parameters)
-add_subdirectory(meta_net)
-add_subdirectory(irc)
-
-set(
- SRC_FILES ${SRC_FILES}
- ${CMAKE_CURRENT_SOURCE_DIR}/main.c
-)
-
-set(SRC_FILES ${SRC_FILES} PARENT_SCOPE)
diff --git a/src/Makefile b/src/Makefile
new file mode 100644
index 0000000..8ffa1ab
--- /dev/null
+++ b/src/Makefile
@@ -0,0 +1,30 @@
+SUBCOMPONENTS = $(dir $(filter-out "./Makefile",$(wildcard ./*/Makefile)))
+SUBCOMPONENTS_EXPORT = $(addsuffix /export.a,$(SUBCOMPONENTS))
+################################################################################
+SRC_FILES = $(wildcard ./*.c)
+OBJ_FILES = $(SRC_FILES:.c=.o)
+DEP_FILES = $(SRC_FILES:.c=.d)
+################################################################################
+build: export.a
+
+export.a: $(OBJ_FILES) $(SUBCOMPONENTS_EXPORT)
+ ar -crT $@ $^
+
+$(SUBCOMPONENTS_EXPORT):
+ $(MAKE) -C $(dir $@) export.a
+
+clean:
+ rm -f $(OBJ_FILES)
+ rm -f $(DEP_FILES)
+ rm -f export.a
+ for subcmp in $(SUBCOMPONENTS) ; do \
+ $(MAKE) -C $$subcmp clean ; \
+ done
+################################################################################
+%.d: %.c
+ @set -e; rm -f $@; \
+ $(CC) -M $(CPPFLAGS) $< > $@.$$$$; \
+ sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
+ rm -f $@.$$$$
+
+include $(DEP_FILES)
diff --git a/src/error/CMakeLists.txt b/src/error/CMakeLists.txt
deleted file mode 100644
index fa07534..0000000
--- a/src/error/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-set(
- SRC_FILES ${SRC_FILES}
-)
-
-set(SRC_FILES ${SRC_FILES} PARENT_SCOPE)
-
diff --git a/src/irc/CMakeLists.txt b/src/irc/CMakeLists.txt
deleted file mode 100644
index b037d15..0000000
--- a/src/irc/CMakeLists.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-set(
- SRC_FILES ${SRC_FILES}
- ${CMAKE_CURRENT_SOURCE_DIR}/irc.c
- ${CMAKE_CURRENT_SOURCE_DIR}/irc_handle_connected.c
- ${CMAKE_CURRENT_SOURCE_DIR}/irc_handle_dcc_events.c
- ${CMAKE_CURRENT_SOURCE_DIR}/irc_receive.c
- ${CMAKE_CURRENT_SOURCE_DIR}/irc_select.c
- ${CMAKE_CURRENT_SOURCE_DIR}/irc_send.c
-)
-
-set(SRC_FILES ${SRC_FILES} PARENT_SCOPE)
diff --git a/src/irc/Makefile b/src/irc/Makefile
new file mode 120000
index 0000000..d0b0e8e
--- /dev/null
+++ b/src/irc/Makefile
@@ -0,0 +1 @@
+../Makefile \ No newline at end of file
diff --git a/src/meta_net/CMakeLists.txt b/src/meta_net/CMakeLists.txt
deleted file mode 100644
index ca047c3..0000000
--- a/src/meta_net/CMakeLists.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-set(
- SRC_FILES ${SRC_FILES}
- ${CMAKE_CURRENT_SOURCE_DIR}/meta_net.c
- ${CMAKE_CURRENT_SOURCE_DIR}/meta_net_handle_reply.c
- ${CMAKE_CURRENT_SOURCE_DIR}/meta_net_select.c
- ${CMAKE_CURRENT_SOURCE_DIR}/meta_net_try_request.c
-)
-
-set(SRC_FILES ${SRC_FILES} PARENT_SCOPE)
diff --git a/src/meta_net/Makefile b/src/meta_net/Makefile
new file mode 120000
index 0000000..d0b0e8e
--- /dev/null
+++ b/src/meta_net/Makefile
@@ -0,0 +1 @@
+../Makefile \ No newline at end of file
diff --git a/src/parameters/CMakeLists.txt b/src/parameters/CMakeLists.txt
deleted file mode 100644
index 2aa7ece..0000000
--- a/src/parameters/CMakeLists.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-set(
- SRC_FILES ${SRC_FILES}
- ${CMAKE_CURRENT_SOURCE_DIR}/parameters.c
- ${CMAKE_CURRENT_SOURCE_DIR}/parameters_getters.c
-)
-set(SRC_FILES ${SRC_FILES} PARENT_SCOPE)
-
diff --git a/src/parameters/Makefile b/src/parameters/Makefile
new file mode 120000
index 0000000..d0b0e8e
--- /dev/null
+++ b/src/parameters/Makefile
@@ -0,0 +1 @@
+../Makefile \ No newline at end of file