Makefile.msc 3.9 KB
#
# "Software pw3270, desenvolvido com base nos códigos fontes do WC3270  e X3270
# (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
# aplicativos mainframe. Registro no INPI sob o nome G3270.
#
# Copyright (C) <2008> <Banco do Brasil S.A.>
#
# Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
# os termos da GPL v.2 - Licença Pública Geral  GNU,  conforme  publicado  pela
# Free Software Foundation.
#
# Este programa é distribuído na expectativa de  ser  útil,  mas  SEM  QUALQUER
# GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou  de  ADEQUAÇÃO
# A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
# obter mais detalhes.
#
# Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
# programa;  se  não, escreva para a Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA, 02111-1307, USA
#
# Contatos:
#
# perry.werneck@gmail.com	(Alexandre Perry de Souza Werneck)
# erico.mendonca@gmail.com	(Erico Mascarenhas de Mendonça)
#

!include "$(PW3270_SDK_PATH)\lib3270.mak"

OBJ_FILES= \
	client\src\core\abstract.obj \
	client\src\core\actions.obj \
	client\src\core\attribute.obj \
	client\src\core\constants.obj \
	client\src\core\events.obj \
	client\src\core\session.obj \
	client\src\core\windows\attribute.obj \
	client\src\core\windows\pop.obj \
	client\src\core\windows\push.obj \
	client\src\core\windows\request.obj \
	client\src\core\windows\tools.obj \
	client\src\host\actions.obj \
	client\src\host\init.obj \
	client\src\host\pop.obj \
	client\src\host\properties.obj \
	client\src\host\push.obj \
	client\src\host\states.obj \
	client\src\host\stream.obj \
	client\src\host\string.obj \
	client\src\session\action.obj \
	client\src\session\get.obj \
	client\src\session\set.obj \
	client\src\session\tools.obj \
	client\src\session\local\actions.obj \
	client\src\session\local\attribute.obj \
	client\src\session\local\events.obj \
	client\src\session\local\get.obj \
	client\src\session\local\init.obj \
	client\src\session\local\set.obj \
	client\src\session\local\wait.obj \
	client\src\session\remote\actions.obj \
	client\src\session\remote\attribute.obj \
	client\src\session\remote\get.obj \
	client\src\session\remote\properties.obj \
	client\src\session\remote\set.obj \
	client\src\session\remote\tools.obj \
	client\src\session\remote\wait.obj \
	client\src\session\remote\windows\request.obj \
	client\src\session\remote\windows\session.obj

.cc.obj:
	@echo Compiling...
	@$(CPP) \
		/c \
		/DPACKAGE_NAME=\"ipc3270\" \
		/DPRODUCT_NAME=$(PRODUCT_NAME) \
		/DLIB3270_NAME=$(LIB3270_NAME) \
		/DNDEBUG=1 \
		/I".\client\src\include" \
		/I"$(PW3270_SDK_PATH)\include" \
		/EHsc \
		/Fo"$@" \
		$<

testprogram.exe: \
	client\src\testprogram\testprogram.obj \
	ipc3270.dll
	@echo Build exe file....
	@link \
		/nologo \
		/OUT:"$@" \
		client\src\testprogram\testprogram.obj

install: \
	$(OBJ_FILES) \
	$(LIB3270_NAME).lib
	@echo Building library...
	@-mkdir "$(PW3270_SDK_PATH)\lib"
	@lib \
		/NOLOGO \
		/OUT:"$(PW3270_SDK_PATH)\lib\ipc3270.lib" \
		$(OBJ_FILES)		


	@copy "$(LIB3270_NAME).lib" "$(PW3270_SDK_PATH)\lib\$(LIB3270_NAME).lib"
	@-mkdir "$(PW3270_SDK_PATH)\include\lib3270\ipc"
	@copy "client\src\include\lib3270\ipc\*.h" "$(PW3270_SDK_PATH)\include\lib3270\ipc"
	@copy "client\src\include\lib3270\*.h" "$(PW3270_SDK_PATH)\include\lib3270"

ipc3270.dll: \
	$(OBJ_FILES) \
	client\src\core\windows\dynamic\init.obj \
	$(LIB3270_NAME).lib
	@echo Build dll file....
	link \
		/NOLOGO \
		/DLL \
		/OUT:"$@" \
		$(OBJ_FILES) \
		client\src\core\windows\dynamic\init.obj \
		/DELAYLOAD:$(LIB3270_NAME).dll

$(LIB3270_NAME).lib:
	lib \
		/def:"$(PW3270_SDK_PATH)\def\$(LIB3270_NAME).def" \
		/out:$(LIB3270_NAME).lib

clean:
	del \
		$(LIB3270_NAME).lib \
		$(LIB3270_NAME).dll \
		ipc3270.lib \
		ipc3270.dll \
		$(OBJ_FILES) \
		client\src\core\windows\dynamic\init.obj \
		testprogram.*