47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
| # Copyright 2016 The Chromium OS Authors. All rights reserved.
 | |
| # Use of this source code is governed by a BSD-style license that can be
 | |
| # found in the LICENSE file.
 | |
| 
 | |
| GRALLOC = gralloc.cros.so
 | |
| 
 | |
| SRCS    = $(wildcard *.cc)
 | |
| SRCS   += $(wildcard ../*.c)
 | |
| 
 | |
| SRCS   += $(wildcard gralloc0/*.cc)
 | |
| 
 | |
| SOURCES = $(filter-out ../gbm%, $(SRCS))
 | |
| PKG_CONFIG ?= pkg-config
 | |
| 
 | |
| VPATH = $(dir $(SOURCES))
 | |
| LIBDRM_CFLAGS := $(shell $(PKG_CONFIG) --cflags libdrm)
 | |
| LIBDRM_LIBS := $(shell $(PKG_CONFIG) --libs libdrm)
 | |
| 
 | |
| CPPFLAGS += -Wall -fPIC -Werror -flto $(LIBDRM_CFLAGS) -D_GNU_SOURCE=1
 | |
| CXXFLAGS += -std=c++14
 | |
| CFLAGS   += -std=c99 -D_GNU_SOURCE=1
 | |
| LIBS     += -shared -lcutils -lhardware -lsync $(LIBDRM_LIBS)
 | |
| 
 | |
| OBJS =  $(foreach source, $(SOURCES), $(addsuffix .o, $(basename $(source))))
 | |
| 
 | |
| OBJECTS = $(addprefix $(TARGET_DIR), $(notdir $(OBJS)))
 | |
| LIBRARY = $(addprefix $(TARGET_DIR), $(GRALLOC))
 | |
| 
 | |
| .PHONY: all clean
 | |
| 
 | |
| all: $(LIBRARY)
 | |
| 
 | |
| $(LIBRARY): $(OBJECTS)
 | |
| 
 | |
| clean:
 | |
| 	$(RM) $(LIBRARY)
 | |
| 	$(RM) $(OBJECTS)
 | |
| 
 | |
| $(LIBRARY):
 | |
| 	$(CXX) $(CPPFLAGS) $(CXXFLAGS) $^ -o $@ $(LIBS)
 | |
| 
 | |
| $(TARGET_DIR)%.o: %.cc
 | |
| 	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $^ -o $@ -MMD
 | |
| 
 | |
| $(TARGET_DIR)%.o: %.c
 | |
| 	$(CC) $(CPPFLAGS) $(CFLAGS) -c $^ -o $@ -MMD
 |