@@ -9,22 +9,24 @@ WESTMERE = @HAVE_WESTMERE@
9
9
HASWELL = @HAVE_HASWELL@
10
10
11
11
CC = @CC@
12
- CPPFLAGS = @CPPFLAGS@ -I$(srcdir ) /include -I$(srcdir ) /src -I.
12
+ CPPFLAGS = @CPPFLAGS@ -I$(SOURCE ) /include -I$(SOURCE ) /src -I.
13
13
CFLAGS = @CFLAGS@
14
14
DEPFLAGS = -MT $@ -MMD -MP -MF $(@:.o=.d )
15
- srcdir = @srcdir@
16
15
VPATH = @srcdir@
17
16
18
- SOURCES = src/zone.c src/fallback/parser.c
19
-
20
- OBJECTS = $(SOURCES:.c=.o )
21
- NO_OBJECTS =
22
-
23
17
WESTMERE_SOURCES = src/westmere/parser.c
24
- WESTMERE_OBJECTS = $(WESTMERE_SOURCES :.c=.o )
18
+ WESTMERE_OBJECTS = $($( WESTMERE ) _SOURCES :.c=.o)
25
19
26
20
HASWELL_SOURCES = src/haswell/parser.c
27
- HASWELL_OBJECTS = $(HASWELL_SOURCES:.c=.o )
21
+ HASWELL_OBJECTS = $($(HASWELL ) _SOURCES:.c=.o)
22
+
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
30
29
31
EXPORT_HEADER = include/zone/export.h
30
32
@@ -33,44 +35,34 @@ EXPORT_HEADER = include/zone/export.h
33
35
all : libzone.a
34
36
35
37
clean :
36
- @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 )
38
+ @rm -f .depend
39
+ @rm -f libzone.a $(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 : $(EXPORT_HEADER ) $(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 ) :
56
- @mkdir -p src/fallback
57
- $(CC ) $(DEPFLAGS ) $(CPPFLAGS ) $(CFLAGS ) -o $@ -c $(srcdir ) /$(@:.o=.c )
58
-
59
- $(WESTMERE_OBJECTS ) :
60
- @mkdir -p src/westmere
61
- $(CC ) $(DEPFLAGS ) $(CPPFLAGS ) $(CFLAGS ) -march=westmere -o $@ -c $(srcdir ) /$(@:.o=.c )
54
+ $(WESTMERE_OBJECTS ) : CFLAGS += -march=westmere
55
+ $(HASWELL_OBJECTS ) : CFLAGS += -march=haswell
62
56
63
- $(HASWELL_OBJECTS ) :
64
- @mkdir -p src/haswell
65
- $(CC ) $(DEPFLAGS ) $(CPPFLAGS ) $(CFLAGS ) -march=haswell -o $@ -c $(srcdir ) /$(@:.o=.c )
57
+ $(OBJECTS ) : .depend
58
+ @mkdir -p src/fallback src/westmere src/haswell
59
+ $(CC ) $(DEPFLAGS ) $(CPPFLAGS ) $(CFLAGS ) -o $@ -c $(SOURCE ) /$(@:.o=.c )
60
+ @touch $@
66
61
67
- src/zone.o : $(srcdir ) /src/zone.c src/zone.d
68
- src/fallback/parser.o : $(srcdir ) /src/fallback/parser.c src/fallback/parser.d
69
- src/westmere/parser.o : $(srcdir ) /src/westmere/parser.c src/westmere/parser.d
70
- src/haswell/parser.o : $(srcdir ) /src/haswell/parser.c src/haswell/parser.d
62
+ .depend :
63
+ @echo -n > $@
64
+ @for x in $(OBJECTS:.o= ) ; do echo " $$ {x}.o: $$ {x}.c $$ {x}.d" >> $@ ; done
71
65
72
- DEPENDS := $(SOURCES:.c=.d ) \
73
- $($(WESTMERE ) _SOURCES:.c=.d) \
74
- $($(HASWELL ) _SOURCES:.c=.d)
66
+ -include .depend
75
67
$(DEPENDS ) :
76
- -include $(wildcard $( DEPENDS ) )
68
+ -include $(DEPENDS )
0 commit comments