blob: ed3eeb1d427e25a47fa363ac4c4d492778adf16b (
plain) (
tree)
|
|
#
# %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:
|