-
authorMartin Willi <martin@strongswan.org>
Wed, 23 Nov 2005 13:34:45 +0000 (13:34 -0000)
committerMartin Willi <martin@strongswan.org>
Wed, 23 Nov 2005 13:34:45 +0000 (13:34 -0000)
Source/charon/Makefile
Source/charon/encoding/payloads/Makefile.payloads
Source/charon/testcases/Makefile.testcases [new file with mode: 0644]
Source/charon/testcases/testcases.c
Source/charon/threads/Makefile.threads [new file with mode: 0644]
Source/charon/transforms/Makefile.transforms [new file with mode: 0644]
Source/charon/transforms/crypters/Makefile.crypters [new file with mode: 0644]
Source/charon/transforms/hashers/Makefile.hashers [new file with mode: 0644]
Source/charon/transforms/prfs/Makefile.prfs [new file with mode: 0644]
Source/charon/transforms/signers/Makefile.signers [new file with mode: 0644]
Source/charon/utils/Makefile.utils [new file with mode: 0644]

index 0c2240b..e43e36a 100644 (file)
@@ -16,28 +16,35 @@ BUILD_DIR= ./bin/
 
 MAIN_DIR= ./
 
-LIBS= -lgmp -lpthread
+LDFLAGS= -lgmp -lpthread
 
 CFLAGS+= -DLEAK_DETECTIVE -I.
 
 # objects is extended by each included Makefile
 OBJS= 
 
-daemon :               build_dir $(BUILD_DIR)charon
+all :          build_dir $(BUILD_DIR)charon $(BUILD_DIR)run_tests 
 
-all :          build_dir $(BUILD_DIR)charon $(BUILD_DIR)run_tests
+daemon :       $(BUILD_DIR)charon
+
+testcases :    $(BUILD_DIR)run_tests 
 
 doxygen : 
                        doxygen doxyconfig.DoxyFile
 
+
 include $(MAIN_DIR)network/Makefile.network
 include $(MAIN_DIR)config/Makefile.config
 include $(MAIN_DIR)encoding/Makefile.encoding
 include $(MAIN_DIR)queues/Makefile.queues
 include $(MAIN_DIR)sa/Makefile.sa
+include $(MAIN_DIR)threads/Makefile.threads
+include $(MAIN_DIR)transforms/Makefile.transforms
+include $(MAIN_DIR)utils/Makefile.utils        
+
 
 build_dir:
-                                                       mkdir $(BUILD_DIR)
+                                                       mkdir -p $(BUILD_DIR)
 
 $(BUILD_DIR)daemon.o :         daemon.c daemon.h 
                                                        $(CC) $(CFLAGS) -c -o $@ $<
@@ -50,18 +57,15 @@ OBJS+=$(BUILD_DIR)definitions.o
 $(BUILD_DIR)definitions.o :    definitions.c definitions.h
                                                        $(CC) $(CFLAGS) -c -o $@ $<
 
+$(BUILD_DIR)charon :           $(OBJS) $(BUILD_DIR)daemon.o
+                                                       $(CC) $(LDFLAGS) $(OBJS) $(BUILD_DIR)daemon.o -o $@
 
+TEST_OBJS = $(OBJS)
+include $(MAIN_DIR)testcases/Makefile.testcases        
 
-$(BUILD_DIR)charon :           $(OBJS) $(BUILD_DIR)daemon.o
-                                                       $(CC) $(CFLAGS) $(OBJS) $(BUILD_DIR)daemon.o -o $@ 
-                               
-                                                       
-#include testcases/Makefile.testcases  
-                               
-#$(BUILD_DIR)run_tests :               $(OBJS)
-                                                       $(CC) $(CFLAGS) $(OBJS) -o $@ 
-                               
+$(BUILD_DIR)run_tests :                $(TEST_OBJS)
+                                                       $(CC) $(LDFLAGS) $(TEST_OBJS) -o $@
 
 clean :                
-                                                       rm $(OBJS) $(BUILD_DIR)charon $(BUILD_DIR)daemon.o; \
-                                                       rmdir $(BUILD_DIR)
\ No newline at end of file
+                                                       rm -f $(TEST_OBJS) $(BUILD_DIR)charon $(BUILD_DIR)run_tests $(BUILD_DIR)daemon.o; \
+                                                       rmdir $(BUILD_DIR)
index 1a32e00..2aedd38 100644 (file)
@@ -30,6 +30,10 @@ OBJS+= $(BUILD_DIR)nonce_payload.o
 $(BUILD_DIR)nonce_payload.o :                  $(PAYLOADS_DIR)nonce_payload.c $(PAYLOADS_DIR)nonce_payload.h
                                                                                $(CC) $(CFLAGS) -c -o $@ $<
 
+OBJS+= $(BUILD_DIR)notify_payload.o
+$(BUILD_DIR)notify_payload.o :                 $(PAYLOADS_DIR)notify_payload.c $(PAYLOADS_DIR)notify_payload.h
+                                                                               $(CC) $(CFLAGS) -c -o $@ $<
+
 OBJS+= $(BUILD_DIR)payload.o
 $(BUILD_DIR)payload.o :                                        $(PAYLOADS_DIR)payload.c $(PAYLOADS_DIR)payload.h
                                                                                $(CC) $(CFLAGS) -c -o $@ $<
@@ -49,4 +53,4 @@ $(BUILD_DIR)transform_attribute.o :           $(PAYLOADS_DIR)transform_attribute.c $(PAYL
 OBJS+= $(BUILD_DIR)transform_substructure.o
 $(BUILD_DIR)transform_substructure.o : $(PAYLOADS_DIR)transform_substructure.c $(PAYLOADS_DIR)transform_substructure.h
                                                                                $(CC) $(CFLAGS) -c -o $@ $<
-                                                               
\ No newline at end of file
+                                                               
diff --git a/Source/charon/testcases/Makefile.testcases b/Source/charon/testcases/Makefile.testcases
new file mode 100644 (file)
index 0000000..f43a94e
--- /dev/null
@@ -0,0 +1,102 @@
+# Copyright (C) 2005 Jan Hutter, Martin Willi
+# Hochschule fuer Technik Rapperswil
+#
+# 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.  See <http://www.fsf.org/copyleft/gpl.txt>.
+#
+# 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.
+#
+
+TESTCASES_DIR= $(MAIN_DIR)testcases/
+
+
+TEST_OBJS+= $(BUILD_DIR)diffie_hellman_test.o
+$(BUILD_DIR)diffie_hellman_test.o :    $(TESTCASES_DIR)diffie_hellman_test.c $(TESTCASES_DIR)diffie_hellman_test.h
+                                                                       $(CC) $(CFLAGS) -c -o $@ $<
+
+TEST_OBJS+= $(BUILD_DIR)hasher_md5_test.o
+$(BUILD_DIR)hasher_md5_test.o :                $(TESTCASES_DIR)hasher_md5_test.c $(TESTCASES_DIR)hasher_md5_test.h
+                                                                       $(CC) $(CFLAGS) -c -o $@ $<
+
+TEST_OBJS+= $(BUILD_DIR)event_queue_test.o
+$(BUILD_DIR)event_queue_test.o :       $(TESTCASES_DIR)event_queue_test.c $(TESTCASES_DIR)event_queue_test.h
+                                                                       $(CC) $(CFLAGS) -c -o $@ $<
+
+TEST_OBJS+= $(BUILD_DIR)generator_test.o
+$(BUILD_DIR)generator_test.o :         $(TESTCASES_DIR)generator_test.c $(TESTCASES_DIR)generator_test.h
+                                                                       $(CC) $(CFLAGS) -c -o $@ $<
+
+TEST_OBJS+= $(BUILD_DIR)ike_sa_id_test.o
+$(BUILD_DIR)ike_sa_id_test.o :         $(TESTCASES_DIR)ike_sa_id_test.c $(TESTCASES_DIR)ike_sa_id_test.h
+                                                                       $(CC) $(CFLAGS) -c -o $@ $<
+
+TEST_OBJS+= $(BUILD_DIR)job_queue_test.o
+$(BUILD_DIR)job_queue_test.o :         $(TESTCASES_DIR)job_queue_test.c $(TESTCASES_DIR)job_queue_test.h
+                                                                       $(CC) $(CFLAGS) -c -o $@ $<
+
+TEST_OBJS+= $(BUILD_DIR)parser_test.o
+$(BUILD_DIR)parser_test.o :                    $(TESTCASES_DIR)parser_test.c $(TESTCASES_DIR)parser_test.h
+                                                                       $(CC) $(CFLAGS) -c -o $@ $<
+
+TEST_OBJS+= $(BUILD_DIR)hasher_sha1_test.o
+$(BUILD_DIR)hasher_sha1_test.o :       $(TESTCASES_DIR)hasher_sha1_test.c $(TESTCASES_DIR)hasher_sha1_test.h
+                                                                       $(CC) $(CFLAGS) -c -o $@ $<
+
+TEST_OBJS+= $(BUILD_DIR)ike_sa_manager_test.o
+$(BUILD_DIR)ike_sa_manager_test.o :    $(TESTCASES_DIR)ike_sa_manager_test.c $(TESTCASES_DIR)ike_sa_manager_test.h
+                                                                       $(CC) $(CFLAGS) -c -o $@ $<
+
+TEST_OBJS+= $(BUILD_DIR)linked_list_test.o
+$(BUILD_DIR)linked_list_test.o :       $(TESTCASES_DIR)linked_list_test.c $(TESTCASES_DIR)linked_list_test.h
+                                                                       $(CC) $(CFLAGS) -c -o $@ $<
+
+TEST_OBJS+= $(BUILD_DIR)hmac_test.o
+$(BUILD_DIR)hmac_test.o :                      $(TESTCASES_DIR)hmac_test.c $(TESTCASES_DIR)hmac_test.h
+                                                                       $(CC) $(CFLAGS) -c -o $@ $<
+                                                                                       
+TEST_OBJS+= $(BUILD_DIR)scheduler_test.o
+$(BUILD_DIR)scheduler_test.o :         $(TESTCASES_DIR)scheduler_test.c $(TESTCASES_DIR)scheduler_test.h
+                                                                       $(CC) $(CFLAGS) -c -o $@ $<
+                                                                       
+TEST_OBJS+= $(BUILD_DIR)prf_plus_test.o
+$(BUILD_DIR)prf_plus_test.o :          $(TESTCASES_DIR)prf_plus_test.c $(TESTCASES_DIR)prf_plus_test.h
+                                                                       $(CC) $(CFLAGS) -c -o $@ $<
+                                                                       
+TEST_OBJS+= $(BUILD_DIR)send_queue_test.o
+$(BUILD_DIR)send_queue_test.o :                $(TESTCASES_DIR)send_queue_test.c $(TESTCASES_DIR)send_queue_test.h
+                                                                       $(CC) $(CFLAGS) -c -o $@ $<
+                                                                       
+TEST_OBJS+= $(BUILD_DIR)socket_test.o
+$(BUILD_DIR)socket_test.o :                    $(TESTCASES_DIR)socket_test.c $(TESTCASES_DIR)socket_test.h
+                                                                       $(CC) $(CFLAGS) -c -o $@ $<
+                                                                       
+TEST_OBJS+= $(BUILD_DIR)packet_test.o
+$(BUILD_DIR)packet_test.o :                    $(TESTCASES_DIR)packet_test.c $(TESTCASES_DIR)packet_test.h
+                                                                       $(CC) $(CFLAGS) -c -o $@ $<
+                                                                       
+TEST_OBJS+= $(BUILD_DIR)testcases.o
+$(BUILD_DIR)testcases.o :                      $(TESTCASES_DIR)testcases.c
+                                                                       $(CC) $(CFLAGS) -c -o $@ $<
+                                                                       
+TEST_OBJS+= $(BUILD_DIR)receiver_test.o
+$(BUILD_DIR)receiver_test.o :          $(TESTCASES_DIR)receiver_test.c $(TESTCASES_DIR)receiver_test.h
+                                                                       $(CC) $(CFLAGS) -c -o $@ $<
+                                                                       
+TEST_OBJS+= $(BUILD_DIR)ike_sa_test.o
+$(BUILD_DIR)ike_sa_test.o :                    $(TESTCASES_DIR)ike_sa_test.c $(TESTCASES_DIR)ike_sa_test.h
+                                                                       $(CC) $(CFLAGS) -c -o $@ $<
+                                                                       
+TEST_OBJS+= $(BUILD_DIR)sender_test.o
+$(BUILD_DIR)sender_test.o :                    $(TESTCASES_DIR)sender_test.c $(TESTCASES_DIR)sender_test.h
+                                                                       $(CC) $(CFLAGS) -c -o $@ $<
+                                                                       
+TEST_OBJS+= $(BUILD_DIR)thread_pool_test.o
+$(BUILD_DIR)thread_pool_test.o :       $(TESTCASES_DIR)thread_pool_test.c $(TESTCASES_DIR)thread_pool_test.h
+                                                                       $(CC) $(CFLAGS) -c -o $@ $<
+
+
index 52b25db..9574632 100644 (file)
@@ -26,9 +26,9 @@
 #include <queues/job_queue.h>
 #include <queues/event_queue.h>
 #include <queues/send_queue.h>
-#include <configuration_manager.h>
-#include <ike_sa_manager.h>
-#include <socket.h>
+#include <config/configuration_manager.h>
+#include <sa/ike_sa_manager.h>
+#include <network/socket.h>
 #include <utils/logger_manager.h>
 #include <utils/allocator.h>
 #include <utils/tester.h>
diff --git a/Source/charon/threads/Makefile.threads b/Source/charon/threads/Makefile.threads
new file mode 100644 (file)
index 0000000..4c9cd5e
--- /dev/null
@@ -0,0 +1,31 @@
+# Copyright (C) 2005 Jan Hutter, Martin Willi
+# Hochschule fuer Technik Rapperswil
+#
+# 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.  See <http://www.fsf.org/copyleft/gpl.txt>.
+#
+# 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.
+#
+
+THREADS_DIR= $(MAIN_DIR)threads/
+
+OBJS+= $(BUILD_DIR)receiver.o
+$(BUILD_DIR)receiver.o :               $(THREADS_DIR)receiver.c $(THREADS_DIR)receiver.h
+                                                               $(CC) $(CFLAGS) -c -o $@ $<
+                                                               
+OBJS+= $(BUILD_DIR)scheduler.o
+$(BUILD_DIR)scheduler.o :              $(THREADS_DIR)scheduler.c $(THREADS_DIR)scheduler.h
+                                                               $(CC) $(CFLAGS) -c -o $@ $<
+                                                               
+OBJS+= $(BUILD_DIR)sender.o
+$(BUILD_DIR)sender.o :                 $(THREADS_DIR)sender.c $(THREADS_DIR)sender.h
+                                                               $(CC) $(CFLAGS) -c -o $@ $<
+                                                               
+OBJS+= $(BUILD_DIR)thread_pool.o
+$(BUILD_DIR)thread_pool.o :            $(THREADS_DIR)thread_pool.c $(THREADS_DIR)thread_pool.h
+                                                               $(CC) $(CFLAGS) -c -o $@ $<
diff --git a/Source/charon/transforms/Makefile.transforms b/Source/charon/transforms/Makefile.transforms
new file mode 100644 (file)
index 0000000..9bc8076
--- /dev/null
@@ -0,0 +1,32 @@
+# Copyright (C) 2005 Jan Hutter, Martin Willi
+# Hochschule fuer Technik Rapperswil
+#
+# 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.  See <http://www.fsf.org/copyleft/gpl.txt>.
+#
+# 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.
+#
+
+TRANSFORMS_DIR= $(MAIN_DIR)transforms/
+
+include $(TRANSFORMS_DIR)crypters/Makefile.crypters
+include $(TRANSFORMS_DIR)hashers/Makefile.hashers
+include $(TRANSFORMS_DIR)prfs/Makefile.prfs
+include $(TRANSFORMS_DIR)signers/Makefile.signers
+
+OBJS+= $(BUILD_DIR)diffie_hellman.o
+$(BUILD_DIR)diffie_hellman.o : $(TRANSFORMS_DIR)diffie_hellman.c $(TRANSFORMS_DIR)diffie_hellman.h
+                                                               $(CC) $(CFLAGS) -c -o $@ $<
+
+OBJS+= $(BUILD_DIR)hmac.o
+$(BUILD_DIR)hmac.o :                   $(TRANSFORMS_DIR)hmac.c $(TRANSFORMS_DIR)hmac.h
+                                                               $(CC) $(CFLAGS) -c -o $@ $<
+
+OBJS+= $(BUILD_DIR)prf_plus.o
+$(BUILD_DIR)prf_plus.o :               $(TRANSFORMS_DIR)prf_plus.c $(TRANSFORMS_DIR)prf_plus.h
+                                                               $(CC) $(CFLAGS) -c -o $@ $<
diff --git a/Source/charon/transforms/crypters/Makefile.crypters b/Source/charon/transforms/crypters/Makefile.crypters
new file mode 100644 (file)
index 0000000..e4ce023
--- /dev/null
@@ -0,0 +1,19 @@
+# Copyright (C) 2005 Jan Hutter, Martin Willi
+# Hochschule fuer Technik Rapperswil
+#
+# 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.  See <http://www.fsf.org/copyleft/gpl.txt>.
+#
+# 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.
+#
+
+CRYPTERS_DIR= $(TRANSFORMS_DIR)crypters/
+
+OBJS+= $(BUILD_DIR)crypter.o
+$(BUILD_DIR)crypter.o :                        $(CRYPTERS_DIR)crypter.c $(CRYPTERS_DIR)crypter.h
+                                                               $(CC) $(CFLAGS) -c -o $@ $<
diff --git a/Source/charon/transforms/hashers/Makefile.hashers b/Source/charon/transforms/hashers/Makefile.hashers
new file mode 100644 (file)
index 0000000..36a5b4c
--- /dev/null
@@ -0,0 +1,27 @@
+# Copyright (C) 2005 Jan Hutter, Martin Willi
+# Hochschule fuer Technik Rapperswil
+#
+# 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.  See <http://www.fsf.org/copyleft/gpl.txt>.
+#
+# 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.
+#
+
+HASHERS_DIR= $(TRANSFORMS_DIR)hashers/
+
+OBJS+= $(BUILD_DIR)hasher.o
+$(BUILD_DIR)hasher.o :                 $(HASHERS_DIR)hasher.c $(HASHERS_DIR)hasher.h
+                                                               $(CC) $(CFLAGS) -c -o $@ $<
+                                                               
+OBJS+= $(BUILD_DIR)hasher_sha1.o
+$(BUILD_DIR)hasher_sha1.o :            $(HASHERS_DIR)hasher_sha1.c $(HASHERS_DIR)hasher_sha1.h
+                                                               $(CC) $(CFLAGS) -c -o $@ $<
+                                                               
+OBJS+= $(BUILD_DIR)hasher_md5.o
+$(BUILD_DIR)hasher_md5.o :             $(HASHERS_DIR)hasher_md5.c $(HASHERS_DIR)hasher_md5.h
+                                                               $(CC) $(CFLAGS) -c -o $@ $<
diff --git a/Source/charon/transforms/prfs/Makefile.prfs b/Source/charon/transforms/prfs/Makefile.prfs
new file mode 100644 (file)
index 0000000..1934361
--- /dev/null
@@ -0,0 +1,23 @@
+# Copyright (C) 2005 Jan Hutter, Martin Willi
+# Hochschule fuer Technik Rapperswil
+#
+# 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.  See <http://www.fsf.org/copyleft/gpl.txt>.
+#
+# 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.
+#
+
+PRFS_DIR= $(TRANSFORMS_DIR)prfs/
+
+OBJS+= $(BUILD_DIR)prf.o
+$(BUILD_DIR)prf.o :                            $(PRFS_DIR)prf.c $(PRFS_DIR)prf.h
+                                                               $(CC) $(CFLAGS) -c -o $@ $<
+                                                               
+OBJS+= $(BUILD_DIR)prf_hmac.o
+$(BUILD_DIR)prf_hmac.o :               $(PRFS_DIR)prf_hmac.c $(PRFS_DIR)prf_hmac.h
+                                                               $(CC) $(CFLAGS) -c -o $@ $<
diff --git a/Source/charon/transforms/signers/Makefile.signers b/Source/charon/transforms/signers/Makefile.signers
new file mode 100644 (file)
index 0000000..823f828
--- /dev/null
@@ -0,0 +1,19 @@
+# Copyright (C) 2005 Jan Hutter, Martin Willi
+# Hochschule fuer Technik Rapperswil
+#
+# 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.  See <http://www.fsf.org/copyleft/gpl.txt>.
+#
+# 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.
+#
+
+SIGNERS_DIR= $(TRANSFORMS_DIR)signers/
+
+OBJS+= $(BUILD_DIR)signer.o
+$(BUILD_DIR)signer.o :                 $(SIGNERS_DIR)signer.c $(SIGNERS_DIR)signer.h
+                                                               $(CC) $(CFLAGS) -c -o $@ $<
diff --git a/Source/charon/utils/Makefile.utils b/Source/charon/utils/Makefile.utils
new file mode 100644 (file)
index 0000000..20ea9f7
--- /dev/null
@@ -0,0 +1,48 @@
+# Copyright (C) 2005 Jan Hutter, Martin Willi
+# Hochschule fuer Technik Rapperswil
+#
+# 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.  See <http://www.fsf.org/copyleft/gpl.txt>.
+#
+# 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.
+#
+
+UTILS_DIR= $(MAIN_DIR)utils/
+
+
+OBJS+= $(BUILD_DIR)allocator.o
+$(BUILD_DIR)allocator.o :              $(UTILS_DIR)allocator.c $(UTILS_DIR)allocator.h
+                                                               $(CC) $(CFLAGS) -c -o $@ $<
+
+OBJS+= $(BUILD_DIR)gmp_helper.o
+$(BUILD_DIR)gmp_helper.o :             $(UTILS_DIR)gmp_helper.c $(UTILS_DIR)gmp_helper.h
+                                                               $(CC) $(CFLAGS) -c -o $@ $<
+
+OBJS+= $(BUILD_DIR)host.o
+$(BUILD_DIR)host.o :                   $(UTILS_DIR)host.c $(UTILS_DIR)host.h
+                                                               $(CC) $(CFLAGS) -c -o $@ $<
+
+OBJS+= $(BUILD_DIR)linked_list.o
+$(BUILD_DIR)linked_list.o :            $(UTILS_DIR)linked_list.c $(UTILS_DIR)linked_list.h
+                                                               $(CC) $(CFLAGS) -c -o $@ $<
+                                                               
+OBJS+= $(BUILD_DIR)logger.o
+$(BUILD_DIR)logger.o :                 $(UTILS_DIR)logger.c $(UTILS_DIR)logger.h
+                                                               $(CC) $(CFLAGS) -c -o $@ $<
+
+OBJS+= $(BUILD_DIR)logger_manager.o
+$(BUILD_DIR)logger_manager.o : $(UTILS_DIR)logger_manager.c $(UTILS_DIR)logger_manager.h
+                                                               $(CC) $(CFLAGS) -c -o $@ $<
+
+OBJS+= $(BUILD_DIR)randomizer.o
+$(BUILD_DIR)randomizer.o :             $(UTILS_DIR)randomizer.c $(UTILS_DIR)randomizer.h
+                                                               $(CC) $(CFLAGS) -c -o $@ $<
+
+OBJS+= $(BUILD_DIR)tester.o
+$(BUILD_DIR)tester.o :                 $(UTILS_DIR)tester.c $(UTILS_DIR)tester.h
+                                                               $(CC) $(CFLAGS) -c -o $@ $<