# Copyright 2018 Google Inc. All Rights Reserved.

LOCAL_PATH := $(call my-dir)

# Target static library
#
include $(CLEAR_VARS)
LOCAL_MODULE := libutil_linux_common_static
LOCAL_MODULE_TAGS := optional

LOCAL_SRC_FILES :=  \
	../lib/timer.c \
	../lib/monotonic.c \
	../lib/strutils.c \

LOCAL_C_INCLUDES := \
	$(LOCAL_PATH)/../include

LOCAL_CFLAGS := \
	-include $(LOCAL_PATH)/../config.h
include $(BUILD_STATIC_LIBRARY)

# Target executables
#
include $(CLEAR_VARS)
LOCAL_MODULE := flock
LOCAL_MODULE_TAGS := optional

LOCAL_SRC_FILES :=  \
	flock.c \

LOCAL_C_INCLUDES := \
	$(LOCAL_PATH) $(LOCAL_PATH)/../include

LOCAL_CFLAGS := \
	-include $(LOCAL_PATH)/../config.h

LOCAL_STATIC_LIBRARIES += libutil_linux_common_static
include $(BUILD_EXECUTABLE)
