]> rtime.felk.cvut.cz Git - frescor/fna.git/commitdiff
improve the configuration with the ideas from CTU (config flags...)
authorsangorrin <sangorrin@35b4ef3e-fd22-0410-ab77-dab3279adceb>
Thu, 6 Nov 2008 16:18:09 +0000 (16:18 +0000)
committersangorrin <sangorrin@35b4ef3e-fd22-0410-ab77-dab3279adceb>
Thu, 6 Nov 2008 16:18:09 +0000 (16:18 +0000)
git-svn-id: http://www.frescor.org/private/svn/frescor/fna/trunk@1371 35b4ef3e-fd22-0410-ab77-dab3279adceb

config.mk_example
include/fna_configuration.h
rules.mk
src/fna_configuration.c

index 44a67d03f14644fc5fff87010d9dae965d840bd7..1ae12cd9e4f3a178be63421a8a9374027b53ea29 100644 (file)
@@ -1,32 +1,20 @@
 # the plaform
-PLATFORM = MARTE_OS
-# the path of the platform
+PLATFORM      = MARTE_OS
 PLATFORM_PATH = $(HOME)/marte
-# the path for exporting programs linux_arch -> ./
-EXPORT_PATH = $(HOME)/export
+EXPORT_PATH   = $(HOME)/export
 
 # utilization or response time
 SA_VERSION = utilization
 
-# enable networks with their flag (change DISABLED<->ENABLED)
-RTEP_ENABLE = RTEP_FNA_DISABLED
-UNIX_ENABLE = UNIX_FNA_DISABLED
-FRESCAN_ENABLE = FRESCAN_FNA_ENABLED
-
 # the gcc to use
 CC = mgcc
 
 FRESCOR_ROOT = $(HOME)/frescor
-# the path to the FRSH directory.
-FRSH_PATH = $(FRESCOR_ROOT)/frsh
-# the path to the FOSA directory.
-FOSA_PATH = $(FRESCOR_ROOT)/fosa
-# the path to the FNA directory.
-FNA_PATH = $(FRESCOR_ROOT)/fna
-# the path to the UTILS directory
-UTILS_PATH = $(FRESCOR_ROOT)/utils
-# the path to the UTILS directory
-FSA_PATH = $(FRESCOR_ROOT)/fsa
+FRSH_PATH    = $(FRESCOR_ROOT)/frsh
+FOSA_PATH    = $(FRESCOR_ROOT)/fosa
+FNA_PATH     = $(FRESCOR_ROOT)/fna
+UTILS_PATH   = $(FRESCOR_ROOT)/utils
+FSA_PATH     = $(FRESCOR_ROOT)/fsa
 
 # the compilation flags
 CFLAGS = -Wall -g -O1 -Wuninitialized \
@@ -38,8 +26,45 @@ CFLAGS = -Wall -g -O1 -Wuninitialized \
         -I$(FOSA_PATH)/marte_non_local_jump \
         -I$(FSA_PATH)/include
 
-# the library flags
+# fna networks configuration
+CONFIG_FNA_RTEP=n
+CONFIG_FNA_UNIX=n
+CONFIG_FNA_FRESCAN=n
+CONFIG_FWP=n
+
+ifeq ($(CONFIG_FNA_RTEP),y)
+CFLAGS += -DRTEP_FNA_ENABLED -I$(FNA_PATH)/src_rtep/ -I$(PLATFORM_PATH)/arch/drivers/rt-ep/
+endif
+
+ifeq ($(CONFIG_FNA_UNIX),y)
+CFLAGS += -DUNIX_FNA_ENABLED
+endif
+
+ifeq ($(CONFIG_FNA_FRESCAN),y)
+CFLAGS += -DFRESCAN_FNA_ENABLED -I$(FNA_PATH)/src_frescan/
+endif
 
+ifeq ($(CONFIG_FWP),y)
+CFLAGS += -DFWP_FNA_ENABLED
+endif
+
+# the library flags
 LDFLAGS = -L$(FRSH_PATH)/lib -lfrsh -L$(FSA_PATH)/lib -lfsa_$(SA_VERSION)   \
           -L$(FOSA_PATH)/lib -lfosa_$(PLATFORM) -L$(UTILS_PATH)/lib -lutils \
           -L$(FNA_PATH)/lib -lfna -lm
+
+ifeq ($(PLATFORM),MARTE_OS)
+LDFLAGS += $(PLATFORM_PATH)/misc/logger.o \
+          $(PLATFORM_PATH)/misc/time_measurement_hwtime.o \
+          $(PLATFORM_PATH)/misc/time_measurement_posix.o \
+          $(PLATFORM_PATH)/misc/freelist.o
+
+# in marte i have to repeat this for the moment
+LDFLAGS += -L$(FRSH_PATH)/lib -lfrsh -L$(FSA_PATH)/lib -lfsa_$(SA_VERSION)   \
+           -L$(FOSA_PATH)/lib -lfosa_$(PLATFORM) -L$(UTILS_PATH)/lib -lutils \
+           -L$(FNA_PATH)/lib -lfna -lm
+endif
+
+ifeq ($(CONFIG_FNA_RTEP),y)
+LDFLAGS += -L$(PLATFORM_PATH)/arch/drivers/rt-ep -lrtep
+endif
index c80c2019fd531c4adb4eab90245bb54c4e68ff6e..3f79a0aef0175c77c85c94dec8c48f5c73be6e1f 100644 (file)
 
 #include "fna.h"
 
-// These are defined in Make configuration file
-// #define FRESCAN_FNA_ENABLED
-// #define RTEP_FNA_ENABLED
-// #define UNIX_FNA_ENABLED
-
 /** Maximum number of networks in the system (each network will have a
  *  different resource_id)
  **/
index 8261552020c62e2a017fae6046d084a52f78571b..7bafc76f5d6d6057b20194ba481ef6e51041e6b1 100644 (file)
--- a/rules.mk
+++ b/rules.mk
@@ -3,7 +3,7 @@
 none:
        @exec echo -e "\nPlease introduce a target, i.e: 'make test_dtm_xxx.exe'";
 
-%.exe: %.c libfna libfosa libfrsh libfosa libfsa libutils
+%.exe: %.c libfna libfosa libfrsh libfosa libfsa libutils dependencies
        @exec echo -e "\n>> Building $@: ";
        @if [ -f $< ]; \
        then \
@@ -13,18 +13,29 @@ none:
 
 libfna:
        @exec echo -e "\n>> Compiling FNA library (lib/libfna.a):";
+       @rm -f $(FNA_PATH)/lib/*.o
        @make -C $(FNA_PATH)/src all
-ifeq ($(RTEP_ENABLE),RTEP_FNA_ENABLED)
-               @make -C $(FNA_PATH)/src_rtep librtepfna.a
+       @mv $(FNA_PATH)/src/*.o $(FNA_PATH)/lib/
+
+ifeq ($(CONFIG_FNA_RTEP),y)
+       @make -C $(FNA_PATH)/src_rtep librtepfna.a
+endif
+
+ifeq ($(CONFIG_FNA_UNIX),y)
+       @make -C $(FNA_PATH)/src_unix libunixfna.a
 endif
-ifeq ($(UNIX_ENABLE),UNIX_FNA_ENABLED)
-               @make -C $(FNA_PATH)/src_unix libunixfna.a
+
+ifeq ($(CONFIG_FNA_FRESCAN),y)
+       @make -C $(FNA_PATH)/src_frescan libfrescan
 endif
-ifeq ($(FRESCAN_ENABLE),FRESCAN_FNA_ENABLED)
-               @make -C $(FNA_PATH)/src_frescan libfrescan
+
+ifeq ($(CONFIG_FWP),y)
+       @make -C $(FNA_PATH)/src_fwp libfwp
 endif
-       @ar -rc libfna.a $(FNA_PATH)/src/*.o $(FNA_PATH)/lib/*.o
+
+       @ar -rc libfna.a $(FNA_PATH)/lib/*.o
        @mv libfna.a $(FNA_PATH)/lib/
+       @rm -f $(FNA_PATH)/lib/*.o
        @exec echo ">> End Compiling FNA library (lib/libfna.a)"
 
 libfrsh:
@@ -39,8 +50,13 @@ libutils:
 libfsa:
        make -C $(FSA_PATH) libfsa
 
+dependencies:
+ifeq ($(PLATFORM),MARTE_OS)
+       make -C $(PLATFORM_PATH)/misc/ all
+endif
+
 clean:
        @exec echo -e "\n>> Cleaning... ";
        @find \( -name '*.[oa]' -or -name '*~*' -or -name 'lib*.a' \
                -or -name '*.exe' -or -name 'mprogram' -or -name 'a.out' \) -print -delete
-       @exec echo ">> End Cleaning"
\ No newline at end of file
+       @exec echo ">> End Cleaning"
index 40b80712762946677bac3ce03c9ebed5cb8b4d06..ed323174eb07890d6d332d094358c4fc597f4960 100644 (file)
 #endif
 
 fna_operations_t  *fna_operations[FNA_MAX_NETWORKS] = {
-#ifdef FRESCAN_FNA_ENABLED
-        &frescan_fna_operations,
-#else 
-       NULL,
-#endif
 #ifdef RTEP_FNA_ENABLED
         &rtep_fna_operations,
+#else
+        NULL,
+#endif
+#ifdef FRESCAN_FNA_ENABLED
+        &frescan_fna_operations,
 #else
        NULL,
 #endif