Browse Source

makefile: Add dependancy tracking.

Georgi Chorbadzhiyski 12 years ago
parent
commit
a068b9f6ba
2 changed files with 8 additions and 2 deletions
  1. 1
    0
      .gitignore
  2. 7
    2
      Makefile

+ 1
- 0
.gitignore View File

1
 *.o
1
 *.o
2
 *.a
2
 *.a
3
+*.d
3
 tstest
4
 tstest

+ 7
- 2
Makefile View File

1
 CC = $(CROSS)$(TARGET)gcc
1
 CC = $(CROSS)$(TARGET)gcc
2
 LINK = $(CROSS)$(TARGET)ld -o
2
 LINK = $(CROSS)$(TARGET)ld -o
3
+MKDEP = $(CROSS)$(TARGET)$(CC) -M -o $*.d $<
4
+
3
 LIBRARY_LINK_OPTS =  -L. -r
5
 LIBRARY_LINK_OPTS =  -L. -r
4
 CFLAGS = -O2 -ggdb -std=c99 -D_GNU_SOURCE
6
 CFLAGS = -O2 -ggdb -std=c99 -D_GNU_SOURCE
5
 CFLAGS += -Wall -Wextra -Wshadow -Wformat-security -Wstrict-prototypes
7
 CFLAGS += -Wall -Wextra -Wshadow -Wformat-security -Wstrict-prototypes
33
 	$(Q)$(CC) $(CFLAGS) $(tstest_OBJS) -o tstest
35
 	$(Q)$(CC) $(CFLAGS) $(tstest_OBJS) -o tstest
34
 
36
 
35
 %.o: %.c tsdata.h tsfuncs.h
37
 %.o: %.c tsdata.h tsfuncs.h
38
+	@$(MKDEP)
36
 	$(Q)echo "  CC	libtsfuncs	$<"
39
 	$(Q)echo "  CC	libtsfuncs	$<"
37
 	$(Q)$(CC) $(CFLAGS) -c $<
40
 	$(Q)$(CC) $(CFLAGS) -c $<
38
 
41
 
42
+-include $(OBJS:.o=.d)
43
+
39
 clean:
44
 clean:
40
-	$(Q)echo "  RM	$(PROG) $(OBJS)"
41
-	$(Q)$(RM) $(PROG) tstest *.o *~
45
+	$(Q)echo "  RM	$(PROG) $(OBJS:.o=.{o,d})"
46
+	$(Q)$(RM) $(PROG) tstest $(OBJS:.o=.{o,d}) *~
42
 
47
 
43
 distclean: clean
48
 distclean: clean

Loading…
Cancel
Save