depedency files add to Makefile
This commit is contained in:
21
Makefile
21
Makefile
@@ -59,18 +59,33 @@ OBJ = $(SRC:.c=.o)
|
|||||||
|
|
||||||
BONUS_OBJ = $(BONUS_SRC:.c=.o)
|
BONUS_OBJ = $(BONUS_SRC:.c=.o)
|
||||||
|
|
||||||
|
DEP = $(SRC:.c=.d)
|
||||||
|
|
||||||
|
BONUS_DEP = $(BONUS_SRC:.c=.d)
|
||||||
|
|
||||||
|
ALL_SRC = $(SRC) $(BONUS_SRC)
|
||||||
|
|
||||||
|
ALL_OBJ = $(OBJ) $(BONUS_OBJ)
|
||||||
|
|
||||||
|
ALL_DEP = $(DEP) $(BONUS_DEP)
|
||||||
|
|
||||||
|
|
||||||
%.o: %.c
|
%.o: %.c
|
||||||
$(CC) -o $@ -c $< $(CFLAGS) -I$(HEADER)
|
$(CC) -o $@ -c $< $(CFLAGS) -I$(HEADER)
|
||||||
|
|
||||||
|
%.d: %.c
|
||||||
|
@set -e; rm -f $@; \
|
||||||
|
$(CC) -M $(CFLAGS) $< > $@.$$$$; \
|
||||||
|
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
|
||||||
|
rm -f $@.$$$$
|
||||||
|
|
||||||
$(NAME): $(OBJ) $(HEADER)
|
$(NAME): $(OBJ) $(DEP)
|
||||||
$(AR) $(ARFLAGS) $(NAME) $(OBJ)
|
$(AR) $(ARFLAGS) $(NAME) $(OBJ)
|
||||||
ranlib $(NAME)
|
ranlib $(NAME)
|
||||||
|
|
||||||
all: $(NAME)
|
all: $(NAME)
|
||||||
|
|
||||||
bonus: $(OBJ) $(BONUS_OBJ) $(HEADER)
|
bonus: $(ALL_OBJ) $(ALL_DEP)
|
||||||
$(AR) $(ARFLAGS) $(NAME) $(OBJ) $(BONUS_OBJ)
|
$(AR) $(ARFLAGS) $(NAME) $(OBJ) $(BONUS_OBJ)
|
||||||
ranlib $(NAME)
|
ranlib $(NAME)
|
||||||
|
|
||||||
@@ -82,4 +97,6 @@ fclean: clean
|
|||||||
|
|
||||||
re: fclean all
|
re: fclean all
|
||||||
|
|
||||||
|
-include $(ALL_DEP)
|
||||||
|
|
||||||
.PHONY: all clean fclean re bonus
|
.PHONY: all clean fclean re bonus
|
||||||
|
|||||||
Reference in New Issue
Block a user