summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Hopf <mhopf@suse.de>2007-10-01 18:19:26 +0200
committerMatthias Hopf <mhopf@suse.de>2007-10-01 18:19:26 +0200
commit6cb3b9fbcb39aca139e0f5b1fca8a32b8148546e (patch)
tree609e9a9b4a01c632dc0e56afad3109d86e550453
parent1d59f15d11f2cbf73f8a200f2252d2b82a49ca21 (diff)
Improved dependency handling.
-rw-r--r--Makefile44
1 files changed, 33 insertions, 11 deletions
diff --git a/Makefile b/Makefile
index 6deddf0..67c8ab3 100644
--- a/Makefile
+++ b/Makefile
@@ -1,12 +1,28 @@
CFLAGS = -O0 -g3 -Wall
+SRC = main.c datastructs.c indices.c
+CC = gcc
+
all: atomdis
-atomdis: main.o datastructs.o indices.o
+atomdis: $(SRC:.c=.o)
$(CC) -o atomdis $^
+
+# Autogenerated files
+
+atombios.h:
+ test -r ../ATI/atombios.h
+ ln -s ../ATI/atombios.h .
+
+datastructs_gen.c: atombios.h datastructs_factory.pl
+ cpp atombios.h | perl ./datastructs_factory.pl > datastructs_gen.c
+
+
+# Clean
+
clean: _always_
- -rm -f *.o
+ -rm -f *.o *.d
-rm -f atombios.h datastructs_gen.c
distclean: clean
@@ -14,19 +30,25 @@ distclean: clean
-rm -f atomdis
-atombios.h:
- test -r ../ATI/atombios.h
- ln -s ../ATI/atombios.h .
+# Depend
-datastructs_gen.c: atombios.h datastructs_factory.pl
- cpp atombios.h | perl ./datastructs_factory.pl > datastructs_gen.c
+depend: _always_
+ -rm -f *.d
+ make dependfiles
-_always_:
- @true
+dependfiles: $(SRC:.c=.d)
+$(SRC:.c=.d): datastructs_gen.c
+ gcc -MM -MF $@ $(@:.d=.c)
+
+-include $(SRC:.c=.d)
+
+
+# Special Flags + Dependencies
-main.o: atombios.h
datastructs.o: CFLAGS += -Wno-unused
-datastructs.o: atombios.h datastructs_gen.c
+
+_always_:
+ @true
#EOF