Browse Source

makefile: Track header dependancies in order to rebuild correct objects.

Georgi Chorbadzhiyski 12 years ago
parent
commit
33facd71c9
2 changed files with 11 additions and 4 deletions
  1. 1
    0
      .gitignore
  2. 10
    4
      Makefile

+ 1
- 0
.gitignore View File

@@ -1,2 +1,3 @@
1 1
 *.o
2
+*.d
2 3
 tsdecrypt

+ 10
- 4
Makefile View File

@@ -1,5 +1,6 @@
1 1
 CC = $(CROSS)$(TARGET)gcc
2 2
 STRIP = $(CROSS)$(TARGET)strip
3
+MKDEP = $(CROSS)$(TARGET)gcc -M -o $*.d $<
3 4
 
4 5
 BUILD_ID = $(shell date +%F_%R)
5 6
 VERSION = $(shell cat RELEASE)
@@ -8,7 +9,8 @@ ifeq "$(GIT_VER)" ""
8 9
 GIT_VER = "release"
9 10
 endif
10 11
 
11
-CFLAGS  = -ggdb -Wall -Wextra -Wshadow -Wformat-security -Wno-strict-aliasing -O2 -D_GNU_SOURCE
12
+CFLAGS  = -O2 -ggdb
13
+CFLAGS += -Wall -Wextra -Wshadow -Wformat-security
12 14
 CFLAGS += -DBUILD_ID=\"$(BUILD_ID)\" -DVERSION=\"$(VERSION)\" -DGIT_VER=\"$(GIT_VER)\"
13 15
 
14 16
 RM = /bin/rm -f
@@ -28,10 +30,11 @@ FUNCS_LIB = $(FUNCS_DIR)/libfuncs.a
28 30
 TS_DIR = libtsfuncs
29 31
 TS_LIB = $(TS_DIR)/libtsfuncs.a
30 32
 
31
-tsdecrypt_OBJS = data.o udp.o util.o camd.o process.o tables.o tsdecrypt.o $(FUNCS_LIB) $(TS_LIB)
33
+tsdecrypt_SRC  = data.c udp.c util.c camd.c process.c tables.c tsdecrypt.c
32 34
 tsdecrypt_LIBS = -lcrypto -ldvbcsa -lpthread
35
+tsdecrypt_OBJS = $(tsdecrypt_SRC:.c=.o) $(FUNCS_LIB) $(TS_LIB)
33 36
 
34
-CLEAN_OBJS = tsdecrypt $(tsdecrypt_OBJS) *~
37
+CLEAN_OBJS = tsdecrypt $(tsdecrypt_SRC:.c=.{o,d})
35 38
 
36 39
 PROGS = tsdecrypt
37 40
 
@@ -51,10 +54,13 @@ tsdecrypt: $(tsdecrypt_OBJS)
51 54
 	$(Q)echo "  LINK	tsdecrypt"
52 55
 	$(Q)$(CC) $(CFLAGS) $(tsdecrypt_OBJS) $(tsdecrypt_LIBS) -o tsdecrypt
53 56
 
54
-%.o: %.c RELEASE data.h
57
+%.o: %.c RELEASE
58
+	@$(MKDEP)
55 59
 	$(Q)echo "  CC	tsdecrypt	$<"
56 60
 	$(Q)$(CC) $(CFLAGS)  -c $<
57 61
 
62
+-include $(tsdecrypt_SRC:.c=.d)
63
+
58 64
 strip:
59 65
 	$(Q)echo "  STRIP	$(PROGS)"
60 66
 	$(Q)$(STRIP) $(PROGS)

Loading…
Cancel
Save