From: sangorrin Date: Thu, 6 Nov 2008 16:18:09 +0000 (+0000) Subject: improve the configuration with the ideas from CTU (config flags...) X-Git-Url: https://rtime.felk.cvut.cz/gitweb/frescor/fna.git/commitdiff_plain/a08c84b277561cc4cab8693511c901197ccd4fea improve the configuration with the ideas from CTU (config flags...) git-svn-id: http://www.frescor.org/private/svn/frescor/fna/trunk@1371 35b4ef3e-fd22-0410-ab77-dab3279adceb --- diff --git a/config.mk_example b/config.mk_example index 44a67d0..1ae12cd 100644 --- a/config.mk_example +++ b/config.mk_example @@ -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 diff --git a/include/fna_configuration.h b/include/fna_configuration.h index c80c201..3f79a0a 100644 --- a/include/fna_configuration.h +++ b/include/fna_configuration.h @@ -68,11 +68,6 @@ #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) **/ diff --git a/rules.mk b/rules.mk index 8261552..7bafc76 100644 --- 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" diff --git a/src/fna_configuration.c b/src/fna_configuration.c index 40b8071..ed32317 100644 --- a/src/fna_configuration.c +++ b/src/fna_configuration.c @@ -88,13 +88,13 @@ #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