| # |
| # 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 |