# This file was generated by Simplicity Studio from the following template:
#   app/esf_common/template/unix/Makefile
# Please do not edit it directly.

.SUFFIXES:

ifdef E_CC
  CC = $(E_CC)
endif
LD = $(CC)

SHELL = /bin/sh

DEFINES = \
  -DUNIX \
  -DUNIX_HOST \
  -DPHY_NULL \
  -DCONFIGURATION_HEADER=\"$--generatedHeader--$\" \
  -DPLATFORM_HEADER=\"$--halDirFromStackFs--$/micro/unix/compiler/gcc.h\" \
$--dashDMacrosMak:"\"--$

INCLUDES = \
  -I. \
  -I$--stackDirFromProjFs--$ \
  -I$--frameworkDirFromProjFs--$/../.. \
  -I$--frameworkDirFromProjFs--$/../../stack \
  -I$--frameworkDirFromProjFs--$/../util \
  -I$--halDirFromProjFs--$ \
  -I$--halDirFromProjFs--$/plugin \
  -I$--halDirFromProjFs--$/.. \
$--includePathsMak--$

FILES = \
$--includeFilesMak--$

LIBRARIES = \
$--includeLibFilesMak--$

STD ?= c99

CFLAGS = -ggdb -O0 -std=$(STD) -Wall
CPPFLAGS = $(DEFINES) $(INCLUDES) -MF $(DEP_PATH)/$(@F:.o=.d) -MMD -MP

ifeq ($(shell uname -s | sed -e 's/^\(CYGWIN\).*/\1/'),Darwin)
  LDFLAGS =
else
  LDFLAGS = -Wl,-export-dynamic
endif
LDLIBS =

ifdef NO_READLINE
  CPPFLAGS += -DNO_READLINE
else
  LDLIBS += -lncurses -lreadline
endif

# Conditionally include the math library if EM_AF_LINK_M is defined.
ifeq ($(findstring -DEM_AF_LINK_M,$(DEFINES)),-DEM_AF_LINK_M)
  LDLIBS += -lm
endif

# Conditionally include the POSIX threads library if EM_AF_LINK_PTHREAD is
# defined.
ifeq ($(findstring -DEM_AF_LINK_PTHREAD,$(DEFINES)),-DEM_AF_LINK_PTHREAD)
  LDLIBS += -lpthread
endif

BUILD_PATH = $(CURDIR)/build
DEP_PATH = $(BUILD_PATH)/dep
EXE_PATH = $(BUILD_PATH)/exe
OBJ_PATH = $(BUILD_PATH)/obj

DEPENDENCIES = $(addprefix $(DEP_PATH)/, $(notdir $(FILES:.c=.d)))
EXECUTABLE = $(EXE_PATH)/$--deviceName--$
OBJECTS = $(addprefix $(OBJ_PATH)/, $(notdir $(FILES:.c=.o)))

.PHONY: all
all: $(EXECUTABLE)

.PHONY: objects
objects: $(OBJECTS)

.PHONY: clean
clean:
	@-rm -f $(DEPENDENCIES) $(EXECUTABLE) $(OBJECTS)

ifneq ($(MAKECMDGOALS),clean)
  -include $(DEPENDENCIES)
endif

$(EXECUTABLE): $(OBJECTS) $(LIBRARIES) | $(EXE_PATH)
ifeq ($(shell uname -s | sed -e 's/^\(CYGWIN\).*/\1/'),Darwin)
	$(LD) $(LDFLAGS) $^ $(LDLIBS) -o $@
else
	$(LD) $(LDFLAGS) -Xlinker --start-group $^ $(LDLIBS) -Xlinker --end-group -o $@
endif

define make-deps
$(OBJ_PATH)/$(notdir $(1:%.c=%.o)): $1 | $(DEP_PATH) $(OBJ_PATH)
endef

$(foreach d, $(FILES), $(eval $(call make-deps,$d)))

%.o :
	$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<

$(BUILD_PATH):
	@mkdir $(BUILD_PATH)

$(DEP_PATH): | $(BUILD_PATH)
	@mkdir $(DEP_PATH)

$(EXE_PATH): | $(BUILD_PATH)
	@mkdir $(EXE_PATH)

$(OBJ_PATH): | $(BUILD_PATH)
	@mkdir $(OBJ_PATH)
