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 17:44 | Zajímavý článek

    Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.

    karkar | Komentářů: 0
    dnes 12:11 | Humor

    Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).

    Ladislav Hagara | Komentářů: 2
    dnes 10:44 | IT novinky

    Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.

    Ladislav Hagara | Komentářů: 22
    dnes 09:55 | IT novinky

    Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.

    Ladislav Hagara | Komentářů: 1
    dnes 09:33 | IT novinky

    Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.

    Ladislav Hagara | Komentářů: 0
    dnes 08:11 | Nová verze

    Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 20:55 | Nová verze

    Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Nová verze

    Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 15:55 | Pozvánky

    Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových

    … více »
    Zdenek H. | Komentářů: 2
    včera 15:44 | IT novinky Ladislav Hagara | Komentářů: 4
    Jaký filesystém primárně používáte?
     (58%)
     (1%)
     (9%)
     (22%)
     (4%)
     (1%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 492 hlasů
     Komentářů: 19, poslední dnes 11:32
    Rozcestník

    wxDVDShrink

    13.8.2006 12:06 | Programy | Výběrový blog

    Tak pokud jste četli můj poslední blog. Tak víte, že se snažím naprogramovat utilitu na zálohovaní DVD9 na DVD5. Od doby co jsem psal minulý blog jsem pokročil, a tak bych se chtěl pochlupit a zjistit váš názor. První screenshot mého programu najdete na http://kozzi.php5.cz/wxdvdshrink.png

    první alfa verze by měla být hotová příští týden o víkendu.

           

    Hodnocení: 95 %

            špatnédobré        

    Anketa

    CO si myslíte? Má to smysl programovat?
     (34 %)
     (4 %)
     (0 %)
     (3 %)
     (0 %)
     (0 %)
     (59 %)
    Celkem 71 hlasů

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

    Komentáře

    Vložit další komentář

    13.8.2006 12:14 rnj3e | skóre: 9 | 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: 72 | 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: 72 | 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: 72 | 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

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