Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> нужен makefile для gcc(hp-ux), есть для gcc(linux) и для C/ANSI(hp-ux) 
V
    Опции темы
VKB
  Дата 1.6.2010, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 1.6.2010

Репутация: нет
Всего: нет



Здравствуйте.

У меня вопрос скорее не по программированию, а по сборке. Сам я на си не пишу, хотя в общих чертах представляю этот язык.

Имеется hp-ux B.11.23 (PA-RISC) с GCC 4.4.3 и 4.3.1. Есть Makefile для сборки программы. Вся зависимая от ОС часть вынесена в отдельные файлы (есть варианты для коммерческих юниксов: HP-UX, SunOS, AIX, OSF1).
Код

#!/bin/sh
#
# $Id: build.HP-UX,v 1.2 1999/08/24 14:39:31 d019080 Exp $
#
OBJ=".o"
CC="cc"
CFLAGS="-Ae -g -DXDEBUG=1"
RM="rm -f"
EXE=""
LD="$CC"
LDFLAGS=""
LDTARGET='-o $@'
XD=""
LDLIBS="-Wl,-a,default -lc -ldld"
if [ -f /opt/langtools/lib/end.o ] ; then
   # this is for shared library debugging on HP-UX (10.20) ...
   LDLIBS="${LDLIBS} /opt/langtools/lib/end.o"
fi
SHEXT=".sl"
SHFLAGS="+z"
LINK_SHARED="ld +vshlibunsats +s -b"
LINK_SHARED_END="-a default -lc"

#VENLIB="-L/your/software/path +b /your/software/path -lgssapi"
VENLIB="-L/sapmnt/hs0101/b/security/secude5.2/hp/lib.secude -lsecude"
if [ "$VENLIB" = "" ] ; then
        echo "***"
        echo "*** Please edit $0 and define VENLIB to link your"
        echo "*** GSS-API v2 shared library"
        echo "***"
        exit 1
fi

export OBJ CC CFLAGS RM EXE LDLIBS LD LDTARGET LDFLAGS XD
export SHEXT SHFLAGS LINK_SHARED LINK_SHARED_END VENLIB
"$@"
и ещё есть вариант для gcc под линуксом:
Код

#!/bin/sh
OBJ=".o"
CC="gcc"
CFLAGS="-g -DXDEBUG=1"
RM="rm -f"
EXE=""
LD="$CC"
LDFLAGS="-ldl -lnsl -lpthread -lc"
LDTARGET='-o $@'
XD=""
LDLIBS="-ldl"
SHEXT=".so"
SHFLAGS="-fPIC"
LINK_SHARED='$(CC) -shared -Wl,-export-dynamic -Wl,-soname,$@'
LINK_SHARED_END=""
VENLIB="-lgssapi_krb5"
if [ "$VENLIB" = "" ] ; then
echo "***"
echo "*** Please edit $0 and define VENLIB to link your"
echo "*** GSS-API v2 shared library"
echo "***"
exit 1
fi
export OBJ CC CFLAGS RM EXE LDLIBS LD LDTARGET LDFLAGS XD
export SHEXT SHFLAGS LINK_SHARED LINK_SHARED_END VENLIB
"$@"

Интересует какие в моём случае ключи нужно прописывать для перменных

LD,LDFLAGS,LDLIBS,SHFLAGS,LINK_SHARED,LINK_SHARED_END

Главный Makefile
Код

##
## $Id: Makefile,v 1.2 1999/08/24 14:37:57 d019080 Exp $
##
##  (C) Copyright 1999  SAP AG Walldorf
##
##  SAP AG DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
##  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
##  EVENT SHALL SAP AG BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
##  DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
##  PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
##  ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
##  OF THIS SOFTWARE.
##

MDEFS= CC=cc CFLAGS=-g RM="rm -f" OBJ=.o EXE= LD=cc LDFLAGS=-g LIBS=-ldl XD= LDTARGET='-o $@'
TAIL="`uname -s`"
BUILD=./build.$(TAIL)

XNAME = sncntlm
SRCS =        $(XNAME).c

ALL_HDRS=    gssapi_2.h platform.h sncgss.h

OBJS=        $(XD)$(XNAME)$(OBJ)

TARGET=    $(XD)$(XNAME)$(SHEXT)

.c.o:
    $(CC) $(SHFLAGS) $(CFLAGS) -c $<

### targets

all:
    $(BUILD) $(MAKE) do-all

clean:
    $(BUILD) $(MAKE) do-clean


do-all:        $(TARGET)


z $(XOBJS): $(SRCS)
    $(CC) $(SHFLAGS) $(CFLAGS) -c $(SRCS)

$(TARGET): $(OBJS)
    $(LINK_SHARED) $(LDTARGET) $(LDFLAGS) $(OBJS) $(VENLIB) $(LINK_SHARED_END)


do-clean: $(WIN_CLEAN)
    $(RM) core
    $(RM) $(XD)*$(OBJ)
    $(RM) $(TARGET)

win-clean:
    del 2>NUL *.pdb
    del 2>NUL *.idb
    del 2>NUL *.plg
    del 2>NUL *.ncb
    del 2>NUL *.opt
    del 2>NUL $(XD)*.sbr
    del 2>NUL $(XD)*.lib
    del 2>NUL $(XD)*.exp
    del 2>NUL $(XD)*.pdb
    del 2>NUL $(XD)*.ilk


### dependencies

$(XD)$(XNAME)$(OBJ):    $(XNAME).c    $(ALL_HDRS)



PM MAIL   Вверх
VKB
Дата 2.6.2010, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 1.6.2010

Репутация: нет
Всего: нет



удалось собрать с помощью gcc-3.0.1, взятого с ftp://sunsite.informatik.rwth-aachen.de/p...kages/gcc_hpux/

исправленный build.HP-UX:
Код

#!/bin/sh
#
# $Id: build.HP-UX,v 1.2 1999/08/24 14:39:31 d019080 Exp $
#
OBJ=".o"
CC="/opt/precompiled/gcc-3.0.1-64/bin/gcc"
CFLAGS="-g -DXDEBUG=1"
RM="rm -f"
EXE=""
LD="$CC"
LDFLAGS=""
LDTARGET='-o $@'
XD=""
LDLIBS="-Wl,-a,default -lpthread -lsec -ldld"
if [ -f /opt/langtools/lib/end.o ] ; then
   # this is for shared library debugging on HP-UX (10.20) ...
   LDLIBS="${LDLIBS} /opt/langtools/lib/end.o"
fi
SHEXT=".sl"
SHFLAGS="-fPIC"
LINK_SHARED="$CC -shared"
LINK_SHARED_END=""

#VENLIB="-L/your/software/path +b /your/software/path -lgssapi"
VENLIB="-lgssapi_krb5"
if [ "$VENLIB" = "" ] ; then
        echo "***"
        echo "*** Please edit $0 and define VENLIB to link your"
        echo "*** GSS-API v2 shared library"
        echo "***"
        exit 1
fi

export OBJ CC CFLAGS RM EXE LDLIBS LD LDTARGET LDFLAGS XD
export SHEXT SHFLAGS LINK_SHARED LINK_SHARED_END VENLIB
"$@"

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0501 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.