From 76946bf2eb5c3aaa8983e2a463b8849fb1c3a260 Mon Sep 17 00:00:00 2001 From: Marek Paliwoda Date: Thu, 31 Jan 2008 17:39:43 +0000 Subject: [PATCH] 2008-01-31 18:41 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) + contrib/mtpl_gcc.mak + Readded to SVN yet another time --- harbour/ChangeLog | 4 + harbour/contrib/mtpl_gcc.mak | 189 +++++++++++++++++++++++++++++++++++ 2 files changed, 193 insertions(+) create mode 100644 harbour/contrib/mtpl_gcc.mak diff --git a/harbour/ChangeLog b/harbour/ChangeLog index c4478772f6..3ca620ac7e 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,10 @@ 2002-12-01 13:30 UTC+0100 Foo Bar */ +2008-01-31 18:41 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) + + contrib/mtpl_gcc.mak + + Readded to SVN yet another time + 2008-01-31 18:29 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * contrib/gtwvg/common.mak * contrib/hbapollo/common.mak diff --git a/harbour/contrib/mtpl_gcc.mak b/harbour/contrib/mtpl_gcc.mak new file mode 100644 index 0000000000..bd8d2ce48f --- /dev/null +++ b/harbour/contrib/mtpl_gcc.mak @@ -0,0 +1,189 @@ +# +# $Id$ +# + +# -------------------------------------------------------- +# Makefile common section for Harbour Project Contrib libs +# for GNU gcc compiler +# -------------------------------------------------------- + +# --------------------------------------------------------------- +# Copyright 2007 Marek Paliwoda (mpaliwoda "at" interia "dot" pl) +# See doc/license.txt for licensing terms. +# --------------------------------------------------------------- + +# NOTE: You can use these optional envvars to configure the make process: +# +# C_USR - Extra C compiler options for libraries +# PRG_USR - Extra Harbour compiler options +# + +#********************************************************** + +ifndef HB_ROOT +HB_ROOT = ../.. +endif + +#********************************************************** + +ifeq ($(HB_ARCHITECTURE),cyg) +# Revert Cygwin architecture to w32. +# After all it's under Windows OS. +HB_ARCHITECTURE = w32 +endif + +#********************************************************** + +ifndef ECHO +ECHO = echo +endif +ifndef DEL +DEL = rm -f +endif +ifndef COPY +COPY = cp +endif + +#********************************************************** +# binary file suffixes and prefixes +#********************************************************** + +ifndef OBJEXT +OBJEXT = .o +endif +ifndef LIBEXT +LIBEXT = .a +endif +ifndef LIBPREF +LIBPREF=lib +endif + +#********************************************************** + +.SUFFIXES: $(LIBEXT) $(OBJEXT) .prg .c .cpp .asm + +#********************************************************** +# Install directory defaults. +#********************************************************** + +ifndef HB_INSTALL_PREFIX +HB_INSTALL_PREFIX = $(HB_ROOT) +endif + +ifndef HB_BIN_INSTALL +HB_BIN_INSTALL = $(HB_INSTALL_PREFIX)/bin +endif +ifndef HB_INC_INSTALL +HB_INC_INSTALL = $(HB_INSTALL_PREFIX)/include +endif +ifndef HB_LIB_INSTALL +HB_LIB_INSTALL = $(HB_INSTALL_PREFIX)/lib +endif + +#********************************************************** +# Directory macros. These should never have to change. +#********************************************************** + +ifndef HB_CC_DIRNAME +HB_CC_DIRNAME = $(_HB_CC_NAME) +endif + +OBJ_DIR = $(HB_ROOT)/obj/$(HB_CC_DIRNAME)/ +LIB_DIR = $(HB_ROOT)/lib/$(HB_CC_DIRNAME)/ +BIN_DIR = $(HB_ROOT)/bin/$(HB_CC_DIRNAME)/ + +INCLUDE_DIR = $(HB_ROOT)/include + +#********************************************************** +# Macros to access Harbour executable and other goodies +#********************************************************** + +HARBOUR_EXE = $(BIN_DIR)harbour.exe + +#********************************************************** +# C compiler definition and C flags. These should never have to change. +#********************************************************** + +CC = gcc +CXX = g++ +LINKER = gcc +MKLIB = ar + +#********************************************************** + +# C Compiler Flags + +ifndef GCC_NOOPTIM +CFLAGS := -O3 $(CFLAGS) +endif + +CFLAGS := -W -Wall -I$(INCLUDE_DIR) $(C_USR) $(CFLAGS) -I$(OBJ_DIR) +CLIBFLAGS := -c $(CFLAGS) $(CLIBFLAGS) +HARBOURFLAGS := -i$(INCLUDE_DIR) -n -q0 -w2 -es2 -gc0 $(PRG_USR) $(HARBOURFLAGS) +LDFLAGS := $(LDFLAGS) + +#********************************************************** +# COMPILE Rules +#********************************************************** + +#********************************************************** +# General *.c --> *.obj COMPILE rule for STATIC Libraries +$(OBJ_DIR)/%$(OBJEXT) : %.c + $(CC) $(CLIBFLAGS) -o$@ $< +#********************************************************** +# General *.cpp --> *.obj COMPILE rule for STATIC Libraries +$(OBJ_DIR)/%$(OBJEXT) : %.cpp + $(CXX) $(CLIBFLAGS) -o$@ $< +#********************************************************** +# General *.prg --> *.obj COMPILE rule for STATIC Libraries +$(OBJ_DIR)/%$(OBJEXT) : %.prg + $(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)/ $< + $(CC) $(CLIBFLAGS) -o$@ $(OBJ_DIR)/$(