LD = ld
endif
+LOWCASE_PLATFORM := $(shell echo $(PLATFORM) | tr "A-Z" "a-z")
+
+CFLAGS += -D$(PLATFORM) \
+ -I$(FOSA_PATH)/include -fno-strict-aliasing
+
+# This prevents mgcc from removing the debug information (stripping)
+LDFLAGS += -g
+
+ifeq ($(PLATFORM), MARTE_OS)
+ CFLAGS += -I$(FOSA_PATH)/marte_non_local_jump
+endif
+
none:
@exec echo -e "\nPlease introduce a target, i.e: 'make test'";
%.exe: %.c $(FOSA_PATH)/lib/libfosa_$(PLATFORM).a
@exec echo -e "\n>> Building $@: ";
$(CC) -c $(CFLAGS) $<
- $(CC) -L$(FOSA_PATH)/lib $(patsubst %.c,%.o,$<) -lfosa_$(PLATFORM) -lm -o $@
+ $(CC) $(LDFLAGS) -L$(FOSA_PATH)/lib $(patsubst %.c,%.o,$<) -lfosa_$(PLATFORM) -lm -o $@
@exec echo ">> [OK]";
%.o: %.c $(LIBFOSA_SRCS) $(LIBFOSA_HDRS)
$(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]"