@@ -16,14 +16,24 @@ CFLAGS ?= -Wall
1616CXXFLAGS ?= -Wall
1717LDFLAGS ?= -Wall
1818ifndef COVERAGE
19- CFLAGS += -O2
20- CXXFLAGS += -O2
21- LDFLAGS += -O2
19+ CFLAGS += -O3 -pipe -DNDEBUG -fomit-frame-pointer
20+ CXXFLAGS += -O3 -pipe -DNDEBUG -fomit-frame-pointer
21+ LDFLAGS += -O3 -pipe -DNDEBUG -fomit-frame-pointer
2222else
2323 CFLAGS += -O1 -fno-omit-frame-pointer
2424 CXXFLAGS += -O1 -fno-omit-frame-pointer
2525 LDFLAGS += -O1 -fno-omit-frame-pointer
2626endif
27+ ifeq "$(LIBSASS_GPO ) " "generate"
28+ CFLAGS += -fprofile-generate
29+ CXXFLAGS += -fprofile-generate
30+ LDFLAGS += -fprofile-generate -Wl,-fprofile-instr-generate
31+ endif
32+ ifeq "$(LIBSASS_GPO ) " "use"
33+ CFLAGS += -fprofile-use
34+ CXXFLAGS += -fprofile-use
35+ LDFLAGS += -fprofile-use -Wl,-fprofile-instr-use
36+ endif
2737CAT ?= $(if $(filter $(OS ) ,Windows_NT) ,type,cat)
2838
2939ifneq (,$(findstring /cygdrive/,$(PATH ) ) )
@@ -175,6 +185,7 @@ endif
175185include Makefile.conf
176186OBJECTS = $(addprefix src/,$(SOURCES:.cpp=.o ) )
177187COBJECTS = $(addprefix src/,$(CSOURCES:.c=.o ) )
188+ HEADOBJS = $(addprefix src/,$(HPPFILES:.hpp=.hpp.gch ) )
178189RCOBJECTS = $(RESOURCES:.rc=.o )
179190
180191DEBUG_LVL ?= NONE
@@ -183,6 +194,7 @@ CLEANUPS ?=
183194CLEANUPS += $(RCOBJECTS )
184195CLEANUPS += $(COBJECTS )
185196CLEANUPS += $(OBJECTS )
197+ CLEANUPS += $(HEADOBJS )
186198CLEANUPS += $(LIBSASS_LIB )
187199
188200all : $(BUILD )
@@ -216,15 +228,18 @@ lib/libsass.dll: $(COBJECTS) $(OBJECTS) $(RCOBJECTS) | lib
216228 $(CXX ) -shared $(LDFLAGS ) -o $@ $(COBJECTS ) $(OBJECTS ) $(RCOBJECTS ) $(LDLIBS ) \
217229 -s -Wl,--subsystem,windows,--out-implib,lib/libsass.a
218230
219- % .o : % .c
220- $(CC ) $(CFLAGS ) -c -o $@ $<
221-
222- % .o : % .rc
231+ $(RCOBJECTS ) : % .o: % .rc
223232 $(WINDRES ) -i $< -o $@
224233
225- % .o : % .cpp
234+ $( OBJECTS ) : % .o: % .cpp $( HEADOBJS )
226235 $(CXX ) $(CXXFLAGS ) -c -o $@ $<
227236
237+ $(COBJECTS ) : % .o: % .c $(HEADOBJS )
238+ $(CC ) $(CFLAGS ) -c -o $@ $<
239+
240+ $(HEADOBJS ) : % .hpp.gch: % .hpp
241+ $(CXX ) $(CXXFLAGS ) -x c++-header -c -o $@ $<
242+
228243% : % .o static
229244 $(CXX ) $(CXXFLAGS ) -o $@ $+ $(LDFLAGS ) $(LDLIBS )
230245
@@ -250,7 +265,6 @@ $(DESTDIR)$(PREFIX)/include/%.h: include/%.h \
250265 $(INSTALL) -v -m0644 "$<" "$@"
251266
252267install-headers : $(DESTDIR )$(PREFIX ) /include/sass.h \
253- $(DESTDIR)$(PREFIX)/include/sass2scss.h \
254268 $(DESTDIR)$(PREFIX)/include/sass/base.h \
255269 $(DESTDIR)$(PREFIX)/include/sass/version.h \
256270 $(DESTDIR)$(PREFIX)/include/sass/values.h \
0 commit comments