Chromium Code Reviews| Index: experimental/fiddle/Makefile |
| diff --git a/experimental/fiddle/Makefile b/experimental/fiddle/Makefile |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..42f86b44968f39fd880631e1facc9db92936ec4c |
| --- /dev/null |
| +++ b/experimental/fiddle/Makefile |
| @@ -0,0 +1,60 @@ |
| +# Copyright 2015 Google Inc. |
| +# |
| +# Use of this source code is governed by a BSD-style license that can be |
| +# found in the LICENSE file. |
| + |
| +.PHONEY: all |
| +all: fiddle |
| +clean: |
| + git clean -fXd |
| + |
| +PREFIX ?= $(PWD)/local |
| +CXX ?= c++ |
| + |
| +CXXFLAGS += -Wall -Werror --std=c++11 |
|
mtklein
2015/09/17 13:58:22
Why do we -Wall -Werror?
|
| +LIBSKIA := libskia.so |
| +ifeq ($(shell uname), Darwin) |
| + LIBSKIA := libskia.dylib |
| +endif |
| + |
| +# These commands also put headers in $(PREFIX)/include/skia. |
| +$(PREFIX)/lib/$(LIBSKIA): |
| + mkdir -p build $(PREFIX) |
| + cmake -DCMAKE_INSTALL_PREFIX:PATH="$(PREFIX)" -DSK_MESA:BOOL=1 \ |
| + -Bbuild -H../../cmake -G Ninja |
| + ninja -C build skia |
| + ninja -C build install |
|
mtklein
2015/09/17 13:58:22
I'm skeptical of all these different directories a
|
| + |
| +.PHONEY: libskia |
| +libskia: $(PREFIX)/lib/$(LIBSKIA) |
| + |
| +skia.h: headers.sh $(PREFIX)/lib/$(LIBSKIA) |
| + sh headers.sh > skia.h |
| + |
| +SKIA_INCLUDES := \ |
| + -I $(PREFIX)/include/skia/core \ |
| + -I $(PREFIX)/include/skia/gpu \ |
| + -I $(PREFIX)/include/skia/gpu/gl \ |
| + -I $(PREFIX)/include/skia/effects \ |
| + -I $(PREFIX)/include/skia/pathops \ |
| + -I $(PREFIX)/include/skia/c \ |
| + -I $(PREFIX)/include/skia/utils |
| + |
| +# Precompiled header |
| +skia.gch: skia.h |
|
mtklein
2015/09/17 13:58:22
Does this cut build times down significantly?
I a
|
| + $(CXX) $(CXXFLAGS) $(SKIA_INCLUDES) -c $< -o $@ |
| + |
| +OSMesaContextHolder.o: OSMesaContextHolder.cpp OSMesaContextHolder.h |
| + $(CXX) $(CXXFLAGS) -c -o $@ OSMesaContextHolder.cpp |
| + |
| +fiddle_main.o: fiddle_main.cpp fiddle_main.h skia.gch OSMesaContextHolder.h |
| + $(CXX) $(CXXFLAGS) $(SKIA_INCLUDES) -include skia.h -c -o $@ $< |
|
mtklein
2015/09/17 13:58:22
Don't we need to name it skia.h.gch for this to wo
|
| + |
| +################################################################################ |
| + |
| +FIDDLE_LD := -lOSMesa -Wl,-rpath -Wl,"$(PREFIX)/lib" |
|
mtklein
2015/09/17 13:58:22
Shouldn't Skia be linked against OSMesa instead?
|
| + |
| +FIDDLE_SOURCES := draw.cpp fiddle_main.o OSMesaContextHolder.o $(PREFIX)/lib/$(LIBSKIA) |
|
mtklein
2015/09/17 13:58:22
Why are fiddle_main and OSMesaContextHolder differ
|
| + |
| +fiddle: $(FIDDLE_SOURCES) skia.gch fiddle_main.h |
| + $(CXX) $(CXXFLAGS) $(SKIA_INCLUDES) -include skia.h -o $@ $(FIDDLE_SOURCES) $(FIDDLE_LD) |
|
mtklein
2015/09/17 13:58:22
Ditto about skia.h.gch.
|