# # %CopyrightBegin% # # Copyright Ericsson AB 1999-2016. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # %CopyrightEnd% # # include $(ERL_TOP)/make/target.mk include $(ERL_TOP)/make/$(TARGET)/otp.mk ifeq ($(TYPE),debug) TYPEMARKER = .debug TYPEFLAGS = -g else TYPEMARKER = TYPEFLAGS = endif WIN_BIN_DIR = ../priv/bin BIN_DIR = ../priv/bin/$(TARGET) OBJ_DIR = ../priv/obj/$(TARGET) INCLUDE_DIR= ../include .PHONY: create_dirs # ---------------------------------------------------- # Application version # ---------------------------------------------------- include ../vsn.mk VSN=$(ODBC_VSN) # ---------------------------------------------------- # Release directory specification # ---------------------------------------------------- RELSYSDIR = $(RELEASE_PATH)/lib/odbc-$(VSN) # ---------------------------------------------------- # Target Specs # ---------------------------------------------------- EI_ROOT = $(ERL_TOP)/lib/erl_interface EI_INCLUDE = -I$(EI_ROOT)/include ifeq ($(findstring win32,$(TARGET)),win32) EI_LIB = -lerl_interface_md -lei_md ENTRY_OBJ=$(ERL_TOP)/erts/obj/$(TARGET)/port_entry.o PORT_ENTRY_POINT=erl_port_entry ENTRY_LDFLAGS=-entry:$(PORT_ENTRY_POINT) WIN32_TARGET = $(WIN_BIN_DIR)/odbcserver.exe EXE_TARGET = $(WIN32_TARGET) else EI_LIB = -lerl_interface -lei UNIX_TARGET = $(BIN_DIR)/odbcserver EXE_TARGET = $(UNIX_TARGET) endif C_FILES = odbcserver.c H_FILES = odbcserver.h # ---------------------------------------------------- # ODBC locations and include options from configure # ---------------------------------------------------- ODBC_LIB = @ODBC_LIB@ ODBC_INCLUDE = @ODBC_INCLUDE@ # ---------------------------------------------------- # FLAGS # ---------------------------------------------------- CC = @CC@ CFLAGS = $(TYPEFLAGS) @CFLAGS@ @THR_DEFS@ @DEFS@ EI_LDFLAGS = -L$(EI_ROOT)/obj$(TYPEMARKER)/$(TARGET) LD = @LD@ LDFLAGS = $(ODBC_LIB) $(EI_LDFLAGS) LIBS = @LIBS@ @THR_LIBS@ $(EI_LIB) INCLUDES = -I. $(ODBC_INCLUDE) $(EI_INCLUDE) TARGET_FLAGS = @TARGET_FLAGS@ # ---------------------------------------------------- # Targets # ---------------------------------------------------- _create_dirs := $(shell mkdir -p $(OBJ_DIR) $(BIN_DIR)) ifdef EXE_TARGET opt debug: $(EXE_TARGET) else opt debug: endif clean: rm -f core *~ rm -f $(OBJ_DIR)/* docs: # ---------------------------------------------------- # Special Build Targets # ---------------------------------------------------- ifdef UNIX_TARGET $(UNIX_TARGET): $(OBJ_DIR)/odbcserver.o $(V_CC) $(CFLAGS) -o $@ $(OBJ_DIR)/odbcserver.o $(LDFLAGS) $(LIBS) endif ifdef WIN32_TARGET $(WIN32_TARGET): $(OBJ_DIR)/odbcserver.o $(V_LD) $(LDFLAGS) -o $@ $(OBJ_DIR)/odbcserver.o $(ENTRY_OBJ) \ $(LIBS) $(ENTRY_LDFLAGS) endif $(OBJ_DIR)/odbcserver.o: odbcserver.c $(V_CC) $(CFLAGS) $(INCLUDES) $(TARGET_FLAGS) -o $@ -c odbcserver.c # ---------------------------------------------------- # Release Target # ---------------------------------------------------- include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt ifdef EXE_TARGET $(INSTALL_DIR) "$(RELSYSDIR)/c_src" $(INSTALL_DATA) $(C_FILES) $(H_FILES) "$(RELSYSDIR)/c_src" $(INSTALL_DIR) "$(RELSYSDIR)/priv" $(INSTALL_DIR) "$(RELSYSDIR)/priv/bin" $(INSTALL_DIR) "$(RELSYSDIR)/priv/obj" $(INSTALL_PROGRAM) $(EXE_TARGET) "$(RELSYSDIR)/priv/bin" endif release_docs_spec: