@@ -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 ) ) )
8494 CXXFLAGS += -I include
8595endif
8696
97+ CFLAGS += -I $(SASS_LIBSASS_PATH ) /src
98+ CXXFLAGS += -I $(SASS_LIBSASS_PATH ) /src
99+
87100CFLAGS += $(EXTRA_CFLAGS )
88101CXXFLAGS += $(EXTRA_CXXFLAGS )
89102LDFLAGS += $(EXTRA_LDFLAGS )
@@ -144,7 +157,7 @@ SASS_SASSC_PATH ?= sassc
144157SASS_SPEC_PATH ?= sass-spec
145158SASS_SPEC_SPEC_DIR ?= spec
146159LIBSASS_SPEC_PATH ?= libsass-spec
147- LIBSASS_SPEC_SPEC_DIR ?= spec
160+ LIBSASS_SPEC_SPEC_DIR ?= suites
148161SASSC_BIN = $(SASS_SASSC_PATH ) /bin/sassc
149162RUBY_BIN = ruby
150163
@@ -177,6 +190,7 @@ endif
177190include Makefile.conf
178191OBJECTS = $(addprefix src/,$(SOURCES:.cpp=.o ) )
179192COBJECTS = $(addprefix src/,$(CSOURCES:.c=.o ) )
193+ HEADOBJS = $(addprefix src/,$(HPPFILES:.hpp=.hpp.gch ) )
180194RCOBJECTS = $(RESOURCES:.rc=.o )
181195
182196DEBUG_LVL ?= NONE
@@ -185,6 +199,7 @@ CLEANUPS ?=
185199CLEANUPS += $(RCOBJECTS )
186200CLEANUPS += $(COBJECTS )
187201CLEANUPS += $(OBJECTS )
202+ CLEANUPS += $(HEADOBJS )
188203CLEANUPS += $(LIBSASS_LIB )
189204
190205all : $(BUILD )
@@ -218,15 +233,18 @@ lib/libsass.dll: $(COBJECTS) $(OBJECTS) $(RCOBJECTS) | lib
218233 $(CXX ) -shared $(LDFLAGS ) -o $@ $(COBJECTS ) $(OBJECTS ) $(RCOBJECTS ) $(LDLIBS ) \
219234 -s -Wl,--subsystem,windows,--out-implib,lib/libsass.a
220235
221- % .o : % .c
222- $(CC ) $(CFLAGS ) -c -o $@ $<
223-
224- % .o : % .rc
236+ $(RCOBJECTS ) : % .o: % .rc
225237 $(WINDRES ) -i $< -o $@
226238
227- % .o : % .cpp
239+ $( OBJECTS ) : % .o: % .cpp
228240 $(CXX ) $(CXXFLAGS ) -c -o $@ $<
229241
242+ $(COBJECTS ) : % .o: % .c
243+ $(CC ) $(CFLAGS ) -c -o $@ $<
244+
245+ $(HEADOBJS ) : % .hpp.gch: % .hpp
246+ $(CXX ) $(CXXFLAGS ) -x c++-header -c -o $@ $<
247+
230248% : % .o static
231249 $(CXX ) $(CXXFLAGS ) -o $@ $+ $(LDFLAGS ) $(LDLIBS )
232250
@@ -252,7 +270,6 @@ $(DESTDIR)$(PREFIX)/include/%.h: include/%.h \
252270 $(INSTALL) -v -m0644 "$<" "$@"
253271
254272install-headers : $(DESTDIR )$(PREFIX ) /include/sass.h \
255- $(DESTDIR)$(PREFIX)/include/sass2scss.h \
256273 $(DESTDIR)$(PREFIX)/include/sass/base.h \
257274 $(DESTDIR)$(PREFIX)/include/sass/version.h \
258275 $(DESTDIR)$(PREFIX)/include/sass/values.h \
@@ -302,55 +319,55 @@ test_build: $(SASSC_BIN) $(SASS_SPEC_PATH) $(LIBSASS_SPEC_PATH)
302319 --cmd-args " -I $( SASS_SPEC_PATH) /$( SASS_SPEC_SPEC_DIR) " \
303320 $(LOG_FLAGS ) $(SASS_SPEC_PATH ) /$(SASS_SPEC_SPEC_DIR )
304321 $(RUBY_BIN ) $(SASS_SPEC_PATH ) /sass-spec.rb -c $(SASSC_BIN ) --impl libsass \
305- --cmd-args " -I $( LIBSASS_SPEC_PATH) /$( LIBSASS_SPEC_SPEC_DIR) " \
322+ --cmd-args " -I . -I $( LIBSASS_SPEC_PATH) /$( LIBSASS_SPEC_SPEC_DIR) " \
306323 $(LOG_FLAGS ) $(LIBSASS_SPEC_PATH ) /$(LIBSASS_SPEC_SPEC_DIR )
307324 $(RUBY_BIN ) $(SASS_SPEC_PATH ) /sass-spec.rb -c $(SASSC_BIN ) --impl libsass \
308- --cmd-args " -I $( LIBSASS_SPEC_PATH) /styles/compressed -t compressed" \
325+ --cmd-args " -I . -I $( LIBSASS_SPEC_PATH) /styles/compressed -t compressed" \
309326 $(LOG_FLAGS ) $(LIBSASS_SPEC_PATH ) /styles/compressed
310327 $(RUBY_BIN ) $(SASS_SPEC_PATH ) /sass-spec.rb -c $(SASSC_BIN ) --impl libsass \
311- --cmd-args " -I $( LIBSASS_SPEC_PATH) /styles/nested -t nested" \
328+ --cmd-args " -I . -I $( LIBSASS_SPEC_PATH) /styles/nested -t nested" \
312329 $(LOG_FLAGS ) $(LIBSASS_SPEC_PATH ) /styles/nested
313330
314331test_full : $(SASSC_BIN ) $(SASS_SPEC_PATH ) $(LIBSASS_SPEC_PATH )
315332 $(RUBY_BIN ) $(SASS_SPEC_PATH ) /sass-spec.rb -c $(SASSC_BIN ) --impl libsass \
316333 --cmd-args " -I $( SASS_SPEC_PATH) /$( SASS_SPEC_SPEC_DIR) " \
317334 --run-todo $(LOG_FLAGS ) $(SASS_SPEC_PATH ) /$(SASS_SPEC_SPEC_DIR )
318335 $(RUBY_BIN ) $(SASS_SPEC_PATH ) /sass-spec.rb -c $(SASSC_BIN ) --impl libsass \
319- --cmd-args " -I $( LIBSASS_SPEC_PATH) /$( LIBSASS_SPEC_SPEC_DIR) " \
336+ --cmd-args " -I . -I $( LIBSASS_SPEC_PATH) /$( LIBSASS_SPEC_SPEC_DIR) " \
320337 --run-todo $(LOG_FLAGS ) $(LIBSASS_SPEC_PATH ) /$(LIBSASS_SPEC_SPEC_DIR )
321338 $(RUBY_BIN ) $(SASS_SPEC_PATH ) /sass-spec.rb -c $(SASSC_BIN ) --impl libsass \
322- --cmd-args " -I $( LIBSASS_SPEC_PATH) /styles/compressed -t compressed" \
339+ --cmd-args " -I . -I $( LIBSASS_SPEC_PATH) /styles/compressed -t compressed" \
323340 --run-todo $(LOG_FLAGS ) $(LIBSASS_SPEC_PATH ) /styles/compressed
324341 $(RUBY_BIN ) $(SASS_SPEC_PATH ) /sass-spec.rb -c $(SASSC_BIN ) --impl libsass \
325- --cmd-args " -I $( LIBSASS_SPEC_PATH) /styles/nested -t nested" \
342+ --cmd-args " -I . -I $( LIBSASS_SPEC_PATH) /styles/nested -t nested" \
326343 --run-todo $(LOG_FLAGS ) $(LIBSASS_SPEC_PATH ) /styles/nested
327344
328345test_probe : $(SASSC_BIN ) $(SASS_SPEC_PATH ) $(LIBSASS_SPEC_PATH )
329346 $(RUBY_BIN ) $(SASS_SPEC_PATH ) /sass-spec.rb -c $(SASSC_BIN ) --impl libsass \
330347 --cmd-args " -I $( SASS_SPEC_PATH) /$( SASS_SPEC_SPEC_DIR) " \
331348 --probe-todo $(LOG_FLAGS ) $(SASS_SPEC_PATH ) /$(SASS_SPEC_SPEC_DIR )
332349 $(RUBY_BIN ) $(SASS_SPEC_PATH ) /sass-spec.rb -c $(SASSC_BIN ) --impl libsass \
333- --cmd-args " -I $( LIBSASS_SPEC_PATH) /$( LIBSASS_SPEC_SPEC_DIR) " \
350+ --cmd-args " -I . -I $( LIBSASS_SPEC_PATH) /$( LIBSASS_SPEC_SPEC_DIR) " \
334351 --probe-todo $(LOG_FLAGS ) $(LIBSASS_SPEC_PATH ) /$(LIBSASS_SPEC_SPEC_DIR )
335352 $(RUBY_BIN ) $(SASS_SPEC_PATH ) /sass-spec.rb -c $(SASSC_BIN ) --impl libsass \
336- --cmd-args " -I $( LIBSASS_SPEC_PATH) /styles/compressed -t compressed" \
353+ --cmd-args " -I . -I $( LIBSASS_SPEC_PATH) /styles/compressed -t compressed" \
337354 --probe-todo $(LOG_FLAGS ) $(LIBSASS_SPEC_PATH ) /styles/compressed
338355 $(RUBY_BIN ) $(SASS_SPEC_PATH ) /sass-spec.rb -c $(SASSC_BIN ) --impl libsass \
339- --cmd-args " -I $( LIBSASS_SPEC_PATH) /styles/nested -t nested" \
356+ --cmd-args " -I . -I $( LIBSASS_SPEC_PATH) /styles/nested -t nested" \
340357 --probe-todo $(LOG_FLAGS ) $(LIBSASS_SPEC_PATH ) /styles/nested
341358
342359test_interactive : $(SASSC_BIN ) $(SASS_SPEC_PATH ) $(LIBSASS_SPEC_PATH )
343360 $(RUBY_BIN ) $(SASS_SPEC_PATH ) /sass-spec.rb -c $(SASSC_BIN ) --impl libsass \
344361 --cmd-args " -I $( SASS_SPEC_PATH) /$( SASS_SPEC_SPEC_DIR) " \
345362 --interactive $(LOG_FLAGS ) $(SASS_SPEC_PATH ) /$(SASS_SPEC_SPEC_DIR )
346363 $(RUBY_BIN ) $(SASS_SPEC_PATH ) /sass-spec.rb -c $(SASSC_BIN ) --impl libsass \
347- --cmd-args " -I $( LIBSASS_SPEC_PATH) /$( LIBSASS_SPEC_SPEC_DIR) " \
364+ --cmd-args " -I . -I $( LIBSASS_SPEC_PATH) /$( LIBSASS_SPEC_SPEC_DIR) " \
348365 --interactive $(LOG_FLAGS ) $(LIBSASS_SPEC_PATH ) /$(LIBSASS_SPEC_SPEC_DIR )
349366 $(RUBY_BIN ) $(SASS_SPEC_PATH ) /sass-spec.rb -c $(SASSC_BIN ) --impl libsass \
350- --cmd-args " -I $( LIBSASS_SPEC_PATH) /styles/compressed -t compressed" \
367+ --cmd-args " -I . -I $( LIBSASS_SPEC_PATH) /styles/compressed -t compressed" \
351368 --interactive $(LOG_FLAGS ) $(LIBSASS_SPEC_PATH ) /styles/compressed
352369 $(RUBY_BIN ) $(SASS_SPEC_PATH ) /sass-spec.rb -c $(SASSC_BIN ) --impl libsass \
353- --cmd-args " -I $( LIBSASS_SPEC_PATH) /styles/nested -t nested" \
370+ --cmd-args " -I . -I $( LIBSASS_SPEC_PATH) /styles/nested -t nested" \
354371 --interactive $(LOG_FLAGS ) $(LIBSASS_SPEC_PATH ) /styles/nested
355372
356373clean-objects : | lib
0 commit comments