blob: d3514853fcba32a3718eebc72e302713d9337d89 [file] [log] [blame]
#
# Makefile for mfgapi_test.cpp
# $Id: Makefile 382637 2013-02-03 04:34:52Z $
#
# There are total five options for make:
#
# make : This is to make mfgapi_test.exe, wlmSampleTests.exe, and wlm.lib
# make exe : This is to make mfgapi_test.exe and wlmSampleTests.exe
# make lib : This is to make wlm.lib only
# make clean : This is to remove mfgtest_api.exe and wlmSampleTests.exe
# make cleanall : This is to remove mfgtest_api.exe, wlmSampleTests.exe, wlm.lib and all of its object files
#
#
UNAME = $(shell uname)
SRCBASE = ../..
WLM_DIR = wl/exe
ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN)
TARGET_TEST = mfgapi_test.exe
TARGET_SAMPLE = wlmSampleTests.exe
WLM_LIB = wlm.lib
WLM_DLL = wlm.dll
REL_WLM_DIR = $(WLM_DIR)/obj/wlm/free
WLM_MAKE = GNUmakefile.wlm_dll
C_DEFINES += -mno-cygwin -DWIN32
else
TARGET_TEST = mfgapi_test
TARGET_SAMPLE = wlmSampleTests
WLM_LIB = wlm.so
REL_WLM_DIR = $(WLM_DIR)/wlm/x86
WLM_MAKE = GNUmakefile
C_DEFINES += -DLINUX
endif
SOURCE = mfgapi_test.cpp
SOURCE_SAMPLE = wlmSampleTests.c
vpath %.h $(SRCBASE)/$(WLM_DIR)
CC = gcc
CXX = g++
C_DEFINES += -Wall -Wextra -Werror
ANSI_C90 = -ansi -pedantic
INCLUDES = $(SRCBASE)/$(WLM_DIR) $(SRCBASE)/include $(SRCBASE)/common/include
CPPFLAGS = $(patsubst %,-I%,$(subst ;, ,$(INCLUDES)))
all: lib $(TARGET_SAMPLE)
test: lib $(TARGET_TEST)
lib: $(SRCBASE)/$(REL_WLM_DIR)/$(WLM_LIB)
$(TARGET_TEST): $(SOURCE) wlm.h
@echo "Compiling - $(TARGET_TEST)"
$(CXX) $(C_DEFINES) $(CPPFLAGS) $(SOURCE) $(SRCBASE)/$(REL_WLM_DIR)/$(WLM_LIB) -o $(TARGET_TEST)
$(SRCBASE)/$(REL_WLM_DIR)/$(WLM_LIB):
ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN)
$(MAKE) -C $(SRCBASE)/$(WLM_DIR) OTHER_SOURCES="" debug
$(MAKE) -C $(SRCBASE)/$(WLM_DIR) -f $(WLM_MAKE)
cp -f $(SRCBASE)/$(REL_WLM_DIR)/$(WLM_DLL) .
else
$(MAKE) -C $(SRCBASE)/$(WLM_DIR) -f $(WLM_MAKE) wlm
cp -f $(SRCBASE)/$(REL_WLM_DIR)/$(WLM_LIB) .
endif
$(TARGET_SAMPLE): $(SOURCE_SAMPLE) wlm.h
@echo "Compiling - $(TARGET_SAMPLE)"
$(CC) $(C_DEFINES) $(CPPFLAGS) $(ANSI_C90) $(SOURCE_SAMPLE) $(SRCBASE)/$(REL_WLM_DIR)/$(WLM_LIB) -o $(TARGET_SAMPLE)
clean:
rm -f $(TARGET_TEST) $(TARGET_SAMPLE)
cleanall:
rm -f $(TARGET_TEST) $(TARGET_SAMPLE) $(WLM_LIB)
ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN)
rm -rf $(SRCBASE)/$(REL_WLM_DIR)
else
rm -f $(SRCBASE)/$(REL_WLM_DIR)/*.o $(SRCBASE)/$(REL_WLM_DIR)/$(WLM_LIB)
endif
.PHONY : all exe lib clean cleanall