Statistiques
| Révision :

root / pobysoC-4.0 / src / Makefile @ 130

Historique | Voir | Annoter | Télécharger (1,81 ko)

1
CC           = gcc
2
CFLAGS       = -Wall -g 
3
#CFLAGS       = -Wall -g -I /warehouse/storres/root/include
4
LDLIB        = -Wl, -lmpfr -lgmp -lm -lfplll -lsollya
5

    
6
OBJS         = pobyso.o
7
INCS         = pobyso.h 
8
SOURCES      = $(INCS) pobyso.c
9

    
10
TEST_DRIVER  = # CUnit test driver binary program
11
TEST_DIR     = test
12
TEST_SOURCES = $(TEST_DIR)/$(TEST_DRIVER).c \
13
               # Add the suites definition sources
14

    
15
ALL_TARGETS = test-pobyso-01
16

    
17
SCRATCH_PRG := $(patsubst %.c,%,$(wildcard *.c))
18
SCRATCH_ALL := $(SCRATCH_PRG)
19

    
20
LAST_ARCH_FILE = lastArch.txt
21

    
22
ARCH := $(shell uname -m)
23

    
24
DUMMY := $(shell touch $(LAST_ARCH_FILE))
25

    
26
LAST_ARCH := $(shell cat $(LAST_ARCH_FILE))
27

    
28
ifneq ($(LAST_ARCH), $(ARCH))
29
  DUMMY := $(shell echo $(ARCH) > $(LAST_ARCH_FILE))
30
  DUMMY := $(shell $(MAKE) clean) 
31
endif
32

    
33
ifeq (x86_64, $(ARCH))
34
  CFLAGS := -m64 $(CFLAGS)
35
  # LDLIB :=
36
endif
37

    
38
ifeq (ppc64, $(ARCH))
39
  CFLAGS := -m64 $(CFLAGS)
40
  # LDLIB :=
41
endif
42

    
43
ifeq (i686, $(ARCH))
44
  # CFLAGS := $(CFLAGS)
45
  # LDLIB :=
46
endif
47

    
48
# -------------------------------------------------------------------------
49

    
50
default: all
51
# Remove all implicit (suffix) rules. No need to remove pattern rules.
52
# Just redefine them.
53
.SUFFIXES:
54
# Keep the OBJS we want to link with user code.
55
.PRECIOUS: $(OBJS)
56

    
57
all: $(ALL_TARGETS)
58
test: $(TEST_DRIVER)
59

    
60
% : %.o $(OBJS)
61
	$(CC) $(CFLAGS) -o $@ $< $(OBJS) $(LDLIB)
62

    
63
%.o : %.c $(INCS)
64
	$(CC) $(CFLAGS) -c -o $@ $<
65

    
66
$(TEST_DRIVER) : 
67
	make -C test
68
	cp test/$(TEST_DRIVER) .
69
# -------------------------------------------------------------------------
70

    
71
.PHONY: clean scratch
72

    
73
clean:
74
	@rm -f $(ALL_TARGETS) $(TEST_DRIVER)
75
	@rm -f *.o a.out $(OBJS)
76
	@rm -f *~ *% #*#
77
	@make -C $(TEST_DIR) clean
78

    
79
scratch: clean
80
	rm -f $(SCRATCH_ALL)
81

    
82
# Change the documentation configuration and path accordingly.
83
documentation: pobyso.doxyconf $(SOURCES)
84
	doxygen pobyso.doxyconf