]> rtime.felk.cvut.cz Git - frescor/fosa.git/blobdiff - src_partikle/Makefile
FOSA-PaRTiKle implementation
[frescor/fosa.git] / src_partikle / Makefile
index 49aa97f34456bc8529ce5d0089c04d8526080af3..09db518a3ea1c1f15f847c5edf42970beb8de09e 100644 (file)
@@ -1,30 +1,41 @@
-SOURCES = $(wildcard *.c)
-NAMES = $(basename $(SOURCES))
-OBJS = $(addsuffix .o,$(NAMES))
+FOSA_MODULES=fosa_clocks_and_timers fosa_threads_and_signals fosa_app_def_sched fosa_mutexes_and_condvars fosa_misc
+FOSA_OBJS = $(addsuffix .o,$(FOSA_MODULES))
 
 FOSA_INC=../include
-FRSH_INC=../../../frsh/trunk/include
-PRTK_INC=../../../partikle/user/ulibc/include
 
-# Hack to avoid missing rtl_timer.h compilation issue
-RTL_TIMER_INC=.
+PRTK=$(HOME)/FRESCOR/FRSHv2/partikle/trunk
+PRTK_INC=$(PRTK)/user/ulibc/include
 
-CFLAGS+=-I$(FOSA_INC) -I$(FRSH_INC) -DRT_LINUX -I$(PRTK_INC) -I$(RTL_TIMER_INC)
 
-LIBFOSA=libfosa_PARTIKLE.a
+check_gcc = $(shell \
+        if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ;\
+        then \
+                echo "$(1)";\
+        else \
+                echo "$(2)";\
+        fi)
+
+CFLAGS+=-I$(FOSA_INC)\
+       -DPARTIKLE\
+       -I$(PRTK_INC)\
+#      -DCONFIG_URGENCY\
 
+CFLAGS += $(call check_gcc, -fno-stack-protector,)
 
+LIBFOSA=libfosa_PARTIKLE.a
+CC=gcc
 
-all: libfosa.a
+all: $(LIBFOSA)
 
-libfosa.a: $(OBJS)
-       $(AR) -r $(LIBFOSA) $(OBJS)
+$(LIBFOSA): $(FOSA_OBJS)
+       $(AR) -r $(LIBFOSA) $(FOSA_OBJS)
        cp $(LIBFOSA) ../lib
 
-# test_fosa_c.o: test_fosa.o
-#      ld -r -o test_fosa_c.o test_fosa.o $(LIBFOSA)
+test_fosa.prtk: test_fosa.c $(LIBFOSA)
+       $(CC) -c test_fosa.c $(CFLAGS)
+       ldkernel -o test_fosa.prtk test_fosa.o $(LIBFOSA)
 
 # test_fosa.o: test_fosa.c
 
 clean:
-       $(RM) -f *.o *~ *.a
+       $(RM) -f *.o *~ *.a *.prtk