Files
harbour-core/utils/hbmk2/doc/hbmk2.el.md
2017-05-03 09:11:48 +00:00

80 KiB
Raw Permalink Blame History

Harbour Make (hbmk2) 3.2.0dev (r2013-04-03 03:33)
Copyright (c) 1999-2013, Viktor Szakats
http://harbour\-project\.org/
Μετάφραση (el): Pete D. (pete_westg@yahoo.gr)

Σύνταξη:

hbmk2 [επιλογές] [<σενάριο[α]>] <πηγαίο αρχείο[α][.prg|.c|.obj|.o|.rc|.res|.def|.po|.pot|.hbl|@.clp|.d|.ch]>

Περιγραφή:

Το hbmk2 είναι ένα ολοκληρωμένο και μεταφέρσιμο εργαλείο κατασκευής, που κάνει εφικτή τη δημιουργία διαφόρων τύπων δυαδικών εκτελέσιμων (εκτελέσιμο, δυναμική βιβλιοθήκη, στατική βιβλιοθήκη, μεταφέρσιμο δυαδικό Harbour) από πολλαπλούς τύπους πηγαίων αρχείων (C, C++, Objective-C, Harbour, gettext translations, Windows resources). 'Ολοκληρωμένο' σημαίνει ότι ένα μοναδικό hbmk2 αρχείο έργου μπορεί να διεκπεραιώσει όλες ή τις περισσότερες πτυχές της διαδικασίας κατασκευής. 'Μεταφέρσιμο' σημαίνει ότι ένα μοναδικό hbmk2 αρχείο έργου ελέγχει την κατασκευή σε όλες τις υποστηριζόμενες πλατφόρμες Λειτουργικών Συστημάτων και έναντι όλων των υποστηριζόμενων C μεταγλωττιστών. Στοχεύει επίσης να καλυψει την πλειοψηφία των εργασιών κατασκευής μέσω σύντομων και απλών αρχείων έργου (επιλογών). Το hbmk2 υποστηρίζει ακόμα και αμιγή -non-Harbour- C/C++/Objective-C έργα. Προκειμένου να επιτύχει τους παραπάνω στόχους, το hbmk2 ανιχνεύει αυτόματα τον μεταγλωττιστή Harbour και C και άλλα εργαλεία που απαιτούνται, μετά τα διαμορφώνει και τα καλεί κατάλληλα. Το hbmk2 επιτρέπει την επέκταση των τύπων των υποστηριζόμενων αρχείων μέσω επεκτάσεων -plugins-.
Πέρα από την δημιουργία εκτελέσιμων, το hbmk2 είναι σε θέση να τρέχει σενάρια Harbour (αμφότερα, πηγαίου κώδικα και μεταγλωττισμένα) κατευθείαν, και διαθέτει επίσης ένα διαδραστικό κέλυφος εντολών.

Επιλογές:

  • -o<outname> όνομα αρχείου εξόδου

  • -l<libname> διασύνδεση της <libname> βιβλιοθήκης. Το <libname> πρέπει να είναι χωρίς μονοπάτι, κατάληξη και πρόθεμα 'lib' (εκτός αν είναι μέρος του ονόματος). Μη προσθέτετε τις βασικές βιβλιοθήκες Harbour, αυτές προστίθενται αυτόματα εφόσον χρειάζονται. Αν το <libname> αρχίζει με ένα χαρακτήρα '-', η βιβλιοθήκη θα αφαιρεθεί από τη λίστα βιβλιοθηκών τη στιγμή της διασύνδεσης.

  • -L<libpath> πρόσθετο μονοπάτι για αναζήτηση βιβλιοθηκών

  • -i<p>|-incpath=<p> πρόσθετο μονοπάτι για αναζήτηση headers

  • -static|-shared διασύνδεση με static/shared βιβλιοθήκες

  • -gt<name> διασύνδεση με τον GT<name> GT οδηγό, μπορεί να επαναληφθεί για να διασυνδεθούν περισσότεροι GTs οδηγοί. Ο πρώτος από αυτούς θα είναι προεπιλεγμένος κατα τον χρόνο-εκτέλεσης

  • -inc[-] ενεργοποίηση/απενεργοποίηση incremental μεθόδου κατασκευής (προεπιλογή: απενεργοποίηση)

  • -hbexe δημιουργία εκτελέσιμου (προεπιλογή)

  • -hblib δημιουργία στατικής βιβλιοθήκης

  • -hbdyn δημιουργία δυναμικής βιβλιοθήκης (χωρίς συνδεδεμένη Harbour VM)

  • -hbdynvm δημιουργία δυναμικής βιβλιοθήκης (με συνδεδεμένη Harbour VM)

  • -mt|-st διασύνδεση με την πολυ/μονο-νηματική εικονική μηχανή Harbour VM

  • -gui|-std δημιουργία GUI/console εκτελέσιμου

  • -main=<mainfunc> υπερκάλυψη του ονόματος της εναρκτήριας συνάρτησης

  • -request=<func> εξαναγκασμός συνάρτησης/λειτουργίας να διασυνδεθεί

  • -fullstatic διασύνδεση με όλες τις static βιβλιοθήκες

  • -pic[-] δημιουργία position independent αντικειμενικού κώδικα (πάντα ενεροπιημένο στα μοντέλα -hbdyn/-hbdynvm)

  • -[full|fix]shared δημιούργησε κοινόχρηστα Harbour binaries χωρίς/με απόλυτη αναφορά καταλόγου στη βιβλιοθήκη Harbour (προεπιλογή: ''fullshared'' οταν το Harbour είναι εγκατεστημένο σε περιοχή συστήματος, αλλοιώς 'fixshared') (επιλογή fix/full μόνο σε *nix)

  • -nulrdd[-] διασύνδεση με nulrdd

  • -debug[-] προσθήκη/παράλειψη πληροφοριών αποσφλαμάτωσης μεταγλωττιστή C. Για αποσφαλμάτωση σε επίπεδο Harbour, χρησιμοποιείστε την συνηθισμένη επιλογή -b του Harbour

  • -optim[-] εναλλαγή βελτιστοποιήσεων μεταγλωττιστή C (προεπιλογή: on)

  • -cpp[-] εξαναγκασμός C++/C μοντέλου

  • -cpp=<value> κατάσταση λειτουργίας C++ . Επιτρεπτές τιμές είναι: def, yes, no

  • -map[-] δημιουργία (ή όχι) ενός map αρχείου

  • -implib[-] δημιουργία (ή όχι) βιβλιοθήκης εισαγωγής (in -hbdyn/-hbexe mode). Στο όνομα θα προστεθεί ένα επίθεμα.

  • -implib=<output> δημιουργία ονόματος βιβλιοθήκης εισαγωγής (in -hbdyn/-hbexe mode) στο <output> (Προεπιλογή: ίδιο με το output)

  • -ln=<link> δημιουργία συμβολικού δεσμού που δείχνει στο <output> (το <link> θεωρείται σχετικό με το <output>)

  • -strip[-] καθαρισμός -strip- (μη καθαρισμός) δυαδικών αρχείων

  • -trace[-] εμφάνιση εντολών που εκτελούνται

  • -beep[-] ενεργοποίηση (ή απενεργοποίηση) ενός μπιπ στην επιτυχή ολοκληρωση, διπλού μπιπ στην αποτυχία

  • -ignore[-] αγνόηση λαθών όταν εκτελούνται εργαλεία του μεταγλωττιστή (προεπιλογή: off)

  • -hbcppmm[-] αντικατάσταση των πρότυπων C++ συναρτήσεων διαχείρησης μνήμης με εκείνες του Harbour

  • -winuni[-] επιλογή μεταξύ UNICODE (WIDE) και ANSI μοντέλων μεταγλώττισης (προεπιλογή: ANSI) (μόνο σε Windows. Για WinCE είναι ορισμένο πάντα σε UNICODE)

  • -nohblib[-] μη χρήση στατικών βιβλιοθηκών πυρήνα Harbour κατά τη διασύνδεση

  • -nodefgt[-] μη σύνδεση προεπιλεγμένων GTs (ισχύει σε -static μορφή κατασκευής)

  • -nolibgrouping[-] απενεργοποίηση ομαδοποίησης βιβλιοθηκών σε gcc μεταγλωττιστές

  • -nomiscsyslib[-] μη προσθέτετε επιπλέον λιστα βιβλιοθηκών συστήματος στην προεπιλεγμένη λιστα βιβλιοθηκών

  • -traceonly εμφάνιση των προς εκτέλεση εντολών, αλλά χωρίς να εκτελεστούν

  • -warn=<level> ορισμός επίπεδου ειδοποιήσεων του μεταγλωττιστή C
    το <lev> μπορεί να είναι: max, yes, low, no, def (προεπιλογή: yes)

  • -safe[-] ενεργοποίηση επιλογών ασφαλείας του μεταγλωττιστή/συνδέτη C (προεπιλογή: ενεργοποιημένο σε Windows, απενεργοποιημένο σε άλλα συστήματα)

  • -compr=<level> συμπίεση εκτελέσιμου/δυναμικής βιβλιοθήκης (απαιτεί το εργαλείο UPX)
    το <level> μπορεί να είναι: yes, no, min, max

  • -run[-] εκτέλεση/ή όχι, του εκτελέσιμου που θα δημιουργηθεί

  • -vcshead=<file> δημιουργία header αρχείων .ch με πληροφορίες της τοπικής αποθήκες -local repository-. Προς το παρόν υποστηρίζονται τα Git, SVN, Mercurial, Bazaar, Fossil, CVS και Monotone.
    Τα header που θα δημιουργηθούν θα ορίσουν τη σταθερά _HBMK_VCS_TYPE_ στο όνομα του VCS που ανιχνεύτηκε και τη σταθερά _HBMK_VCS_ID_ στο μοναδικό ID της τοπικής αποθήκης. Αν δεν ανιχνευτεί κάποιο VCS, ένα διαδοχικός αριθμός θα ενημερώνεται αυτόματα με κάθε μεταγλώττιση.

  • -tshead=<file> δημιουργία .ch header αρχείου με πληροφορίες χρονοσήμανσης. Το δημιουργημένο header θα ορίσει τις σταθερές προεπεξεργασίας _HBMK_BUILD_DATE_, _HBMK_BUILD_TIME_, _HBMK_BUILD_TIMESTAMP_ με την ημερ/νία-ωρα της κατασκευής

  • -icon=<file> ορίζει το <file> ως εικονίδιο της εφαρμογής. Το <file> πρέπει να είναι σε μορφή υποστηριζόμενη από τη πλατφόρμα-στόχο (δεν υποστηρίζεται από μερικές πλατφόρμες/μεταγλωττιστές). Σε Windows, υλοποιείται με τη δημιουργία και διασύνδεση ενός resource αρχείου.

  • -manifest=<file> ενσωμάτωση του μανιφέστου <file> στο εκτελέσιμο/δυναμική βιβλ. (μονο σε Windows)

  • -sign=<key> σήμανση εκτελέσιμου με το <key> (μόνο σε Windows και Darwin). Σε περιβάλλον Windows χρησιμοποιείται το signtool.exe (περιέχεται στο MS Windows SDK) ή το posign.exe (περιέχεται στην Pelles C 7), με αυτή τη σειρά, αμφότερα ανιχνεύονται αυτόματα.

  • -signpw=<pw> χρήση του <pw> ως συνθηματικού κατά την σήμανση του εκτελέσιμου (μόνο σε Windows και Darwin)

  • -instfile=<g:file> προσθήκη <file> iστη λίστα αρχείων προς αντιγραφή στο μονοπάτι που ορίστηκε από την επιλογή -instpath. <g> είναι μια προαιρετική ομάδα αντιγραφής (πεζά/κεφαλαία ευαίσθητο), πρέπει να έχει μήκος τουλάχιστον δύο χαρακτήρων. Σε περίπτωση μη καθορισμού του <file>, η λίστα αρχείων σε αυτή την ομάδα θα εκκενωθεί.

  • -instpath=<g:path> αντιγραφή των αρχείου(ων) στο <path>. Αν το <path> είναι κατάλογος, πρέπει να τελειώνει με τον διαχωριστή μονοπατιού· σε αυτή την περίπτωση τα αρχεία που καθορίστηκαν με την επιλογή -instfile θα αντιγραφούν επίσης· μπορεί να οριστεί πολλαπλές φορές. <g> είναι μια προαιρετική ομάδα αντιγραφής, πρέπει να έχει μήκος τουλάχιστον δύο χαρακτήρων. Το κατασκευασμένο έργο θα αντιγραφεί αυτόματα σε προεπιλεγμένη (άδεια) ομάδα αντιγραφής. Υπάρχουν οι ακόλουθες ενσωματωμένες <g> ομάδες: 'depimplib' για τις βιβλιοθήκες εισαγωγής και 'depimplibsrc' για πηγαία (.dll) αρχεία βιβλιοθηκών εισαγωγής, αμφότερες ανήκουσες σε εξαρτήσεις.

  • -instforce[-] αντιγραφή του κατασκευασμένου αρχείου(ων) του έργου στο κατάλογο εγκατάστασης έστω κι αν είναι ενήμερο /up to date/

  • -depimplib[-] ενεργοποίηση (ή απενεργοποίηση) δημιουργίας βιβλιοθήκης εισαγωγής για πηγαίες βιβλιοθήκες εισαγωγής που ορίστηκαν με τις επιλογές -depimplibs= (προεπιλογή: yes)

  • -stop[=<text>] Τερματισμός χωρίς να κάνει οτιδήποτε και εμφάνιση του κειμένου <text> άν καθορίστηκε

  • -echo=<text> αντήχηση -echo- κειμένου στην οθόνη

  • -pause υποχρεωση αναμονής για πάτημα πλήκτρου κατά την έξοδο σε περίπτωση αποτυχιας (με εναλλακτικά GTs μόνο)

  • -exitstr εμφάνιση λαθών σε ανθρώπινη μορφή ανάγνωσης

  • -info εμφάνιση των πληροφοριακών μηνυμάτων

  • -quiet[-] απόκρυψη όλων των μηνυμάτων οθόνης

  • -bldf[-] κληρονόμηση όλων/όχι (προεπιλογή) των σημαιών απο την κατασκευή Harbour

  • -bldf=[p][c][l] κληρονόμηση των σημαιών .prg/.c/linker (ή καμμία) απο την κατασκευή Harbour

  • -F<framework> διασύνδεση με το framework <framework> (μόνο σε Darwin)

  • -prgflag=<f> απλό πέρασμα flag στο μεταλωττιστή Harbour

  • -cflag=<f> πέρασμα μιας σημαίας στο μεταλωττιστή C

  • -resflag=<f> πέρασμα μιας σημαίας στο μεταλωττιστή resource (μόνο σε Windows)

  • -ldflag=<f> απλό πέρασμα σημαίας -flag- στο συνδέτη -linker- (εκτελέσιμο)

  • -dflag=<f> πέρασμα μιας σημαίας στον συνδέτη (dynamic library)

  • -aflag=<f> πέρασμα μιας σημαίας στον συνδέτη (static library)

  • -iflag=<f> πέρασμα μιάς σημαίας στην εντολή δημιουργίας βιβλιοθήκης εισαγωγής

  • -signflag=<f> περασμα απλής σημαίας στην εντολή σήμανσης κώδικα

  • -runflag=<f> πέρασμα μίας σημαίας -flag- στο εκτελέσιμο εξόδου όταν έχει γίνει χρήση της επιλογής -run

  • -cflag+=<f> πέρασμα μιάς σημαίας -flag- στον μεταγλωττιστή C υπερκαλύπτοντας αντίστοιχες σημαίες C που προστέθηκαν απο το ίδιο το hbmk2 itself. Χρησιμοποιείστε το με προσοχή.

  • -ldflag+=<f> πέρασμα, χωρίς έλεγχο, μιας επιλογής στο συνδέτη/linker (εκτελέσιμο) μετά τη λίστα βιβλιοθηκών. Χρησιμοποιήστε το με προσοχή!

  • -dflag+=<f> πέρασμα, χωρίς έλεγχο, μιάς επιλογής στο συνδέτη/linker (δυναμική βιβλιοθήκη) μετά τη λίστα βιβλιοθηκών. Χρησιμοποιήστε το με προσοχή!

  • -3rd=<f> επιλογές/σημαίες εφεδρικές για 3rd party εργαλεία, πάντοτε αγνοούνται από το ίδιο το hbmk2

  • -env:<e>[<o>[<v>]] τροποποίηση τοπικού περιβάλλοντος. <e> είναι το όνομα μεταβλητής περιβάλλοντος για αλλαγή. <o> μπορεί να είναι '=' για ορισμό/επικάλυψη, '-' για διαγραφή, '+' για προσθήκη στο τέλος της υπάρχουσας τιμής, '#' για εισαγωγή στην αρχή της υπάρχουσας τιμής. <v> είναι η τιμή που θα οριστεί/προστεθεί/εισαχθεί.

  • -jobs=<n> εκκίνηση <n> νημάτων #threads# μεταγλώττισης (μόνο σε πολυεπεξεργαστικές πλατφόρμες)

  • -head=<m> έλεγχος της ανάλυσης του πηγαίου header (σε αυξητικό -incremental- ρυθμό κατασκευής)
    <m> μπορεί να είναι: native (χρήση του μεταγλωττιστή για εξαγωγή των εξαρτήσεων), full (προεπιλογή, χρήση απλού αναλυτή κειμένου σε όλο το αρχείο), dep, off

  • -rebuild ανακατασκευή (σε incremental ρυθμό)

  • -rebuildall ανακατασκευή μαζί με τα υπο-έργα (με αυξητική -incremental- μέθοδο κατασκευής)

  • -clean καθαρισμός (σε incremental ρυθμό)

  • -workdir=<dir> κατάλογος εργασίας
    (προεπιλογή: .hbmk/<platform>/<compiler> [*] σε incremental μέθοδο κατασκευής, αλλιώς ο temp κατάλογος του Λ.Σ.)

  • -hbcontainer εικονική κατασκευή έργου· δεν δημιουργεί τίποτα. Χρήσιμο για την δημιουργία ενός .hbp με μοναδικό σκοπό την μνημόνευση των υπο-έργων

  • -hbimplib Δημιουργία βιβλιοθήκης εισαγωγής (μόνο σε Windows)

  • -hbl[=<output>] έξοδος .hbl αρχειοονόματος. %{hb_lng} macro είναι δεκτή στο αρχειοόναμα

  • -lng=<languages> λίστα των γλωσσών προς αντικατάσταση σε %{hb_lng} macros σε .pot/.po filenames and output .hbl/.po filenames. Λίστα διαχωριζόμενη με κόμμα:
    -lng=en,hu-HU,de

  • -po=<output> δημιουργία/ενημέρωση αρχείου .po από το πηγαίο. Συγχώνευσή του με προηγούμενο αρχείο .po ίδιου ονόματος

  • -minipo[-] προσθήκη (ή όχι) αριθμού έκδοσης Harbour και ένδειξη πηγαίου αρχείου στο .po (προεπιλογή: πρόσθεσέ τα)

  • -rebuildpo αναδημιουργία .po αρχείου, απομακρύνοντας έτσι όλες τις παρωχημένες καταχωρίσεις

  • -hbx=[<.ch>] Δημιουργία header αρχείο (σε .hbx μορφή) μέ όλα τα εξωτερικά σύμβολα -ονοματα συναρτήσεων κ.λ.π.- . Κενή παράμετρος το απενεργοποιεί.

  • -autohbc=<.ch:.hbc> <.ch> είναι ένα όνομα αρχείου header. <.hbc> είναι ένα .hbc όνομα αρχείου που θα συμπεριληφθεί αυτομάτως σε περίπτωση που το header βρίσκεται σε κάποιο απο τα μεταγλωττισμένα πηγαία αρχεία. (ΠΕΙΡΑΜΑΤΙΚΟ)

  • -deppkgname=<d:n> <d> είναι το όνομα της εξάρτησης. <n> είναι το όνομα του πακέτου εξάρτησης. Μπορεί να οριστεί πολλαπλές φορές.

  • -depkeyhead=<d:h> <d> είναι το όνομα της εξάρτησης. <h> είναι το header-κλειδί (.h) της εξάρτησης πακέτου. Μπορούν να οριστούν πολλαπλά εναλλακτικά headers .

  • -depoptional=<d:f> <d> είναι το όνομα της εξάρτησης. το <f> μπορεί να είναι 'yes' ή 'no', καθορίζει το άν η εξάρτηση είναι προαιρετική. Προεπιλογή: no

  • -depcontrol=<d:v> <d> είναι το όνομα της εξάρτησης. <v> είναι η τιμή που ελέγχει πως γίνεται η ανίχνευση. Αποδεκτές τιμές: no, yes, force, nolocal, local. Προεπιλογή: το περιεχόμενο της μεταβλητής περιβάλλοντος HBMK_WITH_<d>

  • -depincroot=<d:r> <d> είναι το όνομα της εξάρτησης. Ορίστε το <r> ως ριζικό κατάλογο για μονοπάτια που ορίζονται στις -depincpath επιλογές.

  • -depincpath=<d:i> <d> είναι το όνομα της εξάρτησης. Προσθέστε <i> στη λίστα μονοπατιών ανίχνευσης header

  • -depincpathlocal=<d:i> <d> είναι το όνομα της εξάρτησης. Προσθέστε <i> στη λιστα μονοπατιών ανίχνευσης header, όπου <i> δείχνει σε ένα κατάλογο τοπικό προς το έργο και περιέχει μια ενσωματωμένη (aka. 'locally hosted') εξάρτηση.

  • -depimplibs=<d:dll> <d> είναι το όνομα της εξάρτησης. Προσθέστε <dll> στη πηγαία λίστα βιβλιοθηκών εισαγωγής

  • -depimplibd=<d:lib> <d> είναι το όνομα της εξάρτησης. Ορίστε το όνομα της δημιουργούμενης βιβλιοθήκης εισαγωγής σε <lib>

  • -depfinish=<d> <d> είναι το όνομα της εξάρτησης. Κλείνει τον ορισμό της εξάρτησης και επιτελεί την πραγματική ανίχνευση της εξάρτησης, ορίζοντας ανάλογα όλες τις προκαθορισμένες macro μεταβλητές φίλτρου και τις κατασκευαστικές επιλογές. Προαιρετικό, αν παραληφθεί, η ανίχνευση θα λάβει χώρα μετά την επεξεργασία όλων των επιλογών.

  • -plugin=<filename> προσθήκη plugin. το <filename> μπορεί να είναι: .hb, .prg, .hrb

  • -pi=<filename> πέρασμα του αρχείου εισόδου στα plugins

  • -pflag=<f> απλό πέρασμα σημαίας -flag- στα plugins

Οι παρακάτω επιλογές είναι διαθέσιμες στη γραμμή-εντολών:

  • -target=<script> καθορίζει ένα νέο έργο προς κατασκευή. το <script> μπορεί να είναι .prg (ή καμμία κατάληξη) ή .hbp αρχείο. Σημειώστε ότι τα αρχεία .hbp θεωρούνται αυτόματα ως ξεχωριστές κατασκευές.

  • -hbrun εκτέλεση του κατασκευασμένου έργου

  • -hbraw διακοπή μετά το τρέξιμο του μεταγλωττιστή

  • -hbcmp|-clipper τερματισμός μετά την δημιουργία των object αρχείων
    δημιουργείστε δεσμό/αντιγράψτε το hbmk2 σε hbcmp/clipper για να επιτύχετε το αυτό αποτέλεσμα

  • -hbcc αποδοχή σημαιών C χωρίς έλεγχο
    δημιουργείστε σύνδεσμο/αντιγράψτε το hbmk2 σε hbcc για να επιτύχετε όμοια λειτουργικότητα

  • -hblnk αποδοχή ανεπεξέργαστων flags συνδέτη

  • -autohbm[-] ενεργοποίηση (ή απενεργοποίηση) επεξεργασίας του hbmk.hbm στο τρέχοντα κατάλογο (προεπιλογή: yes)

  • -hb10 ενεργοποίηση συμβατότητας Harbour 1.0.x

  • -hb20 ενεργοποίηση συμβατότητας Harbour 2.0.x

  • -hb30 ενργοποίηση συμβατότητας Harbour 3.0.x

  • -xhb ενεργοποίηση xhb mode

  • -hbc ενεργοποίηση καθαρού C mode

  • -rtlink

  • -blinker

  • -exospace προσομοίωσε σε Clipper συμβατή τη συμπεριφορά του linker
    create link/copy hbmk2 to rtlink/blinker/exospace for the same effect

  • -hbreg[=global] καταχώριση συσχέτισης σεναρίου Harbour (.hb) με το hbmk2 (μόνο σε Windows -registry-)

  • -hbunreg[=global] κατάργηση καταχώρισης συσχέτισης σεναρίου Harbour (.hb) με το hbmk2 (μόνο σε Windows -registry-)

  • -find <text> δημιουργεί λίστα όλων των γνωστών συναρτήσεων Harbour που περιέχουν <text> στο όνομα τους, μαζί με τα πακέτα τους (αδιάφορο παζών/κεφαλαίων, δέχεται παλλαπλές τιμές, μπορεί να περιέχει wildcard χαρακτήρες)

  • -hbmake=<file> μετατροπή έργου hbmake <file> σε αρχείο .hbp

  • -xbp=<file> μετατροπή ενός .xbp (xbuild) <file> έργου σε .hbp αρχείο

  • -xhp=<file> μετατροπή έργου .xhp (xMate) <file> σε αρχείο .hbp

  • --hbdirbin εξάγει τον κατάλογο /path/ των εκτελέσιμων Harbour στη stdout

  • --hbdirdyn εξάγει τον κατάλογο /path/ των δυναμικών βιβλιοθηκών Harbour στη stdout

  • --hbdirlib εξάγει τον κατάλογο /path/ των στατικών βιβλιοθηκών Harbour στη stdout

  • --hbdirinc εξάγει τον κατάλογο /path/ των αρχείων Harbour στη stdout

  • --hbinfo[=nested] Εξαγωγή πληροφορίες κατασκευής του Harbour στην stdout. Το αποτέλεσμα είναι σε μορφή JSON. Τα περιλαμβανόμενα μονοπάτια πάντοτε περιέχουν κάθετες εμπρός παύλες. Κάθε JSON τμήμα ακολουθείται από ένα 0x0A χαρακτήρα.

  • -plat=<platform> επικάλυψη προεπιλεγμένης πλατφόρμας-έργου (προεπιλογή: αυτομάτως)

  • -cpu=<cpu> υπερισχύει έναντι της προεπιλεγμένης CPU-στόχου (προεπιλογή: αυτομάτως) (ΠΕΙΡΑΜΑΤΙΚΟ)

  • -comp=<compiler> επικάλυψη της αυτόματης ανίχνευσης μεταγλωττιστή C
    Ειδική τιμή:
    - bld: χρήση των πρωταρχικών ρυθμίσεων κατασκευής (προεπιλογή σε *nix)

  • -build=<name> ορισμός ονόματος κατασκευής

  • -lang=<lang> υπερισχύει έναντι της προεπιλεγμένης γλώσσας. Το <lang> είναι ένας κατά ISO κωδικός γλώσσας.

  • -width=<n> ορισμός του πλάτους εξόδου σε <n> χαρακτήρες (0=απεριόριστο).

  • -shl εμφάνιση επιπέδου του υπο-έργου στις γραμμές-εξόδου

  • -viewhelp εκτεταμένη βοήθεια σε προβολή κειμένου

  • -longhelp εκτεταμένη βοήθεια

  • -longhelpmd εκτεταμένη βοήθεια σε μορφή Markdown

  • -harbourhelp Βοηθεια μεταγλωττιστή Harbour (όλες οι επιλογές μεταγλωττιστή Harbour γίνονται δεκτές ως έχουν υπό hbmk2)

  • -credits Διαπιστευτήρια του μεταγλωτιστή Harbour

  • -build Πληροφορία κατασκευής μεταγλωτιστή Harbour

  • -version εμφάνιση κεφαλίδας έκδοσης μόνο

Οι παρακάτω επιλογές είναι εσωτερικές/developer (η συμβατότητα δεν είναι εγγυημένη)

  • -debugtime μέτρηση χρόνου κατασκευής
  • -debuginc εμφάνιση εσωτερικών στοιχείων της incremental κατασκευής
  • -debugstub εμφάνιση περιεχομένων όλων των εσωτερικά δημιουργημένων πηγαίων αρχείων
  • -debugi18n εμφάνιση εσωτερικών στοιχείων της δημιουργίας αρχείου μετάφρασης
  • -debugdepd εμφάνιση εσωτερικών στοιχείων της ανίχνευσης εξάρτησης
  • -debugpars εμφάνιση όλων των παραμέτρων εισόδου με τη σειρά που επεξεργάζονται
  • -debugrte παράγει ένα λάθος χρόνου-εκτέλεσης /run-time error/

Μορείτε να συνδέσετε/αντιγράψετε/μετονομάσετε το hbmk2 στα ακόλουθα ονόματα για να αλλάξετε την προεπιλεγμένη λειτουργία του:

  • hbrun*|*hbrun κατάσταση λειτουργίας εκτέλεσης σεναρίων / διαδραστικό κέλυφος
  • hbrund|hbrun*d κατάσταση λειτουργίας εκτέλεσης σεναρίων / διαδραστικό κέλυφος με λειτουργία αποσφαλμάτωσης
  • harbour μοντέλο -hbraw (προσομοίωση - raw - του μεταγλωττιστή Harbour)
  • clipper κατάσταση λειτουργίας -hbcmp (προσομοίωση μεταγλωττιστή Clipper)
  • rtlink κατάσταση λειτουργίας -rtlink (προσομοίωση Clipper linker)
  • exospace κατάσταση λειτουργίας -rtlink (προσομοίωση Clipper linker)
  • blinker κατάσταση λειτουργίας -rtlink (προσομοίωση Clipper linker)
  • *10 επιλογή -hb10
  • *20 επιλογή -hb20
  • *30 επιλογή -hb30
  • x* επιλογή -xhb
  • hbcmp*|*hbcmp κατάσταση λειτουργίας -hbcmp (προσομοίωση μεταγλώτισης Harbour που δημιουργεί δυαδικό object)
  • hbcc*|*hbcc μοντέλο -hbcc (προσομοίωση μεταγλωττιστή C)
  • hblnk*|*hblnk μοντέλο -hblnk (προσομοίωση C συνδέτη)
  • hbexe*|*hbexe μέθοδος -hbexe
  • hblib*|*hblib μέθοδος -hblib
  • hbdyn*|*hbdyn μέθοδος -hbdyn

Αρχεία:

  • *.hbp αρχείο έργου. Μπορεί να περιέχει οποιοδήποτε αριθμό επιλογών γραμμής-εντολών, οι οποίες αναμένεται να αποφέρουν ένα αποτέλεσμα, δηλ. δημιουργία μιας εφαρμογής. Γραμμές που αρχίζουν με το χαρακτήρα '#' αγνοούνται, κατα τ'άλλα, η δημιουργία ξεχωριστών γραμμών είναι προαιρετική και οι επιλογές μπαίνουν διαχωρισμένες με κενό διάστημα, ακριβώς όπως στη γραμμή-εντολών. Επιλογή που περιέχει κενό διάστημα πρέπει να εγκλειστεί σε "εισαγωγικα". Κάθε αναφορά αρχείου .hbp θα εκτελεστεί σαν υπο-έργο.

  • *.hbm συλλογή επιλογών. Μπορεί να χρησιμοποιηθεί για συγκέντρωση κοινών επιλογών μέσα σε ένα αρχείο το οποίο θα συμπεριληφθεί μέσα σε αρχεία έργου. Χρησιμοποιεί μορφή ίδια με τα .hbp αρχεία.

  • *.hbc συλλογή από επιλογές που συνοδεύουν συστατικά στοιχεία (γνωστά και ως 'βιβλιοθήκες', γνωστά και ως πακέτα). γίνεται χρήση διαφορετικής σύνταξης απο αυτήν της γραμμής-εντολών και των αρχείων .hbp/.hbm. Γραμμές που αρχίζουν με το χαρακτήρα '#' αγνοούνται, κάθε ντιρεκτίβα πρέπει να τοποθετείται σε ξεχωριστή γραμμή.

  • *.ch αν περαστεί κατευθείαν σαν πηγαίο αρχείο, θα χρησιμοποιηθεί σαν επιπλέον πρότυπο header

  • hbmk.hbc standard αρχείο .hbc που δέχεται αυτόματη επεξεργασία, αν είναι παρόν. Πιθανή(ές) τοποθεσίες (με σειρά προτεραιότητας) [*]: %APPDATA%\.harbour, <hbmk2 κατάλογος>

  • hbmk.hbm προαιρετικό .hbm αρχείο μέσα στο τρέχοντα κατάλογο εργασίας, που δέχεται επεξεργασία αυτομάτως, πρίν από τυχόν άλλες επιλογές

  • $hb_pkg_dynlib.hbm ειδικό .hbm αρχείο ενσωματομένο μέσα στο hbmk2. Διαχειρίζεται τις λεπτομέρειες δημιουργίας μιας δυναμικής βιβλιοθήκης (κατά το πρότυπο των Harbour contribs).

  • $hb_pkg_install.hbm ειδικό .hbm αρχείο ενσωματωμένο μέσα στο hbmk2. Διαχειρίζεται τις λεπτομέρειες της εγκατάστασης των κατασκευαζόμενων έργων και των σχετιζόμενων πακέτων αρχείων σε standard περιοχές (κατά το πρότυπο των Harbour contribs).

  • *.hb Σενάριο Harbour

  • *.hrb Μεταφέρσιμο δυαδικό Harbour (γνωστό και ως προκατασκευασμένο σενάριο)

  • hbstart.hb εναρκτήριο σενάριο Harbour για το διαδραστικό κέλυφος Harbour. Εκτελείται αυτόματα κατά την έναρξη του κελύφους, αν υπάρχει. Ενδεχόμενες τοποθεσίες (με σειρά προτεραιότητας) [*]: .\, %APPDATA%\.harbour, <hbmk2 κατάλογος>

  • shell plugins .hb και .hrb plugins για το διαδραστικό κέλυφος του Harbour. Πρέπει να βρίσκονται μέσα στο [*]: %APPDATA%\.harbour\

  • .hb_history αποθηκεύει ιστορικό εντολών για το διαδραστικό κέλυφος του Harbour. Μπορείτε να απενεργοποιήσετε το ιστορικό κάνοντας την πρώτη γραμμή 'no' (χωρίς τα εισαγωγικά και με νεα γραμμή). Βρίσκεται στο [*]: %APPDATA%\.harbour\

  • hb_extension λίστα καταλήξεων προς φόρτωση στο διαδραστικό κέλυφος του Harbour. Μία κατάληξη ανα γραμμή, το τμήμα της γραμμής μετά από ένα χαρακτήρα '#' αγνοείται. Εναλλακτικά ονομα-αρχείου στο Ms-DOS: Το hb_ext.ini. Βρίσκεται μεσα στο [*]: %APPDATA%\.harbour\

Μεταβλητές Macro:

  • ${hb_root} κατάλογος του hbmk2
  • ${hb_dir} κατάλογος του χρησιμοποιούμενου ονόματος αρχείου
  • ${hb_dirname} ανώτατος κατάλογος του αρχείου που χρησιμοποιείται
  • ${hb_name} όνομα του αρχείου που χρησιοποιείται (χωρίς κατάλογο και κατάληξη)
  • ${hb_self} πλήρες όνομα του αρχείου που χρησιμοποιείται
  • ${hb_curdir} τρέχων καταλόγος εργασίας
  • ${hb_tempdir} Κατάλογος Λ.Σ. για προσωρινα αρχεία
  • ${hb_targetname} όνομα του έργου (χωρίς κατάλογο και κατάληξη). Επιστρέφει .adhoc. αν δεν υπαρχει αρχείο έργου.
  • ${hb_targettype} ο τύπος του έργου (hbexe, hblib, hbdyn, hbdynvm, hbimplib, hbppo, hbhrb, hbcontainer)
  • ${hb_plat} επιλεγμένη πλατφόρμα
  • ${hb_comp} επιλεγμένος μεταγλωττιστής C
  • ${hb_comp_ver} Εκδοση μεταγλωττιστή C
  • ${hb_build} όνομα κατασκευής
  • ${hb_cpu} επιλεγμένη CPU
  • ${hb_work} προεπιλεγμένο όνομα βασικού καταλόγου εργασίας
  • ${hb_workdynsub} προεπιλεγμένος υποκατάλογος εργασίας για τις κατασκευαζόμενες δυναμικές βιβλιοθήκες
  • ${hb_dynprefix} πρόθεμα δυναμικής βιβλιοθήκης
  • ${hb_dynsuffix} επίθεμα δυναμικής βιβλιοθήκης
  • ${hb_dynext} κατάληξη δυναμικής βιβλιοθήκης
  • ${hb_ver} Η έκδοση Harbour σε δεκαεξαδική μορφή τριπλού χαρακτήρα. Π.χ.: 030200
  • ${hb_verstr} η έκδοση Harbour σε ανθρώπινα αναγνώσιμη μορφή <major>.<minor>.<release><status>. Π.χ.: 3.2.0dev
  • ${hb_major} Μείζων αριθμός έκδοσης Harbour
  • ${hb_minor} Δευτερεύων αριθμός έκδοσης
  • ${hb_release} Αριθμός έκδοσης Harbour -release-
  • ${hb_status} Κατάσταση έκδοσης Harbour
  • ${hb_revision} Αναθεώρηση Harbour
  • ${hb_host_plat} Πλατφόρμα υποδοχής
  • ${hb_host_plat_unix} επιστρέφει '1' αν η πλατφόρμα υποδοχής Harbour είναι *nix συμβατή
  • ${hb_bin} Κατάλογος εκτελέσιμων αρχείων Harbour
  • ${hb_lib} Κατάλογος στατικών βιβλιοθηκών Harbour
  • ${hb_lib3rd} Κατάλογος 3rd party βιβλιοθηκών Harbour
  • ${hb_dyn} Κατάλογος δυναμικών βιβλιοθηκών Harbour
  • ${hb_inc} Κατάλογος header Harbour
  • ${hb_addons} Κατάλογος βάσης add-ons Harbour
  • ${hb_first} το όνομα του πηγαίου αρχείου που περιέχει την συνάρτηση εκκίνησης (χωρίς κατάλογο και κατάληξη)
  • ${hb_outputdir} ο κατάλογος εξόδου
  • ${hb_outputname} το όνομα εξόδου (χωρίς κατάληξη)
  • ${hb_level} επίπεδο αναδρομικότητας υπο-έργου
  • ${<depname>} επιστρέφει τον επικεφαλής κατάλογο της εξάρτησης <depname>, ή '1' αν δεν ανιχνευτεί
  • ${<envvar>} επιστρέφει την τιμή της μεταβλητής-περιβάλλοντος <envvar>

Φίλτρα (μπορείτε να τα συνδυάσετε και/ή να τα αναιρέσετε):

  • {<platform>} η πλατφόρμα-στόχος. Οπου <platform> μπορεί να είναι κάθε τιμή αποδεκτή από την επιλογή -plat= .
  • {<compiler>} ο C μεταγλωττιστής-στόχος. Οπου <compiler> μπορεί να είναι κάθε τιμή αποδεκτή απο την επιλογή -comp.
  • {<cpu>} τύπος CPU εκτέλεσης του έργου. Οπου <cpu> μπορεί να είναι κάτι από: x86, x86_64, ia64, arm, mips, sh
  • {<targettype>} τύπος κατασκευής έργου. Οπου <targettype> είναι μια από τις τιμές που επιστρέφονται από την macro μεταβλητή ${hb_targettype}.
  • {mt} το κατασκευαζόμενο έργο είναι πολυ-νηματικό /multi-threaded/ (δες επιλογή -mt)
  • {st} το κατασκευαζόμενο έργο είναι μονό-νηματικό /single-threaded/ (δες επιλογή -st)
  • {gui} στόχος Γραφικού Περιβάλλοντος Χρήστη GUI (δες επιλογή -gui)
  • {std} στόχος κονσόλας (δες επιλογή -console)
  • {debug} Ενεργοποιημένη αποσφαλμάτωση επιπέδου C (δες επιλογή -debug)
  • {nodebug} Απενεργοποίηση αποσφαλμάτωσης επιπέδου C (δες -debug- επιλογή)
  • {shared} κατασκευή shared (δες -shared και τις σχετικές επιλογές)
  • {static} κατασκευή static (δες -static και τις σχετικές επιλογές)
  • {lngcpp} εξαναγκασμένη C++ κατάσταση λειτουργίας (δες -cpp επιλογή)
  • {lngc} εξαναγκασμένη C κατάσταση λειτουργίας (δες -cpp επιλογή)
  • {winuni} κατάσταση λειτουργίας Windows UNICODE (WIDE) (δες επιλογή -winuni)
  • {winansi} κατάσταση λειτουργίας Windows ANSI (δες επιλογή -winuni-)
  • {unix} η παλτφόρμα-στόχος είναι *nix συμβατή (bsd, hpux, sunos, beos, qnx, android, vxworks, symbian, linux, darwin, cygwin, minix, aix)
  • {allwin} η πλατφόρμα-προορισμού είναι Windows συμβατή (win, wce)
  • {allgcc} ο χρησιμοποιούμενος μεταγλωττιστής C ανήκει στην οικογένεια gcc (gcc, mingw, mingw64, mingwarm, djgpp, gccomf, clang, open64, pcc)
  • {allmingw} ο χρησιμοποιούμενος μεταγλωττιστής C είναι mingw* (mingw, mingw64, mingwarm)
  • {allmsvc} ο μεταγλωττιστής C που θα χησιμοποιηθεί είναι msvc* (msvc, msvc64, msvcia64, msvcarm)
  • {allbcc} ο χρησιμοποιούμενος μεταγλωττιστής C είναι bcc* (bcc, bcc64)
  • {allpocc} ο στοχευμένος μεταγλωττιστής C είναι pocc* (pocc, pocc64, poccarm)
  • {allicc} ο στοχευμένος μεταγλωττιστής C είναι icc* (icc, iccia64)
  • {hb10} Κατάσταση συμβατότητας Harbour 1.0.x (δες επιλογή -hb10)
  • {hb20} Κατάσταση συμβατότητας Harbour 2.0.x (δες επιλογή -hb20)
  • {hb30} Κατάσταση συμβατότητας Harbour 3.0.x (δες επιλογή -hb30)
  • {xhb} xhb μοντέλο (δες επιλογή -xhb)
  • {hb_ispath='<file|dir>'} το φίλτρο θα περάσει αν το όνομα <file> ή <dir> υπάρχει στο δίσκο.
  • {MACRO} το φίλτρο θα περάσει αν η τιμή ${MACRO} δεν είναι άδεια και όχι ίση με '0' ή 'no' (πεζά/κεφαλαία: αδιάφορο)
  • {MACRO='<value>'} το φίλτρο θα περάσει αν η τιμή ${MACRO} ισούται με την <value> (ευαίσθητο σε πεζά/κεφαλαία)
  • {MACRO>'<value>'} το φίλτρο θα περάσει αν η τιμή ${MACRO} είναι μεγαλίτερη από την <value> (πεζά/κεφαλαία: αδιάφορο)
  • {MACRO<'<value>'} το φίλτρο θα περάσει αν η τιμή ${MACRO} είναι μικρότερη από την <value> (πεζά/κεφαλαία: αδιάφορο)

Προκαθορισμένες σταθερές σε πηγαία αρχεία:

  • __HBSCRIPT__HBMK_PLUGIN όταν ένα σενάριο .hb είναι μεταγλωττισμένο ως plugin του hbmk2

  • __HBEXTREQ__ όταν ενα .hbx πηγαίο αρχείο είναι παρόν σε ένα έργο (διαθέσιμο στα πηγαία αρχεία Harbour)

  • HBMK_HAS_<hbcname> όταν το πακέτο <hbcname>.hbc είναι συνδεδεμένο στο έργο κατασκευής. Η τιμή είναι η version= τιμή απο το αρχείο .hbc, μετασχηματισμένη σε δεκαδικό αριθμό, ο οποίος είναι '1', αν δεν έχει οριστεί. (διαθέσιμο σε πηγαία αρχεία Harbour)

  • HBMK_HAS_<depname> όταν ανιχνεύτηκε η εξάρτηση <depname> (διαθέσιμο σε πηγαίους κώδικες C)

  • __HBSCRIPT__HBSHELL όταν ένα πηγαίο αρχείο Harbour εκτελείται ως σενάριο κελύφους

  • <standard Harbour> __PLATFORM__*, __ARCH*BIT__, __*_ENDIAN__, κ.λ.π....

Προκαθορισμένες σταθερές σε αρχεία κατασκευής (είναι διαθέσιμες μετά από '-depfinish=<depname>' / 'depfinish=<depname>'):

  • HBMK_HAS_<depname> όταν <depname> εξάρτηση ανιχνεύτηκε
  • HBMK_DIR_<depname> επιστρέφει τον επικεφαλής κατάλογο όπου η <depname> ανιχνεύτηκε, ή κενό αν δεν ανιχνεύτηκε.
  • HBMK_HAS_<depname>_LOCAL οταν η εξάρτηση <depname> ανιχνεύτηκε σε μια θέση που ορίστηκε με την επιλογή -depincpathlocal=

Μεταβλητές περιβάλλοντος:

  • HBMK_OPTIONS δέχεται οποιεσδήποτε επιλογές σαν να είχαν αυτές περαστεί στην αρχή της γραμμής-εντολών

  • HB_PLATFORM δέχεται τις ίδιες τιμές όπως και η επιλογή -plat=

  • HB_COMPILER δέχεται τις ίδιες τιμές όπως και η επιλογή -comp=

  • HB_CPU δέχεται τις ίδιες τιμές όπως και η επιλογή -cpu=

  • HB_BUILD_NAME δέχεται τις ίδιες τιμές όπως και η επιλογή -build=

  • HB_LANG δέχεται τις ίδιες τιμές όπως και η επιλογή -lang=

  • HB_USER_LIBS δέχεται τις ίδιες τιμές (χωρισμένες με κενό) όπως και η επιλογή -l

  • HB_USER_LIBPATHS δέχεται τις ίδιες τιμές (χωρισμένες με κενό) όπως και η επιλογή -L

  • HB_USER_PRGFLAGS επιλογές που θα περαστούν στον μεταγλωττιστή Harbour (πρίν από τυχόν επιλογές γραμμής-εντολών)

  • HB_USER_CFLAGS επιλογές που θα περαστούν στον μεταγλωττιστή C (πρίν από τυχόν επιλογές γραμμής-εντολών)

  • HB_USER_RESFLAGS επιλογές που θα περαστούν στον resource compiler (πρίν από επιλογές γραμμής-εντολών) (μόνο για Windows)

  • HB_USER_LDFLAGS επιλογής που θα περαστούν στον συνδέτη (εκτελέσιμου) (πρίν τις επιλογές της γραμμής-εντολών)

  • HB_USER_DFLAGS επιλογές που θα περαστούν στον συνδέτη -linker- (dynamic library) (πρίν από επιλογές γραμμής-εντολών)

  • HB_USER_AFLAGS επιλογές που θα περαστούν στον συνδέτη -linker- (static library) (πρίν τις επιλογές της γραμμής-εντολών)

  • HB_COMPILER_VER επικάλυψη αυτόματης ανίχνευσης της έκδοσης του μεταγλωττιστή C (μόνο για οικογένειες μεταγλωττιστών gcc και msvc). Μορφή: <15><00>[.<00>] = <major><minor>[.<revision>]

  • HB_CCPATH επικάλυψη του καταλόγου εκτελέσιμων του μεταγλωττιστή C (μόνο σε gcc οικογένειες μεταγλωττιστών)

  • HB_CCPREFIX επικάλυψη του προθέματος εκτελέσιμου του μεταγλωττιστή C (μόνο σε gcc οικογένειες μεταγλωττιστών)

  • HB_CCSUFFIX επικάλυψη του επιθέματος εκτελέσιμου του μεταγλωττιστή C (μόνο σε gcc οικογένειες μεταγλωττιστών)

  • HB_INSTALL_PREFIX επικάλυψη του βασικού καταλόγου εγκατάστασης του Harbour

  • HB_INSTALL_ADDONS επικάλυψη του βασικού καταλόγου add-ons του Harbour

  • HB_EXTENSION λίστα καταλήξεων, διαχωρισμένων με κενό διάστημα, προς φόρτωση στο διαδραστικό κέλυφος του Harbour

.hbc ντιρεκτίβες (πρέπει να αναγράφονται σε ξεχωριστές γραμμές):

  • echo=<msg> εμφάνιση <msg>
  • skip=[<msg>] παράλειψη επεξεργασίας του υπόλοιπου .hbc αρχείου. Εμφάνιση <msg>, αν οριστεί.
  • stop=[<msg>] διακοπή της κατασκευής. Εμφάνιση του <msg>, αν οριστεί.
  • sources= προσθήκη λίστας αρχείων ως αρχεία εισόδου, διαχωρισμένων με κενό
  • headers= προσθήκη διαχωρισμένης με κενό λίστας από headers μορφής .ch ως πρότυπο header
  • libs= προσθήκη λίστας βιβλιοθηκών διαχωρισμένων με κενό (δες περισσότερα στην -l επιλογή)
  • frameworks= προσθήκη λίστας frameworks διαχωρισμένων με κενό (μόνο σε Darwin)
  • requests= προσθήκη λίστας συμβόλων /ονοματα συναρτήσεων κ.λ.π/ διαχωρισμένα με κενό, που θα διασυνδεθούν υποχρεωτικά στο κατασκευαζόμενο έργο
  • syslibs= προσθήκη λίστας βιβλιοθηκών χωρισμένων με κενό διάστημα ως βιβλιοθήκες συστήματος (πρίν από άλλες βιβλιοθήκες)
  • hbcs= ενσωμάτψση λίστας .hbc αρχείων διαχωρισμένων με κενό διάστημα. Επιτρέπονται ονόματα χωρίς την κατάληξη. Οι αναφορές αυτές επεξεργάζονται επι τόπου.
  • autohbcs= λίστα τιμών διαχωρισμένων με κενό διάστημα, όπως στην επιλογή -autohbc=
  • libpaths= λίστα μονοπατιών, διαχωρισμένων με κενό διάστημα, για πρόσθετες βιβλιοθήκες
  • incpaths= προσθήκη διαχωρισμένης με κενό λίστας πρόσθετων μονοπατιών header (για αμφότερα Harbour και C)
  • instfiles= λίστα τιμών διαχωρισμένων με κενό διάστημα, όπως στην επιλογή -instfile=
  • instpaths= λίστα τιμών διαχωρισμένων με κενό διάστημα, όπως στην επιλογή -instpath=
  • prgflags= λίστα τιμών διαχωρισμένων με κενό διάστημα, όπως στην επιλογή -prgflag=
  • cflags= λίστα τιμών διαχωρισμένων με κενό διάστημα, όπως στην επιλογή -cflag=
  • resflags= λίστα τιμών διαχωρισμένων με κενό διάστημα, όπως στην επιλογή -resflag=
  • ldflags= λίστα τιμών διαχωρισμένων με κενό διάστημα, όπως στην επιλογή -ldflag=
  • ldflags+= λίστα τιμών διαχωρισμένων με κενό διάστημα, όπως στην επιλογή -ldflag+=
  • dflags= λίστα τιμών διαχωρισμένων με κενό διάστημα, όπως στην επιλογή -dflag=
  • dflags+= λίστα τιμών διαχωρισμένων με κενό διάστημα, όπως στην επιλογή -dflag+=
  • pflags= λίστα τιμών διαχωρισμένων με κενό διάστημα, όπως στην επιλογή -pflag=
  • psources= λίστα τιμών διαχωρισμένων με κενό διάστημα, όπως στην επιλογή -pi=
  • gui=<bool> 'yes' = -gui, 'no' = -std επιλογή
  • mt=<bool> 'yes' = -mt, 'no' = -st επιλογή
  • pic=<bool> 'yes' = -pic, 'no' = -pic- επιλογή
  • shared=<bool> 'yes' = -shared, 'no' = -static επιλογή
  • shareddef=<bool> παρόμοιο με shared=, αλλά λειτουργεί μόνο αν το μοντέλο shared/static δεν έχει οριστεί πιο πρίν
  • fullstatic=<bool> 'yes' = -fullstatic, 'no' = -static επιλογή
  • debug=<bool> 'yes' = -debug, 'no' = -debug- επιλογή
  • optim= 'yes' = -optim, 'no' = -optim- επιλογή
  • nulrdd=<bool> 'yes' = -nulrdd, 'no' = -nulrdd- επιλογή
  • nodefgt=<bool> 'yes' = -nodefgt, 'no' = -nodefgt- επιλογή
  • map=<bool> 'yes' = -map, 'no' = -map- επιλογή
  • hbcppmm=<bool> 'yes' = -hbcpmm, 'no' = -hbcpmm- επιλογή
  • implib=<bool> 'yes' = -implib, 'no' = -implib- επιλογή
  • winuni=<bool> 'yes' = -winuni, 'no' = -winuni- επιλογή
  • strip=<bool> 'yes' = -strip, 'no' = -strip- επιλογή
  • run=<bool> 'yes' = -run, 'no' = -run- επιλογή
  • inc=<bool> 'yes' = -inc, 'no' = -inc- επιλογή
  • safe=<bool> 'yes' = -safe, 'no' = -safe- επιλογή
  • cpp= όμοιο με την επιλογή -cpp=
  • warn= όμοιο με την επιλογή -warn=
  • compr= όμοιο με την επιλογή -compr=
  • head= όμοιο με την επιλογή -head=
  • plugins= λίστα plugins του hbmk2 διαχωρισμένων με κενό διάστημα
  • gt=<name> όμοιο με την επιλογή -gt<name>
  • gtdef=<name> ορισμός του πρεπιλεγμένου GT που θα χρησιμοποιηθεί
  • env= όμοιο με την επιλογή -env:
  • deppkgname= όμοιο με την επιλογή -deppkgname=
  • depkeyhead= όμοιο με την επιλογή -depkeyhead=
  • depoptional= όμοιο με την επιλογή -depoptional=
  • depcontrol= όμοιο με την επιλογή -depcontrol=
  • depincroot= όμοιο με την επιλογή -depincroot=
  • depincpath= όμοιο με την επιλογή -depincpath=
  • depincpathlocal= όμοιο με την επιλογή -depincpathlocal=
  • depimplibs= όμοιο με την επιλογή -depimplibs=
  • depimplibd= όμοιο με την επιλογή -depimplibd=
  • depfinish= όμοιο με την επιλογή -depfinish=
  • name= όνομα πακέτου
  • description= περιγραφή πακέτου
  • version=<x.y.z> ο αριθμός έκδοσης του πακέτου, όπου x,y,z >= 0 <= 255. Τίθεται σε 0.0.1, αν δεν οριστεί.
  • keywords= λίστα keywords διαχωρισμένων με κενό διάστημα
  • licences= λίστα αδειών διαχωρισμένων με κενό διάστημα
  • repository= λίστα αναφορών πηγαίων αποθηκών -repository-, διαχωρισμένων με κενό διάστημα

Plugin API:
(η 'hbmk' είναι η μεταβλητή περιβάλλοντος που λαμβάνεται από τη συνάρτηση εισόδου του plugin)

  • hbmk_Register_Input_File_Extension( hbmk, <cExt> ) -> NIL
    Καταχώριση κατάληξης αρχείου που θα περαστεί σε plugin (από προεπιλογή, όλες οι άγνωστες καταλήξεις αρχείων περνάνε στον μεταγλωττιστή Harbour).
  • hbmk_AddInput_PRG( hbmk, <cFileName> ) -> NIL
    Προσθήκη ενός Harbour αρχείου εισόδου στο έργο.
  • hbmk_AddInput_C( hbmk, <cFileName> ) -> NIL
    Προσθήκη ενός C αρχείου εισόδου στο έργο.
  • hbmk_AddInput_CPP( hbmk, <cFileName> ) -> NIL
    Προσθήκη ενός C++ αρχείου εισόδου στο έργο.
  • hbmk_AddInput_RC( hbmk, <cFileName> ) -> NIL
    Προσθήκη ενός Windows resource αρχείου στο έργο.
  • hbmk_AddInput_OBJ( hbmk, <cFileName> ) -> NIL
    Προσθήκη ενός δυαδικού object αρχείου στο έργο.
  • hbmk_AddInput_INSTFILE( hbmk, <cFileName>, [<cGroup>] ) -> NIL
    Προσθήκη αρχείου προς εγκατάσταση, με ένα προαιρετικό -instpath= όνομα ομάδας.
  • hbmk_OutStd( hbmk, <cText> ) -> NIL
    Εξοδος κειμένου στο stdout.
  • hbmk_OutErr( hbmk, <cText> ) -> NIL
    Εξοδος κειμένου στο
  • hbmk_OutStdRaw( hbmk, ... ) -> NIL
    Εξοδος κειμένου στο stdout χωρίς καμμία μορφοποίηση.
  • hbmk_OutErrRaw( hbmk, ... ) -> NIL
    Εξοδος κειμένου στο stderr χωρίς καμμία μορφοποίηση.
  • hbmk_Macro( hbmk, <cMacro> ) -> <cResult>
    Αξιολόγηση της macro έκφρασης hbmk2 .
  • hbmk_FNameEscape( hbmk, <cFileName> ) -> <cFileName>
    Οριοθετημενο με Escape ή εισαγωγικά όνομα αρχείου που θα χρησιμοποιηθεί ως παραμέτρος εξωτερικής εντολή.
  • hbmk_PathSepToTarget( hbmk, <cFileName> ) -> <cFileName>
    Μετατροπή ονόματος αρχείου στη μορφή που απαιτείται για την πλατφόρμα προορισμού/μεταγλωττιστή C.
  • hbmk_PathSepToForward( <cPath> ) -> <cPath>
    Μετατροπή του ονόματος αρχείου ωστε να έχει, ως διαχωριστικό καταλόγου, την εμπρός κάθετη παύλα / .
  • hbmk_PathFromWorkdirToCWD( hbmk ) -> <cRelativePath>
    Επιστροφή σχετικού μονοπατιού της τιμής του -workdir= από το τρέχοντα κατάλογο εργασίας.
  • hbmk_FindInPath( <cFileName>, [<xPath>], [<aExtDef>] ) -> <cFNFound> | NIL
    Ευρεση αρχείου στο <xPath> (είναι δεκτά, πίνακας ή συμβολοσειρά διαχωρισμένη με διαχωριστές καταλόγου) που περιέχει λίστα από <aExtDef> εναλλακτικές καταλήξεις (defaults to executable binaries). Επιστρέφει όνομα-αρχείου αν βρεθεί και NIL αν όχι.
  • hbmk_FNameDirExtSet( <cFileName>, [<cDirNew>], [<cExtNew>] ) -> <cFileName>
    Αλλαγή του καταλόγου και της κατάληξης του αρχείου
  • hbmk_FuncNameEncode( <cFuncName> ) -> <cFuncNameEncoded>
    Κωδικοποίηση ονόματος συνάρτησης σύμφωνα με τους κανόνες Harbour περί μορφοποίησης ονόματων των HB_FUNC() συναρτήσεων σε κώδικα C .
  • hbmk_StrStripQuote( <cString> ) -> <cString>
    Αφαίρεση των διπλών εισαγωγικών εγκλεισμού από μία συμβολοσειρά.
  • hbmk_ArrayToList( <aList>, [<cSeparator>] ) -> <cList>
    Μετατροπή ενός πίνακα συμβολοσειρών σε συμβολοσειρά. Προεπιλεγμένος διαχωριστής είναι ένα κενό διάστημα.

Μεταβλητές Plugin:
(στοιχεία hash συναφή με 'hbmk', ευαίσθητα σε πεζά-κεφαλαία, μόνο-για ανάγνωση, εκτός κι αν σημειώνεται κάτι άλλο)

  • "apiver" η έκδοση ΑΡΙ σαν ακέραιος αριθμός
  • "cSTATE" δήλωση επίκλισης. Μπορεί να είναι: 'init', 'pre_all', 'pre_prg', 'pre_res', 'pre_c', 'pre_link', 'pre_lib', 'pre_cleanup', 'post_build', 'post_all'
  • "params" πίνακας παραμέτρων που περνιώνται στα plugins μέσω των επιλογών -pflag=/pi= ή που έχουν μία κατάληξη καταχωρημένη μέσω της συνάρτησης hbmk_Register_Input_File_Extension()
  • "vars" Κατακερματισμός -hash- των ιδιαίτερων μεταβλητών plugin. Εγγράψιμο, τοπικά σε κάθε plugin
  • "cPLAT" -plat τιμή
  • "cCOMP" -comp τιμή
  • "nCOMPVer" δες HB_COMPILER_VER μεταβλητή περιβάλοντος
  • "cCPU" -cpu τιμή
  • "cBUILD" -build= τιμή
  • "cOUTPUTNAME" -o τιμή
  • "cTARGETNAME" δες ${hb_targetname} macro
  • "cTARGETTYPE" δες ${hb_targettype} macro
  • "lREBUILD" -rebuild κατάσταση επιλογής
  • "lCLEAN" -clean κατάσταση επιλογής
  • "lDEBUG" -debug κατάσταση επιλογής
  • "lMAP" -map κατάσταση επιλογής
  • "lSTRIP" -strip κατάσταση επιλογής
  • "lDONTEXEC" -traceonly κατάσταση επιλογής
  • "lIGNOREERROR" -ignore κατάσταση επιλογής
  • "lTRACE" -trace κατάσταση επιλογής
  • "lQUIET" -q κατάσταση επιλογής
  • "lINFO" -info κατάσταση επιλογής
  • "lBEEP" -beep κατάσταση επιλογής
  • "lRUN" -run κατάσταση επιλογής
  • "lINC" -inc κατάσταση επιλογής
  • "cCCPATH" δες HB_CCPATH μεταβλητή περιβάλοντος
  • "cCCPREFIX" δες HB_CCPREFIX μεταβλητή περιβάλοντος
  • "cCCSUFFIX" δες HB_CCSUFFIX μεταβλητή περιβάλοντος
  • "cCCEXT" δες HB_CCEXT μεταβλητή περιβάλοντος
  • "cWorkDir" -workdir= τιμή
  • "nExitCode" Τρέχων κωδικός εξόδου

Shell API διαθέσιμο σε σενάρια Harbour:

  • hbshell_gtSelect( [<cGT>] ) -> NIL
    Αλλαγή GT. Προεπιλογή [*]: 'gtwin'
  • hbshell_Clipper() -> NIL
    Ενεργοποίηση κατάστασης συμβατότητας Clipper (όχι-Unicode).
  • hbshell_include( <cHeader> ) -> <lSuccess>
    Φόρτωση Harbour header.
  • hbshell_uninclude( <cHeader> ) -> <lSuccess>
    Αποφόρτωση Harbour header.
  • hbshell_include_list() -> NIL
    Εμφάνιση λίστας των φορτωμένων Harbour header.
  • hbshell_ext_load( <cPackageName> ) -> <lSuccess>
    Φόρτωση πακέτου. Παρόμοιο με τη ντιρεκτίβα #request PP.
  • hbshell_ext_unload( <cPackageName> ) -> <lSuccess>
    Αποφόρτωση πακέτου
  • hbshell_ext_get_list() -> <aPackages>
    Λίστα φορτωμένων πακέτων
  • hbshell_DirBase() -> <cBaseDir>
    Το hb_DirBase() δεν χαρτογραφήθηκε σε σενάριο.
  • hbshell_ProgName() -> <cPath>
    Το hb_ProgName() δεν χαρτογραφήθηκε σε σενάριο.

Παραδείγματα για να ξεκινήσετε τη χρήση του hbmk2:

  • Για εκτέλεση το διαδραστικού κελύφους ('dot' prompt)
    $ hbmk2 .
  • Για να εκτελέσετε ένα σενάριο Harbour
    $ hbmk2 myscript.hb [<παραμετρος[ι]>]

Παραδείγματα δημιουργίας & εκετέλεσης μεταφέρσιμου δυαδικού αρχείου Harbour (γνωστό και ως προκατασκευασμένο σενάριο):

  • Για δημιουργία
    $ hbmk2 -gh myscript.hb
  • Για να εκτελέσετε το αποτέλεσμα των παραπάνω
    $ hbmk2 myscript.hrb [<παραμετρος[ι]>]

Παραδείγματα δημιουργίας μιας εφαρμογής Harbour:

  • Για την κατασκευή ενός μοναδικού
    $ hbmk2 hello.prg
  • Για να δημιουργήσετε μία εφαρμογή που περιλαμβάνει πολλαπλά .prg αρχεία με αυξητικό ρυθμό -incremetnal-
    $ hbmk2 mymain.prg myfuncs.prg -inc
  • Για να δημιουργήσετε μία εφαρμογή με χρήση ενός αρχείου Εργου
    $ hbmk2 myapp.hbp
  • Για να δημιουργήσετε μία εφαρμογή χρησιμοποιώντας σταδιακά-αυξητική -incremental- μέθοδο
    $ hbmk2 myapp.hbp -inc
  • Για κατασκευή μιάς εφαρμογής που χρησιμοποιεί πακέτο contrib ή πακέτο 3rd party (πρόσθετο) το οποίο συμπεριλαμβάνει ένα .hbc αρχείο
    $ hbmk2 myapp.prg hbct.hbc
  • Για να δημιουργήσετε μία εφαρμογή που χρησιμοποιεί μία raw βιβλιοθήκη
    $ hbmk2 myapp.prg -lmylib -L<path_to_mylib>
  • Για να δημιουργήσετε μία εφαρμογή που χρησιμοποιεί ένα Windows resource
    $ hbmk2 mymain.prg myres.rc
  • Για να δημιουργήσετε μία εφαρμογή με αναφορές σε δυναμικές βιβλιοθήκες Harbour
    $ hbmk2 -shared myapp.prg
  • Για δημιουργία εφαρμογής από όλα τα .prg και .c αρχεία που υπάρχουν μεσα σε ένα 'πηγαίο' υποκατάλογο
    $ hbmk2 -omyapp src/*.prg src/*.c

Παραδείγματα δημιουργίας μιας στατικής βιβλιοθήκης:

  • Για κατασκευή της βιβλιοθήκης 'mylib' από πηγαία αρχεία
    $ hbmk2 -hblib mylibsrc.prg -omylib
  • Για κατασκευή της βιβλιοθήκης 'mylib' από πηγαίο κώδικα με επαυξητικό "incremental" τρόπο
    $ hbmk2 -hblib mylibsrc.prg -omylib -inc

Κωδικοί εξόδου ("errorlevels"):

  • 0 κανένα λάθος
  • 1 άγνωστη πλατφόρμα
  • 2 άγνωστος μεταγλωττιστής
  • 3 αποτυχία ανίχνευσης Harbour
  • 5 αποτυχίας δημιουργίας stub
  • 6 αποτυχία κατά τη μεταγλώττιση (Harbour, C compiler, Resource compiler)
  • 7 αποτυχία στη τελική συναρμολόγηση (linker or library manager)
  • 8 δεν υποστηρίζεται
  • 9 αποτυχία δημιουργίας καταλόγου εργασίας
  • 19 βοήθεια
  • 10 εξάρτηση απούσα ή απενεργοποιημένη
  • 20 αρχικοποίηση plugin
  • 30 πολύ βαθειά εμφώλευση
  • 50 ζητήθηκε σταμάτημα
  • <other> όταν γίνει χρήση της επιλογής -run, κωδικός εξόδου θα είναι αυτός που θα επιστραφεί από το δημιουργημένο εκτελέσιμο.

Σημειώσεις:

  • Το <script> μπορεί να είναι:
    <@script> ή <script.hbm>: επιλογές γραμμής-εντολών σε αρχείο
    <script.hbp>: επιλογές γραμμής εντολών σε αρχείο, σηματοδοτεί επίσης ενα νέο έργο αν οριστεί στην γραμμή-εντολών
    <script.hbc>: αρχείο πακέτου διαμόρφωσης

  • Πηγαίο όνομα-αρχείου χωρίς κατάληξη θα φορτώσει το .hbp αρχείο, αν υπάρχει τέτοιο .hbp αρχείο στον τρέχοντα κατάλογο. Αν όχι, θα γίνει χρήση .prg κατάληξης.

  • Πολλαπλές -l, -L, -i και <script> παράμετροι είναι δεκτές.

  • Οι συνηθισμένες επιλογές του μεταγλωττιστή Harbour γίνονται επίσης δεκτές ως έχουν.
    (μπορείτε να τις δείτε με την επιλογή -harbourhelp)

  • hbmk.hbc προαιρετικό αρχείο στον κατάλογο hbmk2, αν υπάρχει, δέχεται παντοτε επεξεργασία. Σε *nix πλατφόρμες οι κατάλογοι ~/.harbour, /etc/harbour, <base>/etc/harbour, <base>/etc ελέγχονται (με αυτή τη σειρά) πρίν από τον κατάλογο hbmk2 .

  • Το hbmk.hbm σενάριο κατασκευής στον τρέχοντα κατάλογο δέχεται πάντοτε επεξεργασία, αν υπάρχει.

  • Η χρήση πλάγιας εμπρός κάθετης παύλας συνιστάται στις τιμές των επιλογών ως διαχωριστής μονοπατιού, αλλά η πίσω πλάγια κάθετη παύλα είναι εξίσου αποδεκτή.

  • Φίλτρα επιτρέπονται σε κάθε γραμμή .hbc καθώς και περισσότερες επιλογές.
    Τα φίλτρα μπορούν να συνδυαστούν με χρήση τελεστών '&' (and), '|' (or), να αναιρεθούν με τον τελεστή '!' και να ομαδοποιηθούν με αγγύλες. Π.χ.: {win}, {gcc}, {linux|darwin}, {win&!pocc}, {(win|linux)&!watcom}, {unix&mt&gui}, -cflag={win}-DMYDEF, -stop{dos}, -stop{!allwin}

  • Οι περισσότερες .hbc γραμμές (libs=, hbcs=, prgflags=, cflags=, ldflags=, libpaths=, instfiles=, instpaths=, echo=) και οι αντίστοιχες παράμετροι γραμμής-εντολής αποδέχονται μεταβλητές macro. Η libpaths= επίσης αποδέχεται %{hb_name} που μεταφράζεται στο όνομα του υπο διερεύνηση .hbc αρχείου

  • Επιλογές που δέχοντα μεταβλητές macro υποστηρίζουν επίσης υποκατάσταση εντολών. Περικλείστε την εντολή μεσα σε ``, και, αν η εντολή περιέχει κενό διάστημα, περικλείστε τη επίσης σε διπλά εισαγωγικά. Η standard έξοδος τη εντολής θα χρησιμοποιηθεί ως τιμή. Π.χ. "-cflag=`wx-config --cflags`", ή ldflags={unix&gcc}"`wx-config --libs`".

  • Οταν ορίζονται πολλαπλές επιλογές καθορισμού του τύπου του κατασκευαζόμενου έργου (-hblib, -hbdyn, etc.), σημαντική θα είναι η πρώτη απ' αυτές, οι υπόλοιπες θα αγνοηθούν σιωπηρά.

  • Βιβλιοθήκες και object αρχεία δημιουργημένα με/για τον CA-Cl*pper δεν θα λειτουργήσουν με κανέναν υποστηριζόμενο μεταγλωττιστή/πλατφόρμα.

  • Η υποστήριξη προεπιλογών και χαρακτηριστικών μπορεί να διαφέρει ανά πλατφόρμα/μεταγλωττιστή.

  • Δεν χρειάζεστε το GNU Make ή κάποιο άλλο make μεταγλωττιστή C και το MSYS (σε Windows) για να εκτελέσετε το hbmk2.

  • . (τελεία) περασμένη σαν πρώτη παράμετρος θα εκκινήσει το διαδραστικό κέλυφος Harbour.

  • Αρχείο .hb, .hrb ή .dbf δοσμένο ως πρώτη παραμέτρος θα εκτελεστεί σαν σενάριο Harbour. Αν το όνομα-αρχείου δεν περιέχει ορίσματα μονοπατιών, θα αναζητηθεί στο τρέχοντα κατάλογο εργασίας και στο PATH. Αν δεν δωθεί κατάληξη, θα αναζητηθούν .hb and .hrb καταλήξεις, με αυτή τη σειρά. Αρχείο .dbf θα ανοιχτεί αυτόματα σε κατάσταση shared και θα ξεκινήσει το διαδραστικό κέλυφος του Harbour. Μη πρότυπες -μη standard- καταλήξεις θα ανιχνευτούν αυτομάτως για πηγαίους και προκατασεκυασμένους τυπους σεναρίων. Σημειώστε ότι, για σενάρια Harbour, η κωδικοσελίδα ορίζεται απο προεπιλογή σε UTF-8. Το προεπιλεγμένο βασικό αρχείο header 'hb.ch' συμπεριλαμβάνεται αυτόματα, δηλ. #included. Προεπιλεγμένη μορφή ημερ/νίας είναι η πρότυπη κατα ISO μορφή: εεεε-μμ-ηη. Προεπιλεγμένο GT είναι το 'gtcgi', εκτός αν ανιχνευτούν CUI κλήσεις πλήρους οθόνης, οπότε επιλέγεται αυτομάτως 'gtwin' [*] (εκτός για τις INIT PROCEDUREs).

  • Μπορείτε να χρησιμοποιείτε το συνδυασμό πλήκτρων <Alt+V> στο διαδραστικό κέλυφος του Harbour για επικόλληση από το πρόχειρο.

  • Τιμές με αστερίσκο [*] μπορεί να εξαρτώνται από την πλατφόρμα υποδοχής ή/και τη διαμόρφωση. Η παρούσα βοήθεια δημιουργήθηκε στην 'win' πλατφόρμα υποδοχής.

Υποστηριζόμενες τιμές <compiler> γιά κάθε υποστηριζόμενη <platform> τιμή:

  • linux gcc, clang, icc, watcom, sunpro, open64
  • darwin gcc, clang, icc
  • win mingw, msvc, clang, bcc, bcc64, watcom, icc, pocc, xcc, mingw64, msvc64, msvcia64, iccia64, pocc64
  • wce mingwarm, mingw, msvcarm, poccarm
  • os2 gcc, gccomf, watcom
  • dos djgpp, watcom
  • bsd gcc, clang, pcc
  • hpux gcc
  • beos gcc
  • qnx gcc
  • android gcc, gccarm
  • vxworks gcc, diab
  • symbian gcc
  • cygwin gcc
  • minix clang, gcc
  • aix gcc
  • sunos gcc, sunpro

Αδεια:

This program 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; either version 2 of the License, or
(at your option) any later version.

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; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA (or visit
their web site at http://www.gnu.org/).

License extensions:
- This source code must be kept and distributed as part
of the Harbour package and/or the placement of the tool sources
and files must reflect that it is part of Harbour Project.
- Copyright information must always be presented by
projects including this tool or help text.
- Modified versions of the tool must clearly state this
fact on the copyright screen.
- Source code modifications shall always be made available
along with binaries.
- Help text and documentation is licensed under
Creative Commons Attribution-ShareAlike 3.0:
http://creativecommons.org/licenses/by-sa/3.0/

Συγγραφέας:

  • Viktor Szakats (vszakats.net/harbour)