# # %CopyrightBegin% # # Copyright Ericsson AB 1999-2010. All Rights Reserved. # # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. # # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights 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 # ---------------------------------------------------- ifdef EXE_TARGET opt debug: create_dirs $(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 $(CC) $(CFLAGS) -o $@ $(OBJ_DIR)/odbcserver.o $(LDFLAGS) $(LIBS) endif ifdef WIN32_TARGET $(WIN32_TARGET): $(OBJ_DIR)/odbcserver.o $(LD) $(LDFLAGS) -o $@ $(OBJ_DIR)/odbcserver.o $(ENTRY_OBJ) \ $(LIBS) $(ENTRY_LDFLAGS) endif $(OBJ_DIR)/odbcserver.o: odbcserver.c $(CC) $(CFLAGS) $(INCLUDES) $(TARGET_FLAGS) -o $@ -c odbcserver.c create_dirs: $(INSTALL_DIR) $(OBJ_DIR) $(INSTALL_DIR) $(BIN_DIR) # ---------------------------------------------------- # 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: