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