@@ -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) " \ 
325+ 	--cmd-args " -I . -I  $( LIBSASS_SPEC_PATH) " \ 
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) " \ 
328+ 	--cmd-args " -I . -I  $( LIBSASS_SPEC_PATH) " \ 
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) " \ 
339+ 	--cmd-args " -I . -I  $( LIBSASS_SPEC_PATH) " \ 
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) " \ 
342+ 	--cmd-args " -I . -I  $( LIBSASS_SPEC_PATH) " \ 
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) " \ 
353+ 	--cmd-args " -I . -I  $( LIBSASS_SPEC_PATH) " \ 
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) " \ 
356+ 	--cmd-args " -I . -I  $( LIBSASS_SPEC_PATH) " \ 
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) " \ 
367+ 	--cmd-args " -I . -I  $( LIBSASS_SPEC_PATH) " \ 
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) " \ 
370+ 	--cmd-args " -I . -I  $( LIBSASS_SPEC_PATH) " \ 
354371	--interactive $(LOG_FLAGS )  $(LIBSASS_SPEC_PATH ) /styles/nested
355372
356373clean-objects : | lib
0 commit comments