From e21d8ea02a2c7bb65dce7a35c31044efcfe81a8b Mon Sep 17 00:00:00 2001 From: faggioli Date: Tue, 27 Jan 2009 18:19:52 +0000 Subject: [PATCH] Finished API phase II transition and fixed make system for AQuoSA. git-svn-id: http://www.frescor.org/private/svn/frescor/fosa/trunk@1497 35b4ef3e-fd22-0410-ab77-dab3279adceb --- include/fosa_opaque_types.h | 9 ++-- rules.mk | 12 +++++ src_aquosa/Makefile | 104 ++++-------------------------------- src_aquosa/Makefile.omk | 5 +- 4 files changed, 28 insertions(+), 102 deletions(-) diff --git a/include/fosa_opaque_types.h b/include/fosa_opaque_types.h index ac14080..f5420db 100644 --- a/include/fosa_opaque_types.h +++ b/include/fosa_opaque_types.h @@ -264,13 +264,13 @@ typedef int FOSA_THREAD_SET_ID_T_OPAQUE #include #include +#include #include #include -/* Time */ -/********/ -// typedef struct timespec fosa_rel_time_t; -// typedef struct timespec fosa_abs_time_t; +/* Local Jump */ +/**************/ +typedef sigjmp_buf FOSA_LONG_JUMP_CONTEXT_T_OPAQUE; /* Threads and signals */ @@ -317,7 +317,6 @@ typedef pthread_mutex_t FOSA_MUTEX_T_OPAQUE; /* hack to get AQuoSA sources compile without having none * of the application level scheduler header files and symbols */ #define posix_appsched_actions_t int -#define FOSA_LONG_JUMP_CONTEXT_T_OPAQUE int #define FOSA_ADS_ACTIONS_T_OPAQUE posix_appsched_actions_t diff --git a/rules.mk b/rules.mk index 3b1783d..8e22efe 100644 --- a/rules.mk +++ b/rules.mk @@ -26,7 +26,11 @@ none: %.o: %.c $(LIBFOSA_SRCS) $(LIBFOSA_HDRS) $(CC) $(CFLAGS) -c $< +ifeq ($(PLATFORM), AQuoSA) +libfosa: $(FOSA_PATH)/lib/libfosa_$(PLATFORM).a $(FOSA_PATH)/lib/libfosa_$(PLATFORM).so +else libfosa: $(FOSA_PATH)/lib/libfosa_$(PLATFORM).a +endif $(FOSA_PATH)/lib/libfosa_$(PLATFORM).a: @exec echo -e "\n>> Compiling FOSA library (lib/libfosa_$(PLATFORM).a):"; @@ -35,11 +39,19 @@ $(FOSA_PATH)/lib/libfosa_$(PLATFORM).a: @mv libfosa_$(PLATFORM).a $(FOSA_PATH)/lib/ @exec echo ">> [OK]" +ifeq ($(PLATFORM), AQuoSA) +$(FOSA_PATH)/lib/libfosa_$(PLATFORM).so: + @exec echo -e "\n>> Compiling FOSA library (lib/libfosa_$(PLATFORM).so):"; + @make -C $(FOSA_PATH)/src_$(LOWCASE_PLATFORM) all # Should be src_$(PLATFORM) + $(CC) -shared -o $@ $(FOSA_PATH)/src_$(LOWCASE_PLATFORM)/*.o + @exec echo ">> [OK]" +endif clean: @exec echo -e "\n>> Cleaning... "; @find \( -name '*.[oa]' -or -name '*~*' -or -name 'libfosa.a' \ -or -name '*.ali' -or -name 'b~*' \ + -or -name '*.so' \ -or -name '*.exe' -or -name 'mprogram' -or -name 'a.out' \) -print -delete @exec echo ">> [OK]" diff --git a/src_aquosa/Makefile b/src_aquosa/Makefile index 8115b60..c01118c 100644 --- a/src_aquosa/Makefile +++ b/src_aquosa/Makefile @@ -1,98 +1,16 @@ -## -## Makefile for FSF/FRSH C library -## by Miguel Telleria de Esteban -## Univ. de Cantabria -## telleriam@unican.es -## by Dario Faggioli -## Scuola Superiore S. Anna, Pisa -# faggioli@gandalf.sssup.it -## -## -------------------------------------------- +all: objs +include ../config.mk +include ../rules.mk -# Here we define FRSHPATH, IPATH, OBJOPT, LPATH, EXTRALIBS, CFLAGS, LDFLAGS +CFLAGS += -fPIC -I$(FOSA_PATH)/src_aquosa -include ../../frsh/frsh_rules.mk +SRCS := $(wildcard *.c) +OBJS := $(patsubst %.c,%.o,$(wildcard *.c)) +LIBFOSA_SRCS := $(wildcard *.c) +LIBFOSA_HDRS := $(wildcard $(FOSA_PATH)/include/*.h) $(wildcard *.h) -PLATFORM=AQuoSA - -# Add AQuoSA needed stuff for the code to compile successfully - -# this should be parametric !! -AQUOSA_DIR = /usr/local/aquosa - -IPATH += -I$(AQUOSA_DIR)/include/aquosa -I$(AQUOSA_DIR)/include -LPATH += -L$(AQUOSA_DIR)/lib -EXTRALIBS += -lqreslib -lqsuplib - -# this two should go into frsh_rules.mk !! -EXTRALIBS += -lpthread -OBJOPT += -fPIC -# this should be parametric -#OBJOPT += -DFRSH_CONFIG_ENABLE_DEBUG -DFRSH_CONFIG_ENABLE_DEBUG_ASSERTS \ - -DFRSH_CONFIG_ENABLE_SERVICE_TH_MULTITHREAD \ - -DFRSH_CONFIG_SERVICE_TH_LOCAL_MACHINE \ - -DFRSH_CONFIG_ENABLE_SERVICE_TH_SAFETY_CHECK - -# List of files # -################# - -STATIC_NAME = libfosa_qres.a -SHARED_NAME = libfosa_qres.so - -SRC = fosa_clocks_and_timers.c fosa_long_jump.c fosa_threads_and_signals.c fosa_mutexes_and_condvars.c fosa_time.c fosa_platform_values.c fosa_app_def_sched.c fosa_group_clocks.c - -PUBLIC_H_FOSA = fosa_app_def_sched.h fosa.h fosa_opaque_types.h fosa_clocks_and_timers.h \ - fosa_configuration_parameters.h fosa_mutexes_and_condvars.h fosa_threads_and_signals.h \ - fosa_types.h fosa_group_clocks.h - -PUBLIC_H_FRSH_FOSA = - -OBJS = $(SRC:.c=.o) - -PUBLIC_H_LOCATIONS = $(addprefix $(FOSAPATH)/include/, $(PUBLIC_H_FOSA) ) $(addprefix $(FRSHPATH)/include, $(PUBLIC_H_FRSH_FOSA) ) - -# Library and linking rules # -############################## - -all: ../lib/$(STATIC_NAME) ../lib/$(SHARED_NAME) - -../lib/$(STATIC_NAME): $(OBJS) - @exec echo -n "=> Generating libfosa_qres.a: "; - @$(AR) -rc $@ $(OBJS) -# $(RANLIB) $@ - @exec echo " [OK]" - -../lib/$(SHARED_NAME): $(OBJS) - @exec echo -n "=> Generating libfosa_qres.so: "; - @$(CC) -shared -o $@ $(OBJS) - @exec echo " [OK]" - - -# Compilation rule: For simplicity we make all sources # -# depend on all header files. # -# NB. $< represents the first prerequisite (in this case %.c) # -############################################################### - -%.o: %.c $(PUBLIC_H_FILE_LOCATIONS) $(PRIVATE_H) - @@exec echo -n "=> Compiling $<: "; - @$(CC) $(CFLAGS) -c $< - @exec echo " [OK]" - -# Clean up # -############ - -clean: lib-uninstall - @exec echo -n "=> Cleaning up FOSA: "; - -@rm -f $(OBJS) - @exec echo " [OK]" - -lib-uninstall: - @exec echo -n "=> Removing FOSA library files: "; - -@rm -f ../lib/$(STATIC_NAME) - -@rm -f ../lib/$(SHARED_NAME) - @exec echo " [OK]" - - -.PHONY: lib-uninstall clean +objs: $(OBJS) +%.o: %.c $(LIBFOSA_SRCS) $(LIBFOSA_HDRS) + $(CC) $(CFLAGS) -c $< diff --git a/src_aquosa/Makefile.omk b/src_aquosa/Makefile.omk index ea8d433..85afc6f 100644 --- a/src_aquosa/Makefile.omk +++ b/src_aquosa/Makefile.omk @@ -1,8 +1,5 @@ SUBDIRS = $(ALL_OMK_SUBDIRS) -default_CONFIG = CONFIG_NO_PRIO_INHERIT=n -LOCAL_CONFIG_H = fosa_config.h - -#lib_LIBRARIES=fosa +lib_LIBRARIES=fosa shared_LIBRARIES=fosa fosa_SOURCES=$(notdir $(wildcard $(SOURCES_DIR)/*.c)) -- 2.39.2