Makefile.in 3.09 KB
#
# Copyright 2008, Banco do Brasil S.A.
#
# This file is part of g3270
#
# This program file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; version 3 of the License.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program in a file named COPYING; if not, write to the
# Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301 USA
#
# Authors:
#
# Perry Werneck<perry.werneck@gmail.com>
#

include src/sources.mak

prefix = @prefix@
exec_prefix = @exec_prefix@

CC = @CC@
LD = @CC@
DATADIR = @datarootdir@/g3270

CFLAGS = @CFLAGS@ @GTK_CFLAGS@ -DBUILD=\"`date +%G%m%d%H%M`\" \
		-DDATADIR=\"@datarootdir@/g3270\" \
		-DLOCALEDIR=\"@localedir@\" -Isrc -Wall

LFLAGS = @GTK_LIBS@

DEBUG_OBJECTS=$(foreach SRC, $(basename $(SOURCES)), obj/Debug/src/$(SRC).o)
RELEASE_OBJECTS=$(foreach SRC, $(basename $(SOURCES)), obj/Release/src/$(SRC).o)
PREREQS=Makefile src/*.h

#---[ Rules ]---------------------------------------------------------------------

obj/Debug/src/%.o: src/%.c $(PREREQS)
	@echo $< ...
	@mkdir -p `dirname $@`
	@$(CC) -DDEBUG=1 -DG3270_CORE -DG_ERRORCHECK_MUTEXES $(CFLAGS) -ggdb -o $@ -c $<

obj/Release/src/%.o: src/%.c $(PREREQS)
	@echo $< ...
	@mkdir -p `dirname $@`
	@$(CC) -Lbin/Release -DG3270_CORE  -DNDEBUG=1 $(CFLAGS) -Werror -o $@ -c $<

bin/Debug/@PACKAGE_NAME@:	bin/Debug/lib3270.so $(DEBUG_OBJECTS)
	@echo $@ ...
	@mkdir -p `dirname $@`
	@$(LD) -Lbin/Debug -o $@ $^ $(LFLAGS)
	@echo $@ Ok!

bin/Release/@PACKAGE_NAME@:	bin/Release/lib3270.so $(RELEASE_OBJECTS)
	@echo $@ ...
	@mkdir -p `dirname $@`
	@$(LD) -Lbin/Release -o $@ $^ $(LFLAGS)
	@echo $@ Ok!


#---[ Targets ]-------------------------------------------------------------------

Debug: bin/Debug/@PACKAGE_NAME@

Release: bin/Release/@PACKAGE_NAME@

zip: @PACKAGE_TARNAME@.zip

run: bin/Debug/@PACKAGE_NAME@
	@LD_LIBRARY_PATH=bin/Debug ./bin/Debug/@PACKAGE_NAME@

bin/Debug/lib3270.so: src/lib/Makefile src/lib/*.c src/lib/*.h
	@mkdir -p `dirname $@`
	@make -C src/lib lib3270.so
	@mv src/lib/lib3270.so $@

bin/Release/lib3270.so: src/lib/Makefile src/lib/*.c src/lib/*.h
	@mkdir -p `dirname $@`
	@make -C src/lib lib3270.so
	@mv src/lib/lib3270.so $@

clean:
	@make -C src/lib clean
	@rm -f  $(DEBUG_OBJECTS)
	@rm -f	$(RELEASE_OBJECTS)
	@rm -f	@PACKAGE_TARNAME@.tar.gz
	@rm -fr obj
	@rm -fr bin
	@rm -fr autom4te.cache
	@rm -f config.status
	@find . -name "*.save" -exec mv -f {} $(TMPDIR) \;
	@find . -name "*~" -exec mv -f {} $(TMPDIR) \;
	@find . -name "*.bak" -exec mv -f {} $(TMPDIR) \;
	@find . -name "*.log" -exec mv -f {} $(TMPDIR) \;
	@find . -name "leak.out" -exec mv -f {} $(TMPDIR) \;

tgz: @PACKAGE_TARNAME@.tar.gz

@PACKAGE_TARNAME@.tar.gz: clean
	@rm -f $@
	@tar --create --gzip --verbose --directory .. --file=$@ `basename $(PWD)`