]> rtime.felk.cvut.cz Git - frescor/fosa.git/blob - rules.mk
Migrating FOSA trunk to d-ac2v2. Phase 1 moving FRSH-FOSA to FOSA
[frescor/fosa.git] / rules.mk
1 ifeq ($(PLATFORM), MARTE_OS)
2         CC = mgcc
3         LD = mld
4 else
5         CC = gcc
6         LD = ld
7 endif
8
9
10 CFLAGS += -D$(PLATFORM) \
11         -I$(FOSA_PATH)/include \
12         -I$(UTILS_PATH)/include
13
14 ifeq ($(PLATFORM), MARTE_OS)
15         CFLAGS += -I$(FOSA_PATH)/marte_non_local_jump
16 endif
17
18
19 none:
20         @exec echo -e "\nPlease introduce a target, i.e: 'make test'";
21
22 %.exe: %.c $(FOSA_PATH)/lib/libfosa_$(PLATFORM).a
23         @exec echo -e "\n>> Building $@: ";
24         $(CC) -c $(CFLAGS) $< 
25         $(CC) $(LDFLAGS)  -L$(FOSA_PATH)/lib $(patsubst %.c,%.o,$<) -lfosa_$(PLATFORM) -lm -o $@
26         @exec echo ">> [OK]";
27
28 %.o: %.c $(LIBFOSA_SRCS) $(LIBFOSA_HDRS)
29         $(CC) $(CFLAGS) -c $<
30
31 libfosa: $(FOSA_PATH)/lib/libfosa_$(PLATFORM).a
32
33 $(FOSA_PATH)/lib/libfosa_$(PLATFORM).a:
34         @exec echo -e "\n>> Compiling FOSA library (lib/libfosa_$(PLATFORM).a):";
35         @make -C $(FOSA_PATH)/src_marte all # Should be src_$(PLATFORM)
36         ar -rc libfosa_$(PLATFORM).a $(FOSA_PATH)/src_marte/*.o
37         @mv libfosa_$(PLATFORM).a $(FOSA_PATH)/lib/
38         @exec echo ">> [OK]"
39
40
41 $(FOSA_PATH)/marte_non_local_jump/non_local_jump.o:
42         make -C $(FOSA_PATH)/marte_non_local_jump
43
44
45 clean:
46         @exec echo -e "\n>> Cleaning... ";
47         @find \( -name '*.[oa]' -or -name '*~*' -or -name 'libfosa.a' \
48         -or -name '*.ali' -or -name 'b~*' \
49         -or -name '*.exe' -or -name 'mprogram' -or -name 'a.out' \) -print -delete
50         @exec echo ">> [OK]"
51
52 .PHONY: none libfosa clean all