build/clang-plugin/Makefile.in
author Chris Pearce <cpearce@mozilla.com>
Thu, 17 Jul 2014 10:37:17 +1200
changeset 216439 a59633595bcc42948f5eb00351eae0bd48239197
parent 206301 288387f37b70025dfe935370864187d46b633ce9
child 228141 17e91b558001d3aa1deb44f5c4a6751df92d2300
permissions -rw-r--r--
Bug 973710 - Drain MP4Reader's decoders on EOS. r=kinetik

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

CXX      := @CXX@
CXXFLAGS := @CXXFLAGS@
LDFLAGS  := @LDFLAGS@
VPATH		 := @srcdir@
DSO_LDOPTS := @DSO_LDOPTS@
DLL_SUFFIX := @DLL_SUFFIX@

# Helper for end
NULL :=

CPPSRCS := \
	clang-plugin.cpp \
	$(NULL)

TESTSRCS := \
	TestCustomHeap.cpp \
	TestMustOverride.cpp \
	TestNonHeapClass.cpp \
	TestStackClass.cpp \
	$(NULL)

OBJS := $(patsubst %.cpp,%.o,$(CPPSRCS))
TESTS := $(patsubst %.cpp,test-%,$(TESTSRCS))

PLUGIN := libclang-plugin.$(DLL_SUFFIX)

all: $(PLUGIN) $(TESTS)

$(OBJS): %.o: %.cpp Makefile
	$(CXX) -o $@ -c $(CXXFLAGS) $<

$(PLUGIN): $(OBJS)
	rm -f $@
	$(CXX) $(DSO_LDOPTS) -o $@ $(CXXFLAGS) $(OBJS) $(LDFLAGS)

TESTFLAGS := -fsyntax-only -Xclang -verify \
	-Xclang -load -Xclang $(CURDIR)/$(PLUGIN) \
	-Xclang -add-plugin -Xclang moz-check

$(TESTS): test-%: tests/%.cpp $(PLUGIN)
	$(CXX) $(TESTFLAGS) $<

compile libs export tools: all

distclean clean:
	rm -f $(OBJS) $(TESTS) $(PLUGIN)

check:

libs: binaries

binaries: all
	@touch $@

.PHONY: compile libs export tools distclean clean check