]> rtime.felk.cvut.cz Git - frescor/fosa.git/commitdiff
Finished API phase II transition and fixed make system for AQuoSA.
authorfaggioli <faggioli@35b4ef3e-fd22-0410-ab77-dab3279adceb>
Tue, 27 Jan 2009 18:19:52 +0000 (18:19 +0000)
committerfaggioli <faggioli@35b4ef3e-fd22-0410-ab77-dab3279adceb>
Tue, 27 Jan 2009 18:19:52 +0000 (18:19 +0000)
git-svn-id: http://www.frescor.org/private/svn/frescor/fosa/trunk@1497 35b4ef3e-fd22-0410-ab77-dab3279adceb

include/fosa_opaque_types.h
rules.mk
src_aquosa/Makefile
src_aquosa/Makefile.omk

index ac140804b68fe18c11cf3097f691af8ebd58b213..f5420dbd57cac1ef83a163bc08faf62b59092b4c 100644 (file)
@@ -264,13 +264,13 @@ typedef int FOSA_THREAD_SET_ID_T_OPAQUE
 #include <pthread.h>
 
 #include <signal.h>
+#include <setjmp.h>
 #include <errno.h>
 #include <time.h>
 
-/* 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
 
index 3b1783d62206192b3ac53c1d8162297acd922438..8e22efe384c3a7498a09221962fc5b34fc2ab113 100644 (file)
--- 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]"
 
index 8115b607a90321828c360dc32f00fb57fbb3de85..c01118c1f8171936f328548c81078e272b4fb34d 100644 (file)
@@ -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 $<
index ea8d433bef385d70c2bf0290c624cfad98b1d275..85afc6f5777a83ef7fd325905532fb289c07d0e2 100644 (file)
@@ -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))