Bonjour,

actuellement j'ai un ensemble de fonction que j'utilise quotidiennement.
C'est fonction etant chacune dans un fichier.c j'ai cree, sous FreeBSD une library.a.

Aujourd'hui je suis face a la portabilite, j'aimerais donc savoir comment modifier mon Makefile actuel pour compiler cette library sur SunOS et linux

Voici mon Makefile:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
 
CC              =       gcc
 
AR_FreeBSD      =       ar -r
AR_solaris      =       /usr/ccs/bin/ar -r
AR_linux        =       ar -r
AR              =       $(AR_${OSTYPE})
 
RANLIB_FreeBSD  =       ranlib
RANLIB_solaris  =       /usr/ccs/bin/ranlib
RANLIB_linux    =       ranlib
RANLIB          =       $(RANLIB_${OSTYPE})
 
NAME_FreeBSD    =       libmy_`uname -m`-`uname -s`.a
NAME_solaris    =       libmy_`uname -m`-`uname -s`.a
NAME_linux      =       libmy_linux.a
 
DIR_INC         =       ./Headers/
 
RM              =       rm -f
MISC            =       *~ *.o \#*\#
 
SRC     =       get_next_line.c my_epurstr.c my_factorielle_rec.c       \
                my_find_prime_sup.c my_getnbr.c my_getnbr_base.c        \
                my_is_prime.c my_power_rec.c my_printf.c my_puterror.c  \
                my_putchar.c my_putnbr.c my_putnbr_base.c my_putstr.c   \
                my_revstr.c my_showmem.c my_sort_int_tab.c              \
                my_square_root.c my_str_to_wordtab.c my_strcat.c        \
                my_strcmp.c my_strcpy.c my_strdup.c my_strlcat.c        \
                my_strlen.c my_strncat.c my_strncmp.c my_strncpy.c      \
                my_strstr.c my_strxcpy.c my_swap.c my_use.c my_xmalloc.c\
                my_open.c my_aff_dtab.c my_perror.c
 
SRC2    =       my_epurstr.c my_factorielle_rec.c                       \
                my_find_prime_sup.c my_getnbr.c my_getnbr_base.c        \
                my_is_prime.c my_power_rec.c my_puterror.c              \
                my_putchar.c my_putnbr.c my_putnbr_base.c my_putstr.c   \
                my_revstr.c my_showmem.c my_sort_int_tab.c              \
                my_square_root.c my_str_to_wordtab.c my_strcat.c        \
                my_strcmp.c my_strcpy.c my_strdup.c my_strlcat.c        \
                my_strlen.c my_strncat.c my_strncmp.c my_strncpy.c      \
                my_strstr.c my_strxcpy.c my_swap.c my_xmalloc.c         \
                my_open.c my_aff_dtab.c my_perror.c
 
OBJ             =       $(SRC:.c=.o)
OBJ2            =       $(SRC2:.c=.o)
 
IFLAGS          =       -I$(DIR_INC)
CFLAGS          =       $(IFLAGS)
 
all:            $(NAME_${OSTYPE})
$(NAME_FreeBSD):        $(OBJ)
        @$(AR) $(NAME_${OSTYPE}) $(OBJ)
        @$(RANLIB) $(NAME_${OSTYPE})
 
$(NAME_solaris):
        @$(AR) $(NAME_${OSTYPE}) $(OBJ2)
        @$(RANLIB) $(NAME_${OSTYPE})
 
$(NAME_linux):
        @$(AR) $(NAME_${OSTYPE}) $(OBJ2)
        @$(RANLIB) $(NAME_${OSTYPE})
 
clean:
        @$(RM) $(MISC)
 
fclean:         clean
        @$(RM) $(NAME_${OSTYPE})
 
re : fclean $(NAME_${OSTYPE})
 
.PHONY: all $(NAME_${OSTYPE}) clean fclean re
Merci de vos commentaire.