abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 00:22 | Komunita

    Během akce Arduino Days 2026 byl publikován Arduino Open Source Report 2025 (pdf) a oznámeno 7 nových produktů kompatibilních s deskou UNO Q (Arduino USB-C Power Supply, USB-C Cable, USB-C Hub, UNO Media Carrier, UNO Breakout Carrier, Bug Hopper, Modulino LED Matrix).

    Ladislav Hagara | Komentářů: 0
    včera 20:22 | IT novinky

    Google v pátek spustil v Česku Vyhledávání Live. Tato novinka umožňuje lidem vést plynulou konverzaci s vyhledávačem v češtině. A to prostřednictvím hlasu, nebo prostřednictvím toho, na co ukážou svým fotoaparátem či kamerou v mobilu. Rozšíření této multimodální funkce je možné díky nasazení Gemini 3.1 Flash Live, nového hlasového a audio modelu, který je od základu vícejazyčný, takže umožňuje lidem po celém světě mluvit na vyhledávač přirozeně a v jazyce, který je jim nejbližší.

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | Zajímavý software

    Jsongrep je open-source nástroj, který efektivně prohledává JSON dokumenty (editovat je neumí). Kompiluje regulérní jazyk dotazu do podoby deterministického konečného automatu (DFA), díky čemuž prochází strom JSON dokumentu pouze jednou a je v tom tedy rychlejší než jiné nástroje jako jsou například jq, JMESPath nebo jql. Jsongrep je napsaný v programovacím jazyce Rust, zdrojový kód je dostupný na GitHubu.

    NUKE GAZA! 🎆 | Komentářů: 2
    28.3. 05:55 | Komunita

    O víkendu probíhá v Praze na Karlově náměstí 13 konference Installfest 2026. Na programu je celá řada zajímavých přednášek a workshopů. Vstup na konferenci je zcela zdarma, bez nutnosti registrace. Přednášky lze sledovat i online na YouTube.

    Ladislav Hagara | Komentářů: 10
    28.3. 05:22 | Komunita

    Mozilla a společnost Mila oznámily strategické partnerství za účelem rozvoje open source a suverénní AI. Cílem je ukázat, že open source AI může konkurovat uzavřeným systémům. Obě organizace chtějí posílit technologickou suverenitu a snížit závislost na hrstce velkých technologických firem.

    Ladislav Hagara | Komentářů: 4
    28.3. 04:00 | Humor

    Adam Rice předvedl, že pomocí DNS lze distribuovat a spustit kompletní hru DOOM. Rozdělil WAD soubory a binárky do téměř 2000 DNS záznamů v Cloudflare zóně (jeden TXT záznam v DNS může nést okolo 2000 znaků textu). Ty pak stáhl PowerShellem, dekomprimoval a spustil přímo v paměti počítače bez nutnosti zápisu na disk, což prakticky dokazuje, že DNS může sloužit jako distribuované úložiště dat a možný kanál pro načítání kódu. Repozitář projektu je na GitHubu.

    NUKE GAZA! 🎆 | Komentářů: 7
    27.3. 13:00 | Komunita

    Dnes a zítra probíhají Arduino Days 2026. Na programu je řada zajímavých přednášek. Sledovat je lze od 17:00 na YouTube. Zúčastnit se lze i lokálních akcí. Dnes v Poličce v městské knihovně a zítra v Praze na Matfyzu.

    Ladislav Hagara | Komentářů: 9
    27.3. 12:11 | Nová verze

    Byla vydána beta verze Ubuntu 26.04 LTS s kódovým názvem Resolute Raccoon. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.04 LTS mělo vyjít 23. dubna 2026.

    Ladislav Hagara | Komentářů: 2
    27.3. 02:22 | Komunita Ladislav Hagara | Komentářů: 12
    26.3. 23:22 | Komunita

    Ubuntu plánuje v budoucích verzích nahradit tradiční nástroje pro synchronizaci času (chrony, linuxptp a gpsd) novým, v Rustu napsaným ntpd-rs, který nabídne vyšší bezpečnost a stabilitu.

    Ladislav Hagara | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (15%)
     (7%)
     (1%)
     (12%)
     (30%)
     (3%)
     (5%)
     (1%)
     (14%)
     (24%)
    Celkem 1182 hlasů
     Komentářů: 27, poslední 17.3. 19:26
    Rozcestník


    Vložit další komentář
    13.8.2006 12:14 rnj3e | skóre: 10 | blog: Blog
    Rozbalit Rozbalit vše Re: wxDVDShrink
    No nevím, ale přijde mi to celkém podobné jako gDVDshrink (takže asi "nošení dříví do lesa")
    kozzi avatar 13.8.2006 13:07 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: wxDVDShrink
    No přiznám se že jeho vzhledem jsem se nechal inspirovat. Mám rád GNOME takže se držím hesl Just work. Mám rád jednoduchý vzhled žádny zbytečnosti, který se netýkají fce programu tam nepotřebuji. Ale jestli vydržím u vývoje a splním si své plány, tak budoucí verze budou místo checklistboxu používat asi něci trošku vyspělwjšího
    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    kotyz avatar 13.8.2006 12:20 kotyz | skóre: 25 | blog: kotyzblog | Plzeň
    Rozbalit Rozbalit vše Re: wxDVDShrink
    pekny, ale porad tomu par veci chybi, dvd shrink pouzivam a sem na nej zvyklej. ale je me jasny ze neni mozny mit tam hned milion funkci. ale bude se dalsi vyvoj ubirat smerem k vetsi podobnosti s dvd shrinkem z win? ja osobne bych to kvitoval s povdekem ... ;-)
    Hrdý člen KERNEL ULTRAS. | Furry/Brony/Otaku | Nemám čas ztrácet čas. | In 'pacman -Syu' we trust!
    kotyz avatar 13.8.2006 12:24 kotyz | skóre: 25 | blog: kotyzblog | Plzeň
    Rozbalit Rozbalit vše Re: wxDVDShrink
    jeste malickost - umi/bude umet ty dvd i dekryptovat? jakoze 2v1 (dvd shrink + dvd decrypter)? mozna se blbe ptam a funguje to tak normalne, ale zajima me to ...
    Hrdý člen KERNEL ULTRAS. | Furry/Brony/Otaku | Nemám čas ztrácet čas. | In 'pacman -Syu' we trust!
    kozzi avatar 13.8.2006 12:26 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: wxDVDShrink
    jestli myslis jako jestli to bude nacitat jen z hardisku nebo primo z dvd tak to bude zvladat oboji. Pouzivajise dvdread a dvdcss
    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    kozzi avatar 13.8.2006 12:24 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: wxDVDShrink
    no v budoucnu planuji aby to melo podobny fce jako dvdshrink. To znamená(menu, veber vice titlu, vyber kapitol, nahled pri prevadeni ....) Prvni verze bude umet zaklad nacist hlavni stopu vybrat si titulky a zvuk a previst to na velikost jedno dvd
    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    kotyz avatar 13.8.2006 12:29 kotyz | skóre: 25 | blog: kotyzblog | Plzeň
    Rozbalit Rozbalit vše Re: wxDVDShrink
    tak to je dobry. zatim dvdcka decryptuju a shrinkuju jen pod windows protoze tam na to sou sikovny a snadno ovladatelny programy. az budou takovy i v linuxu bude to velke vyznamne plus. sice win me tady na tom pc zustanou uz asi naporad, ale vsechno dulezity uz budu moct delat v tom lepsim OS ...
    Hrdý člen KERNEL ULTRAS. | Furry/Brony/Otaku | Nemám čas ztrácet čas. | In 'pacman -Syu' we trust!
    kozzi avatar 13.8.2006 12:34 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: wxDVDShrink
    no pokud vim tak pro linux je asi zatim nejlepsi k9copy umi to fakt spoustu veci a celkem se to vyviji. Ja to nepreferuji kvuli pouzivani qt ale to je jen muj problem
    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    kotyz avatar 13.8.2006 12:37 kotyz | skóre: 25 | blog: kotyzblog | Plzeň
    Rozbalit Rozbalit vše Re: wxDVDShrink
    tak na to kouknu. uz sem myslim o tom programu slysel ale tim to skoncilo.
    Hrdý člen KERNEL ULTRAS. | Furry/Brony/Otaku | Nemám čas ztrácet čas. | In 'pacman -Syu' we trust!
    14.8.2006 01:13 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
    Rozbalit Rozbalit vše Re: wxDVDShrink
    K9copy pouzivam a uplne v pohode ma vsetko co dvdshrink pre okna. Akurat vytvori ISO, namiesto DVD struktury, ale to je uplne jedno bud sa to da rovno napalit, alebo namontovat, alebo prehrat.

    Pre Linux nic lepsie neexistuje co by nahradilo dvdshrink. Dokonca je tam aj vyber defaultnej zvukovej stopy a titulkov.
    Beetljuice avatar 14.8.2006 13:37 Beetljuice | skóre: 26 | blog: BeetljuiceBlog | Bílina
    Rozbalit Rozbalit vše Re: wxDVDShrink
    No jestli se nemýlím,tak DVD strukturu vytvoří a z ní pak dělá .iso.Dělá to v nastaveném výstupním adresáři.Několikrát jsem to použil.Vyber místo vytvoření .iso souboru výstup na vypalovačku,ale nedávej tam čisté DVD.Když dáš storno,tak ti v tom adresáři zbyde to DVD s DVD strukturou.
    Aj dont spík ÍÍngliš :-(
    kotyz avatar 14.8.2006 16:30 kotyz | skóre: 25 | blog: kotyzblog | Plzeň
    Rozbalit Rozbalit vše Re: wxDVDShrink
    to me je sumafuk. ja to palim stejne z isa i pod win.
    Hrdý člen KERNEL ULTRAS. | Furry/Brony/Otaku | Nemám čas ztrácet čas. | In 'pacman -Syu' we trust!
    Beetljuice avatar 16.8.2006 22:56 Beetljuice | skóre: 26 | blog: BeetljuiceBlog | Bílina
    Rozbalit Rozbalit vše Re: wxDVDShrink
    No coment !
    Aj dont spík ÍÍngliš :-(
    13.8.2006 13:24 jekub | skóre: 9 | blog: noblog
    Rozbalit Rozbalit vše Jen drobnost
    Nemám rád, když na mě programy "mluví" rozkazovacím způsobem. A ještě horší je, když na mě křičí! Takže mně by se víc líbilo "Vyčistit list" (nebo raději seznam?) a "Kopírovat DVD". Jako programátor si možná řekneš, že to nejsou až tak podstatné věci. Ber to tedy jen jako takový rýpanec a rozhodně pokračuj ;-)
    kotyz avatar 13.8.2006 14:03 kotyz | skóre: 25 | blog: kotyzblog | Plzeň
    Rozbalit Rozbalit vše Re: Jen drobnost
    funkcnost je prednejsi. takovyhle drobnosti se budou ladit az bude program delat to co ma.

    nevim treba proc ty vyvojari jxp commanderu zacinaj od gui - program sice pekne vypada ale nedela vubec nic. je to otazka priorit asi ...

    Hrdý člen KERNEL ULTRAS. | Furry/Brony/Otaku | Nemám čas ztrácet čas. | In 'pacman -Syu' we trust!
    13.8.2006 15:05 jekub | skóre: 9 | blog: noblog
    Rozbalit Rozbalit vše Re: Jen drobnost
    Z hlediskka této aplikace jsou to, pochopitelně, drobnosti. Myslel jsem to trochu obecněji, do budoucna. A že funkčnost je přednější, s tím souhlasím. Ale proč to ladit az bude program delat to co ma.? Ladit by se měl kód a gui by mělo být hotové a dokonalé, si myslím.
    Josef Kufner avatar 13.8.2006 15:20 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jen drobnost
    A taky pak nedodělané GUI neodvádí pozornost od ladění pracujícího kódu.
    Hello world ! Segmentation fault (core dumped)
    Jardík avatar 13.8.2006 15:33 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Jen drobnost
    JXP Commander dávno brouzdá, maže, kopíruje, přesouvá. Jenže od základu je to blbě navržené. Až dodělám Toolkit, předělám to. Stav toolkitu:
    • Window
    • Viewport
    • ScrolledWindow
    • VPaned
    • HPaned
    • VBox
    • HBox
    • Table
    • HSeparator
    • VSeparator
    • ProgressBar
    • Notebook
    • Label
    • Entry
    • Button
    • Frame
    • EventBox
    • Dialog
    • Alignment
    • InputBox
    • ---
    • AString,WString,UString
    • Array,ObjectArray,StringArray
    • File
    • Timer
    Teď ještě ListBox, ListView, TreeView a ještě pár dalších widgetů, pak ještě implementace archivů, ftp, http, ... a nakonec VFS.
    Teď se zeptám: Čím generuješ Makefile? Jestli ho píšeš růčo, můžu poskytnout configure skript k Toolkitu/JXP Commanderu. Mírně ho upravíš (název projektu, cestu ke zdrojákům, cestu k výstupu, default prefix,...). Po spuštění rekurzivně proskenuje složku se zdrojákama (hledá C a C++ soubory), proskenuje v nich include direktivy (pro vytvoření závislostí pro Makefile) a vygeneruje Makefile. Jako výstup může být sdílená knihovna nebo spustitelný soubor.
    Věřím v jednoho Boha.
    kozzi avatar 13.8.2006 16:01 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Jen drobnost
    ten skript by se mi mohl hodit zatim si delam makefile rucne. Ale az bude projekt veci tak potez.
    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    Jardík avatar 13.8.2006 16:49 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Jen drobnost
    #!/bin/sh
    #
    # configure script for YourApp
    # Copyright (c) Year YourName <YourEmail>
    #
    # YourApp is distributed under the terms of YourLicense license
    #
    
    #
    # Project name
    #
    
    PROJECT=
    
    #
    # Project type
    # Available options:
    #   lib
    #   exe
    #
    
    PROJECT_TYPE="exe"
    
    #
    # Only used when building library
    # LIB_NAME sets library name - will be prefixed by "lib" and suffixed by ".so"
    # LIB_VER  sets library version
    #
    
    LIB_NAME=
    LIB_VER=
    
    #
    # Only used when building executable
    # EXE_NAME sets name of output executable
    #
    
    EXE_NAME=
    
    #
    # Where are the sources located
    #
    
    SRC_DIR="./src"
    
    #
    # Default install path
    # Can be changed by --prefix option
    #
    
    DEFAULT_PREFIX="/usr/local"
    
    #
    # Where the output files are stored
    #
    
    DEST_DIR="./dest_dir"
    
    #
    # List of included directories
    #
    
    INCLUDES=
    
    #
    # List of flags for compiler
    # Only used for compilation
    #
    
    CFLAGS=
    
    #
    # List of libraries linked to output file
    # Only used for linking
    #
    
    LIBS=
    
    #
    # List of defines
    #
    
    DEFINES=
    
    #
    # Switch to verbose mode
    #
    
    VERBOSE="yes"
    
    #
    # This function is called before Makefile and other stuff is generated
    # You can use it for setting up some variables (eg. CFLAGS, LIBS etc.)
    # return 0 if script can continue otherwise it will exit
    #
    
    pre_create_makefile()
    {
    	return 0
    }
    
    #
    # This function is called after Makefile and other stuff is generated
    # You can use it to add some lines to "install.sh" and "uninstall.sh" script
    # return 0 if script can continue otherwise it will exit
    #
    
    post_create_makefile()
    {
    	return 0
    }
    
    #
    # Please don't modify next code
    #
    
    C_FILES=
    CPP_FILES=
    RET_VAL=
    
    show_help()
    {
    	echo -e "\nUsage: ${1} [options]"
    	echo "  --help          - show this help"
    	echo "  --prefix=prefix - set install path"
    	echo "                    default is ${DEFAULT_PREFIX}"
    }
    
    get_file_name()
    {
    	if [ -z "$1" ]
    	then
    		RET_VAL=""
    	else
    		RET_VAL="$1"
    		RET_VAL=${RET_VAL##*/}
    	fi
    }
    
    get_file_name_without_ext()
    {
    	if [ -z "$1" ]
    	then
    		RET_VAL=""
    	else
    		get_file_name $1
    		RET_VAL=${RET_VAL%.*}
    	fi
    }
    
    get_file_path()
    {
    	if [ -z "$1" ]
    	then
    		RET_VAL=""
    	else
    		RET_VAL="$1"
    		RET_VAL=${RET_VAL%/*}
    	fi
    }
    
    build_obj_name()
    {
    	if [ -z "$1" ]
    	then
    		RET_VAL=""
    	else
    		get_file_path $1
    		FILE_PATH="${RET_VAL}/obj/"
    		get_file_name_without_ext $1
    		RET_VAL="${FILE_PATH}${RET_VAL}.o"
    	fi
    }
    
    scan_files()
    {
    	C_FILES=`find ${SRC_DIR} -name *.c`
    	CPP_FILES=`find ${SRC_DIR} -name *.cpp`
    }
    
    echo "Running configure for ${PROJECT} ..."
    echo
    
    if [ "${VERBOSE}" = "yes" ]
    then
    	echo "Parsing command line arguments ..."
    else
    	echo -n "Parsing command line arguments ... "
    fi
    # parse cmd line arguments
    HELP="no"
    PREFIX=
    for I in $*
    do
    	case $I in
    		$0)
    			;;
    		--prefix*)
    			PREFIX=${I##*=}
    			[ "${VERBOSE}" = "yes" ] && echo -e "\tPREFIX set to ${PREFIX}."
    			;;
    		--help*)
    			HELP="yes"
    			[ "${VERBOSE}" = "yes" ] && echo -e "\tHelp argument detected."
    			;;
    		*)
    			[ "${VERBOSE}" = "yes" ] && echo -e "\tIgnoring unknown argument ${I}."
    			;;
    	esac
    done
    [ -z "${PREFIX}" ] && PREFIX=${DEFAULT_PREFIX}
    echo "done."
    
    if [ "$HELP" = "yes" ]
    then
    	show_help $1
    	exit 0
    fi
    
    pre_create_makefile
    [ $? -eq 0 ] || exit 1
    
    if [ "${VERBOSE}" = "yes" ]
    then
    	echo "Building file list and depecies..."
    else
    	echo -n "Building file list and depecies... "
    fi
    
    # scan for c++ source files
    scan_files
    
    if [ -z "$CPP_FILES" -a -z "$C_FILES" ]
    then
    	echo "fail."
    	echo "Error: No source files found."
    	exit 1
    fi
    
    # create list of object files & parse depencies
    OBJS=()
    DEPENCIES=()
    INDEX=0
    for I in $CPP_FILES $C_FILES
    do
    	[ "${VERBOSE}" = "yes" ] && echo -e "\t${I}"
    	build_obj_name $I
    	OBJS[$INDEX]="${RET_VAL}"
    	DEPS=()
    	UVOZOVKA="\""
    	INDEX2=0
    	for DEP in `cat ${I} | grep \#include`
    	do
    		DEP="${DEP}\""
    		DEP="`cut -d${UVOZOVKA} -f2 <<<${DEP}`"
    		if [ -n "$DEP" ]
    		then
    			get_file_path $I
    			DEP="${RET_VAL}/${DEP}"
    			[ "${VERBOSE}" = "yes" ] && echo -e "\t\t${DEP}"
    			DEPS[$INDEX2]="${DEP}"
    			let INDEX2=INDEX2+1
    		fi
    	done
    	DEPENCIES[$INDEX]="${DEPS[@]}"
    	let INDEX=INDEX+1
    done
    
    echo "done."
    
    if [ "${VERBOSE}" = "yes" ]
    then
    	echo "Creating destination dirs for object files ..."
    else
    	echo -n "Creating destination dirs for object files ... "
    fi
    
    # build directories for object files
    PREV_DIR=
    for I in ${OBJS[@]}
    do
    	get_file_path $I
    	if [ ! "${PREV_DIR}" = "${RET_VAL}" ]
    	then
    		if [ ! -d "${RET_VAL}" ]
    		then
    			[ "${VERBOSE}" = "yes" ] && echo -en "\t${RET_VAL} ... "
    			mkdir -p ${RET_VAL}
    			if [ ! -d "${RET_VAL}" ]
    			then
    				[ "${VERBOSE}" = "yes" ] && echo "fail."
    				echo "fail."
    				exit 1
    			else
    				[ "${VERBOSE}" = "yes" ] && echo "done."
    			fi
    		else
    			[ "${VERBOSE}" = "yes" ] && echo -e "\t${RET_VAL} ... already exists."
    		fi
    		PREV_DIR="${RET_VAL}"
    	fi
    done
    
    echo "done."
    
    
    # create destination directory (if doesn't exist)
    if [ "${VERBOSE}" = "yes" ]
    then
    	echo "Creating destination directory ..."
    else
    	echo -n "Creating destination directory ... "
    fi
    if [ ! -d "${DEST_DIR}" ]
    then
    	[ "${VERBOSE}" = "yes" ] && echo -ne "\t${DEST_DIR} ... "
    	mkdir -p ${DEST_DIR}
    	if [ ! -d "${DEST_DIR}" ]
    	then
    		[ "${VERBOSE}" = "yes" ] && echo "fail."
    		echo "fail."
    		exit 1
    	else
    		[ "${VERBOSE}" = "yes" ] && echo "done."
    	fi
    else
    	[ "${VERBOSE}" = "yes" ] && echo -e "\t${DEST_DIR} ... already exists."
    fi
    echo "done."
    
    echo -n "Generating Makefile ... "
    
    LINK_PROGRAM="gcc"
    [ -n "${CPP_FILES}" ] && LINK_PROGRAM="g++"
    OUTPUT_DIR="${DEST_DIR}/bin"
    [ "${PROJECT_TYPE}" = "lib" ] && OUTPUT_DIR="${DEST_DIR}/lib"
    [ -d "${OUTPUT_DIR}" ] || mkdir -p "${OUTPUT_DIR}"
    
    [ -f Makefile ] && rm -f Makefile
    touch Makefile
    
    if [ "${PROJECT_TYPE}" = "lib" ]
    then
    cat >>Makefile <<_EOF
    
    all: ${OUTPUT_DIR}/lib${LIB_NAME}.so.${LIB_VER}.0
    
    strip: ${OUTPUT_DIR}/lib${LIB_NAME}.so.${LIB_VER}.0
    	strip ${OUTPUT_DIR}/lib${LIB_NAME}.so.${LIB_VER}.0
    
    ${OUTPUT_DIR}/lib${LIB_NAME}.so.${LIB_VER}.0: ${OBJS[@]}
    	${LINK_PROGRAM} -g -shared -W1,-soname,lib${LIB_NAME}.so.${LIB_VER} ${DEFINES} ${LIBS} -o ${OUTPUT_DIR}/lib${LIB_NAME}.so.${LIB_VER}.0 ${OBJS[@]} -lc
    
    _EOF
    else
    cat >>Makefile <<_EOF
    
    all: ${OUTPUT_DIR}/${EXE_NAME}
    
    strip: ${OUTPUT_DIR}/${EXE_NAME}
    	strip ${OUTPUT_DIR}/${EXE_NAME}
    
    ${OUTPUT_DIR}/${EXE_NAME}: ${OBJS[@]}
    	${LINK_PROGRAM} -Wall ${DEFINES} ${LIBS} -o ${OUTPUT_DIR}/${EXE_NAME} ${OBJS[@]}
    
    _EOF
    fi
    
    INDEX=0
    for I in $CPP_FILES
    do
    
    if [ "${PROJECT_TYPE}" = "lib" ]
    then
    cat >>Makefile <<_EOF
    
    ${OBJS[$INDEX]}: ${I} ${DEPENCIES[$INDEX]}
    	g++ -fPIC -Wall ${DEFINES} ${INCLUDES} ${CFLAGS} -g -c ${I} -o ${OBJS[$INDEX]}
    
    _EOF
    else
    cat >>Makefile <<_EOF
    
    ${OBJS[$INDEX]}: ${I} ${DEPENCIES[$INDEX]}
    	g++ -Wall ${DEFINES} ${INCLUDES} ${CFLAGS} -g -c ${I} -o ${OBJS[$INDEX]}
    
    _EOF
    fi
    
    let INDEX=INDEX+1
    
    done #for I in $CPP_FILES
    
    for I in $C_FILES
    do
    
    if [ "${PROJECT_TYPE}" = "lib" ]
    then
    cat >>Makefile <<_EOF
    
    ${OBJS[$INDEX]}: ${I} ${DEPENCIES[$INDEX]}
    	gcc -fPIC -Wall ${DEFINES} ${INCLUDES} ${CFLAGS} -g -c ${I} -o ${OBJS[$INDEX]}
    
    _EOF
    else
    cat >>Makefile <<_EOF
    
    ${OBJS[$INDEX]}: ${I} ${DEPENCIES[$INDEX]}
    	gcc -Wall ${DEFINES} ${INCLUDES} ${CFLAGS} -g -c ${I} -o ${OBJS[$INDEX]}
    
    _EOF
    fi
    
    let INDEX=INDEX+1
    
    done #for I in $C_FILES
    
    # add clean, install and uninstall to Makefile
    if [ "${PROJECT_TYPE}" = "lib" ]
    then
    cat >>Makefile <<_EOF
    
    clean:
    	rm -f ${OBJS[@]}
    	rm -f ${OUTPUT_DIR}/lib${LIB_NAME}.so.${LIB_VER}.0
    
    install: ${OUTPUT_DIR}/lib${LIB_NAME}.so.${LIB_VER}.0
    	@./install.sh
    	
    uninstall:
    	@./uninstall.sh
    
    _EOF
    else
    cat >>Makefile <<_EOF
    
    clean:
    	rm -f ${OBJS[@]}
    	rm -f ${OUTPUT_DIR}/${EXE_NAME}
    
    install: ${OUTPUT_DIR}/${EXE_NAME}
    	@./install.sh
    	
    uninstall:
    	@./uninstall.sh
    
    _EOF
    fi
    
    # generate install and uninstall scripts
    [ -f install.sh ] && rm -f install.sh
    [ -f uninstall.sh ] && rm -f uninstall.sh
    touch install.sh
    touch uninstall.sh
    chmod a+x install.sh
    chmod a+x uninstall.sh
    
    if [ "${PROJECT_TYPE}" = "lib" ]
    then
    cat >>install.sh <<_EOF
    #!/bin/sh
    [ -f ${PREFIX}/lib/lib${LIB_NAME}.so.${LIB_VER}.0 ] && rm -f ${PREFIX}/lib/lib${LIB_NAME}.so.${LIB_VER}.0
    cp ${OUTPUT_DIR}/lib${LIB_NAME}.so.${LIB_VER}.0 ${PREFIX}/lib/lib${LIB_NAME}.so.${LIB_VER}.0
    chmod a+r ${PREFIX}/lib/lib${LIB_NAME}.so.${LIB_VER}.0
    [ -f ${PREFIX}/lib/lib${LIB_NAME}.so.${LIB_VER} ] && rm -f ${PREFIX}/lib/lib${LIB_NAME}.so.${LIB_VER}
    [ -f ${PREFIX}/lib/lib${LIB_NAME}.so ] && rm -f ${PREFIX}/lib/lib${LIB_NAME}.so
    ln -s ${PREFIX}/lib/lib${LIB_NAME}.so.${LIB_VER}.0 ${PREFIX}/lib/lib${LIB_NAME}.so.${LIB_VER}
    ln -s ${PREFIX}/lib/lib${LIB_NAME}.so.${LIB_VER}.0 ${PREFIX}/lib/lib${LIB_NAME}.so
    chmod a+r ${PREFIX}/lib/lib${LIB_NAME}.so.${LIB_VER}
    chmod a+r ${PREFIX}/lib/lib${LIB_NAME}.so
    
    _EOF
    cat >>uninstall.sh <<_EOF
    #!/bin/sh
    rm -f ${PREFIX}/lib/lib${LIB_NAME}.so.${LIB_VER}.0
    rm -f ${PREFIX}/lib/lib${LIB_NAME}.so.${LIB_VER}
    rm -f ${PREFIX}/lib/lib${LIB_NAME}.so
    
    _EOF
    else
    cat >>install.sh <<_EOF
    #!/bin/sh
    [ -f ${PREFIX}/bin/${EXE_NAME} ] && rm -f ${PREFIX}/bin/${EXE_NAME}
    cp ${OUTPUT_DIR}/${EXE_NAME} ${PREFIX}/bin/${EXE_NAME}
    
    _EOF
    cat >>uninstall.sh <<_EOF
    #!/bin/sh
    rm -f ${PREFIX}/bin/${EXE_NAME}
    
    _EOF
    fi
    
    echo "done."
    
    post_create_makefile
    [ $? -eq 0 ] || exit 1
    
    Pár věcí by šlo určitě vylepšit, ale mně to tak (zatím) vyhovuje. Akorát netuším, jak pobere RET_VAL=${RET_VAL##*/} apod. něco jiného než bash.
    Věřím v jednoho Boha.
    13.8.2006 17:26 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: Jen drobnost
    Ještě že my ostatní máme autotools ;-)
    Jardík avatar 13.8.2006 21:08 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Jen drobnost
    <flame>Autotools je úplně naho*no. Vůbec nechápu, jak se něco tak tězce konfigurovatelného (asi sem to napsal blbě) mohlo tak rozšířit. A ještě to navíc vytváří dalších X souborů, které krásně zpřehlední adresář se zdrojovými kódy (i když pořád lepší než cmake se svýma skrytýma adresářema a ještě větším množstvím balastu</flame>
    Věřím v jednoho Boha.
    13.8.2006 21:30 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Jen drobnost
    No, když si porovnám přehlednost a udržovatelnost toho, co jsem vám posílal, s tím, co jste tu teď prezentoval… Ale každý svého štěstí strůjcem.
    Luk avatar 13.8.2006 21:31 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Jen drobnost
    Autotools je příšerný moloch. Ale je to jedna z cest, jak zajistit maximální přenositelnost programu.
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    13.8.2006 21:40 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Jen drobnost
    Se samotným autoconf to není tak hrozné, samozřejmě až na ten stokilový configure u projektů, které mají dohromady 20 KB zdrojáků. :-) Ale automake už mne tak moc neoslovil, s tím už člověk opravdu trochu ztrácí přehled.
    Luk avatar 13.8.2006 21:54 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Jen drobnost
    Už jsme to tu řešili. Ale když se to člověku podaří zkrotit (a třeba napsat primitivní skript, který všechno potřebné obstará), není to zase tak zlé.
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    14.8.2006 19:11 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Jen drobnost
    i když pořád lepší než cmake se svýma skrytýma adresářema a ještě větším množstvím balastu
    Možná jsem zkoušel jiný cmake, ale ten můj skryté adresáře netvořil a navíc uměl out-of-source build. Stačí si udělat adresář (třeba build), vejít do něj a pak napsat cmake ... Všechen "bordel" zůstane pouze v tom adresáři a neplete se mezi zdrojovými kódy.
    When your hammer is C++, everything begins to look like a thumb.
    13.8.2006 17:26 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Jen drobnost
    Jsem zvědav, jak vás tahle řeholničina bude bavit, až projekt trochu naroste…
    13.8.2006 14:42 xxxxxxxx | skóre: 16 | blog: mrtvy blog | v nebi
    Rozbalit Rozbalit vše Re: Jen drobnost
    sak ty programy nemluvi na tebe, ty zmacknutim toho tlacitka kricis na program, ne obracene ;-):-D
    13.8.2006 15:07 jekub | skóre: 9 | blog: noblog
    Rozbalit Rozbalit vše Re: Jen drobnost
    Zmáčknutím tlačítka na něj zařvu, o tom žádná. Ale než ho zmáčknu, řve on na mě. :-D
    Jardík avatar 13.8.2006 15:39 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: wxDVDShrink
    Jak se nadává tomu tématu těch ikonek? Docela se mi líbí :-)
    Věřím v jednoho Boha.
    13.8.2006 15:44 D-Evil | skóre: 25 | Praha
    Rozbalit Rozbalit vše Re: wxDVDShrink
    Mě se to líbí celý :-) Ačkoliv Gnome rád nemám, v tomhle bych možná byl ochotnej i pracovat, je to přítulně střízlivý :-)
    kozzi avatar 13.8.2006 16:04 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: wxDVDShrink
    ovladaci prvky: Clear looks quicksilver okraj okna: Quiet enviroment ikony: Dropline Nuovo
    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.