@@ -15,16 +15,17 @@ DEPFLAGS = -MT $@ -MMD -MP -MF $(@:.o=.d)
15
15
srcdir = @srcdir@
16
16
VPATH = @srcdir@
17
17
18
- SOURCES = src/zone.c src/fallback/parser.c
19
-
20
- OBJECTS = $(SOURCES:.c=.o )
21
- NO_OBJECTS =
22
-
23
18
WESTMERE_SOURCES = src/westmere/parser.c
24
- WESTMERE_OBJECTS = $(WESTMERE_SOURCES :.c=.o )
19
+ WESTMERE_OBJECTS = $($( WESTMERE ) _SOURCES :.c=.o)
25
20
26
21
HASWELL_SOURCES = src/haswell/parser.c
27
- HASWELL_OBJECTS = $(HASWELL_SOURCES:.c=.o )
22
+ HASWELL_OBJECTS = $($(HASWELL ) _SOURCES:.c=.o)
23
+
24
+ SOURCES = src/zone.c src/fallback/parser.c
25
+ OBJECTS = $(SOURCES:.c=.o ) \
26
+ $($(WESTMERE ) _SOURCES:.c=.o) \
27
+ $($(HASWELL ) _SOURCES:.c=.o)
28
+ DEPENDS = $(OBJECTS:.o=.d )
28
29
29
30
EXPORT_HEADER = include/zone/export.h
30
31
@@ -33,39 +34,35 @@ EXPORT_HEADER = include/zone/export.h
33
34
all : libzone.a
34
35
35
36
clean :
37
+ @rm -f .depend
36
38
@rm -f libzone.a
37
- @rm -f $(OBJECTS ) $(OBJECTS:.o=.d )
38
- @rm -f $(WESTMERE_OBJECTS ) $(WESTMERE_OBJECTS:.o=.d )
39
- @rm -f $(HASWELL_OBJECTS ) $(HASWELL_OBJECTS:.o=.d )
39
+ @rm -f $(OBJECTS ) $(WESTMERE_OBJECTS ) $(HASWELL_OBJECTS )
40
40
41
41
distclean : clean
42
42
@rm -f Makefile config.h config.log config.status
43
43
44
44
realclean : distclean
45
45
@rm -rf autom4te*
46
46
47
- libzone.a : $(EXPORT_HEADER ) $(OBJECTS ) $($(WESTMERE ) _OBJECTS) $($(HASWELL ) _OBJECTS)
48
- $(AR ) rcs libzone.a $(OBJECTS ) $($(WESTMERE ) _OBJECTS) $($(HASWELL ) _OBJECTS)
49
-
47
+ libzone.a : $(OBJECTS )
48
+ $(AR ) rcs libzone.a $(OBJECTS )
50
49
51
50
$(EXPORT_HEADER ) :
52
51
@mkdir -p include/zone
53
52
@echo " #define ZONE_EXPORT" > include/zone/export.h
54
53
55
- $(OBJECTS ) : $(SOURCES ) $(SOURCES:.c=.d )
56
- @mkdir -p src/fallback
57
- $(CC ) $(DEPFLAGS ) $(CPPFLAGS ) $(CFLAGS ) -o $@ -c $(srcdir ) /$(@:.o=.c )
54
+ $(WESTMERE_OBJECTS ) : CFLAGS += -march=westmere
55
+ $(HASWELL_OBJECTS ) : CFLAGS += -march=haswell
58
56
59
- $(WESTMERE_OBJECTS ) : $(WESTMERE_SOURCES ) $(WESTMERE_SOURCES:.c=.d )
60
- @mkdir -p src/westmere
61
- $(CC ) $(DEPFLAGS ) $(CPPFLAGS ) $(CFLAGS ) -march=westmere -o $@ -c $(srcdir ) /$(@:.o=.c )
57
+ $(OBJECTS ) : .depend
58
+ @mkdir -p src/fallback src/westmere src/haswell
59
+ $(CC ) $(DEPFLAGS ) $(CPPFLAGS ) $(CFLAGS ) -o $@ -c $(srcdir ) /$(@:.o=.c )
60
+ @touch $@
62
61
63
- $( HASWELL_OBJECTS ) : $( HASWELL_SOURCES ) $( HASWELL_SOURCES:.c=.d )
64
- @mkdir -p src/haswell
65
- $( CC ) $( DEPFLAGS ) $( CPPFLAGS ) $(CFLAGS ) -march=haswell -o $@ -c $( srcdir ) / $( @:.o=.c )
62
+ .depend :
63
+ @echo -n > $@
64
+ @for x in $(OBJECTS:.o= ) ; do echo $$ {x}.o: ${ srcdir} / $$ {x}.c $$ {x}.d >> $@ ; done
66
65
67
- DEPENDS := $(SOURCES:.c=.d ) \
68
- $($(WESTMERE ) _SOURCES:.c=.d) \
69
- $($(HASWELL ) _SOURCES:.c=.d)
66
+ -include .depend
70
67
$(DEPENDS ) :
71
- -include $(wildcard $( DEPENDS ) )
68
+ -include $(DEPENDS )
0 commit comments