--- /dev/null
+.PHONY: clean all
+MARTE_PATH=$(HOME)/marte
+CC=mgcc
+CFLAGS= -DMARTE_OS -g -Wall -I../include -I../../frsh/include -L../lib
+OBJS=$(patsubst %.c,%.o,$(wildcard *.c))
+FOSA_HEADERS=$(wildcard ../include/*.h)
+FRSH_FOSA_HEADERS=$(wildcard ../../frsh/include/frsh_fosa*.h)
+
+all: libfosa
+
+libfosa: $(OBJS) $(FOSA_HEADERS) $(FRSH_FOSA_HEADERS)
+ @exec echo -en "\n>> Generating libfosa.a: ";
+ @$(AR) -rc ../lib/libfosa.a $(OBJS)
+ @exec echo " [OK]"
+
+%.o: %.c
+ @exec echo -en "\n>> Compiling $<: ";
+ @$(CC) -c $(CFLAGS) $< 1> /dev/null
+ @exec echo -n " [OK]"
+
+test_fosa: libfosa
+ @exec echo -en "\n>> Compiling and Linking test_fosa.c: ";
+ @$(CC) $(CFLAGS) -lfosa test_fosa.c 1> /dev/null
+ @exec echo " [OK]"
+
+test_fosa_ads: libfosa $(MARTE_PATH)/misc/load.o
+ @exec echo -en "\n>> Compiling and Linking test_fosa_ads.c: ";
+ @$(CC) $(CFLAGS) -lfosa test_fosa_ads.c $(MARTE_PATH)/misc/load.o 1> /dev/null
+ @exec echo " [OK]"
+
+$(MARTE_PATH)/misc/load.o: $(MARTE_PATH)/misc/load.c
+ @mgcc $(CFLAGS) -c -o $(MARTE_PATH)/misc/load.o $(MARTE_PATH)/misc/load.c 1> /dev/null
+
+clean:
+ @exec echo -e "\n>> Cleaning up FOSA: ";
+ @find \( -name '*.[oa]' -or -name '*~*' -or -name 'mprogram*' \) -print -delete
+ @rm -f ../lib/libfosa.a
+ @exec echo " [OK]"