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
| NAME =
CC_FreeBSD = /usr/bin
CC_SunOS = /usr/sfw/bin
CC_Linux = /usr/bin
SRCDIR = src
OBJDIR = obj
LIBDIR = lib
INCDIR = include
BINDIR = bin
SRC = main.c \
is_opt.c \
my_ls.c
LIB = -lmy -lmy_printf_`uname -m`-`uname -s` -lmy_x
OBJ = $(SRC:.c=.o)
CC = $(CC_`uname`)/gcc
LDFLAGS += -L$(LIBDIR)/
CFLAGS += -arch `uname -m` -W -Wall -ansi -pedantic -g -ggdb -I$(INCDIR)/
MKDIR = mkdir
RM = rm -f
ECHO = echo -e
$(NAME) : $(OBJ)
@$(CC) $(CFLAGS) $(OBJDIR)/$(OBJ) -o $(BINDIR)/$(NAME) $(LDFLAGS) $(LIB)
@$(ECHO) '\033[0;32m> Compiled\033[0m'
clean :
-@$(RM) $(OBJDIR)/$(OBJ)
-@$(RM) *~
-@$(RM) \#*\#
@$(ECHO) '\033[0;35m> Directory cleaned\033[0m'
all : $(NAME)
fclean : clean
-@$(RM) $(NAME)
@$(ECHO) '\033[0;35m> Remove executable\033[0m'
re : fclean all
.PHONY : all clean re
.c.o :
-@$(MKDIR) $(OBJDIR)
$(CC) -o $(OBJDIR)/$@ -c $(SRCDIR)/$< $(CFLAGS) |
Partager