]> rtime.felk.cvut.cz Git - frescor/fosa.git/blobdiff - rules.mk
Changed test_fosa_non_local_jump.c to improve displayed messages
[frescor/fosa.git] / rules.mk
index a3a7b955b7f5b4ae83fb60eb6932a082596a8988..8e22efe384c3a7498a09221962fc5b34fc2ab113 100644 (file)
--- a/rules.mk
+++ b/rules.mk
@@ -6,15 +6,13 @@ else
        LD = ld
 endif
 
+LOWCASE_PLATFORM := $(shell echo $(PLATFORM) | tr "A-Z" "a-z")
 
 CFLAGS += -D$(PLATFORM) \
-        -I$(FOSA_PATH)/include \
-        -I$(UTILS_PATH)/include
-
-ifeq ($(PLATFORM), MARTE_OS)
-       CFLAGS += -I$(FOSA_PATH)/marte_non_local_jump
-endif
+        -I$(FOSA_PATH)/include -fno-strict-aliasing
 
+# This prevents mgcc from removing the debug information (stripping)
+LDFLAGS += -g
 
 none:
        @exec echo -e "\nPlease introduce a target, i.e: 'make test'";
@@ -28,24 +26,32 @@ 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):";
-       @make -C $(FOSA_PATH)/src_marte all # Should be src_$(PLATFORM)
-       ar -rc libfosa_$(PLATFORM).a $(FOSA_PATH)/src_marte/*.o
+       @make -C $(FOSA_PATH)/src_$(LOWCASE_PLATFORM) all # Should be src_$(PLATFORM)
+       ar -rc libfosa_$(PLATFORM).a $(FOSA_PATH)/src_$(LOWCASE_PLATFORM)/*.o
        @mv libfosa_$(PLATFORM).a $(FOSA_PATH)/lib/
        @exec echo ">> [OK]"
 
-
-$(FOSA_PATH)/marte_non_local_jump/non_local_jump.o:
-       make -C $(FOSA_PATH)/marte_non_local_jump
-
+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]"