ืื ื’ืœื™ืชืฆืจืคืชื™ืชืกืคืจื“ื™

Ad


ืกืžืœ OnWorks

dpkg-buildflags - ืžืงื•ื•ืŸ ื‘ืขื ืŸ

ื”ืคืขืœ dpkg-buildflags ื‘ืกืคืง ืื™ืจื•ื— ื—ื™ื ืžื™ ืฉืœ OnWorks ืขืœ ืื•ื‘ื•ื ื˜ื• ืžืงื•ื•ืŸ, ืคื“ื•ืจื” ืžืงื•ื•ืŸ, ืืžื•ืœื˜ื•ืจ ืžืงื•ื•ืŸ ืฉืœ Windows ืื• ืืžื•ืœื˜ื•ืจ ืžืงื•ื•ืŸ ืฉืœ MAC OS

ื–ื•ื”ื™ ื”ืคืงื•ื“ื” dpkg-buildflags ืฉื ื™ืชืŸ ืœื”ืจื™ืฅ ื‘ืกืคืง ื”ืื™ืจื•ื— ื”ื—ื™ื ืžื™ ืฉืœ OnWorks ื‘ืืžืฆืขื•ืช ืื—ืช ืžืชื—ื ื•ืช ื”ืขื‘ื•ื“ื” ื”ืžืงื•ื•ื ื•ืช ื”ืžืจื•ื‘ื•ืช ืฉืœื ื•, ื›ื’ื•ืŸ Ubuntu Online, Fedora Online, ืืžื•ืœื˜ื•ืจ ืžืงื•ื•ืŸ ืฉืœ Windows ืื• ืืžื•ืœื˜ื•ืจ ืžืงื•ื•ืŸ ืฉืœ MAC OS

ืชึธื›ึฐื ึดื™ืช:

ืฉืึตื


dpkg-buildflags - ืžื—ื–ื™ืจ ื“ื’ืœื™ build ืœืฉื™ืžื•ืฉ ื‘ืžื”ืœืš ื‘ื ื™ื™ืช ื”ื—ื‘ื™ืœื”

ืชึทืงืฆึดื™ืจ


dpkg-buildflags [ืื•ึนืคึผึฐืฆึดื™ึธื”...] [ื”ืคืงื•ื“ื”]

ืชื™ืื•ืจ


dpkg-buildflags ื”ื•ื ื›ืœื™ ืœืื—ื–ื•ืจ ื“ื’ืœื™ ืงื•ืžืคื™ืœืฆื™ื” ืœืฉื™ืžื•ืฉ ื‘ืžื”ืœืš ื‘ื ื™ื™ืช ื“ื‘ื™ืืŸ
ื—ื‘ื™ืœื•ืช. ื“ื’ืœื™ ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ืžื•ื’ื“ืจื™ื ืขืœ ื™ื“ื™ ื”ืกืคืง ืืš ื ื™ืชืŸ ืœื”ืจื—ื™ื‘ ืื•ืชื/ืœืขืงื•ืฃ ืื•ืชื
ื‘ื›ืžื” ื“ืจื›ื™ื:

1. ื›ืœืœ ื”ืžืขืจื›ืช ืขื /etc/dpkg/buildflags.conf;

2. ืœืžืฉืชืžืฉ ื”ื ื•ื›ื—ื™ ืขื $XDG_CONFIG_HOME/dpkg/buildflags.conf ืื™ืคื”
$XDG_CONFIG_HOME ื‘ืจื™ืจืช ืžื—ื“ืœ ืœ $HOME/.config;

3. ื–ืžื ื™ืช ืขืœ ื™ื“ื™ ื”ืžืฉืชืžืฉ ืขื ืžืฉืชื ื™ ืกื‘ื™ื‘ื” (ืจืื” ืกืขื™ืฃ ื”ืกื‘ื™ื‘ื”);

4. ื‘ืื•ืคืŸ ื“ื™ื ืžื™ ืขืœ ื™ื“ื™ ืžื ื”ืœ ื”ื—ื‘ื™ืœื” ืขื ืžืฉืชื ื™ ืกื‘ื™ื‘ื” ืžื•ื’ื“ืจื™ื ื‘ืืžืฆืขื•ืช
ื“ื‘ื™ืืŸ/ื›ืœืœื™ื (ืจืื” ืกืขื™ืฃ ื”ืกื‘ื™ื‘ื”).

ืงื‘ืฆื™ ื”ืชืฆื•ืจื” ื™ื›ื•ืœื™ื ืœื”ื›ื™ืœ ืฉื ื™ ืกื•ื’ื™ื ืฉืœ ื”ื ื—ื™ื•ืช:

SET ื“ื’ืœ ืขืจืš
ืชืขืงื•ืฃ ืืช ื”ื“ื’ืœ ืฉืฉืžื• ื“ื’ืœ ืœืงื‘ืœ ืืช ื”ืขืจืš ืขืจืš.

ืœึฐื”ึดืชึฐืคึผึทืฉืึตื˜ ื“ื’ืœ ืขืจืš
ืจืฆื•ืขื” ืžื”ื“ื’ืœ ื‘ืฉื ื“ื’ืœ ื›ืœ ื“ื’ืœื™ ื”ื‘ื ื™ื™ื” ื”ืจืฉื•ืžื™ื ื‘ ืขืจืš.

ื”ื•ืกืฃ ื“ื’ืœ ืขืจืš
ื”ืจื—ื™ื‘ ืืช ื”ื“ื’ืœ ื‘ืฉื ื“ื’ืœ ืขืœ ื™ื“ื™ ื”ื•ืกืคืช ื”ืืคืฉืจื•ื™ื•ืช ื”ืžืคื•ืจื˜ื•ืช ื‘ ืขืจืš. ื—ืœืœ ื”ื•ื
ืžื•ืฆืžื“ ืœืขืจืš ื”ืžืฆื•ืจืฃ ืื ื”ืขืจืš ื”ื ื•ื›ื—ื™ ืฉืœ ื”ื“ื’ืœ ืื™ื ื• ืจื™ืง.

ื”ื›ื ื” ืžืจืืฉ ื“ื’ืœ ืขืจืš
ื”ืจื—ื™ื‘ ืืช ื”ื“ื’ืœ ื‘ืฉื ื“ื’ืœ ืขืœ ื™ื“ื™ ื”ืฆื’ืช ื”ืืคืฉืจื•ื™ื•ืช ืฉื ื™ืชื ื• ื‘ ืขืจืš. ื—ืœืœ ื”ื•ื
ืžืฆื•ืจืฃ ืœืขืจืš ื”ืžื•ืงื“ื ืื ื”ืขืจืš ื”ื ื•ื›ื—ื™ ืฉืœ ื”ื“ื’ืœ ืื™ื ื• ืจื™ืง.

ืงื‘ืฆื™ ื”ืชืฆื•ืจื” ื™ื›ื•ืœื™ื ืœื”ื›ื™ืœ ื”ืขืจื•ืช ืขืœ ืฉื•ืจื•ืช ื”ืžืชื—ื™ืœื•ืช ื‘-hash (#). ืจื™ืง
ืžืชืขืœืžื™ื ื’ื ืžื”ืงื•ื•ื™ื.

ืคืงื•ื“ื•ืช


--ืžื–ื‘ืœื” ื”ื“ืคืก ืœืคืœื˜ ืกื˜ื ื“ืจื˜ื™ ืืช ื›ืœ ื“ื’ืœื™ ื”ื”ื™ื“ื•ืจ ื•ื”ืขืจื›ื™ื ืฉืœื”ื. ื–ื” ืžื“ืคื™ืก ื“ื’ืœ ืื—ื“
ืœื›ืœ ืฉื•ืจื” ืžื•ืคืจื“ืช ืžืขืจื›ื• ื‘ืกื™ืžืŸ ืฉื•ื•ื” ("ื“ื’ืœ=ืขืจืšโ€). ื–ื”
ืคืขื•ืœืช ื‘ืจื™ืจืช ืžื—ื“ืœ.

--ืจืฉื™ืžื” ื”ื“ืคืก ืืช ืจืฉื™ืžืช ื”ื“ื’ืœื™ื ื”ื ืชืžื›ื™ื ืขืœ ื™ื“ื™ ื”ืกืคืง ื”ื ื•ื›ื—ื™ (ืื—ื“ ื‘ื›ืœ ืฉื•ืจื”). ืจืื” ืืช
ื ืชืžืš ื“ื’ืœื™ื ืœืžื™ื“ืข ื ื•ืกืฃ ืขืœื™ื”ื.

--ืกื˜ึธื˜ื•ึผืก
ื”ืฆื’ ื›ืœ ืžื™ื“ืข ืฉื™ื›ื•ืœ ืœื”ื™ื•ืช ืฉื™ืžื•ืฉื™ ื›ื“ื™ ืœื”ืกื‘ื™ืจ ืืช ื”ื”ืชื ื”ื’ื•ืช ืฉืœ
dpkg-buildflags (ืžืื– dpkg 1.16.5): ืžืฉืชื ื™ ืกื‘ื™ื‘ื” ืจืœื•ื•ื ื˜ื™ื™ื, ื–ืจื
ืกืคืง, ืžืฆื‘ ื›ืœ ื“ื’ืœื™ ื”ืžืืคื™ื™ื ื™ื. ื”ื“ืคืก ื’ื ืืช ื“ื’ืœื™ ื”ืžื”ื“ืจ ื”ืžืชืงื‘ืœื™ื ืขื
ื”ืžืงื•ืจ ืฉืœื”ื.

ื–ื” ื ื•ืขื“ ืœื”ืคืขื™ืœ ืž ื“ื‘ื™ืืŸ/ื›ืœืœื™ื, ื›ืš ืฉื™ื•ืžืŸ ื”ื‘ื ื™ื™ื” ื™ื™ืฉืžืจ ื‘ืจื•ืจ
ืขืงื‘ื•ืช ืฉืœ ื“ื’ืœื™ ื”ื‘ื ื™ื™ื” ื‘ืฉื™ืžื•ืฉ. ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ืฉื™ืžื•ืฉื™ ื›ื“ื™ ืœืื‘ื—ืŸ ื‘ืขื™ื•ืช ื”ืงืฉื•ืจื•ืช
ืื•ืชื.

--ื™ื™ืฆื•ื=ืคื•ึผืจืžึธื˜
ื”ื“ืคืก ืœืคืงื•ื“ื•ืช ืคืœื˜ ืกื˜ื ื“ืจื˜ื™ื•ืช ืฉื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื”ืŸ ื›ื“ื™ ืœื™ื™ืฆื ืืช ื›ืœ ื”ื”ื™ื“ื•ืจ
ื“ื’ืœื™ื ืขื‘ื•ืจ ื›ืœื™ ืžืกื•ื™ื. ืื ื” ืคื•ึผืจืžึธื˜ ืœื ื ื™ืชืŸ ืขืจืš, sh ืžื ื™ื—ื™ื.
ืจืง ื“ื’ืœื™ ื”ื™ื“ื•ืจ ื”ืžืชื—ื™ืœื™ื ื‘ืื•ืช ื’ื“ื•ืœื” ื›ืœื•ืœื™ื, ืื—ืจื™ื
ืžื ื™ื—ื™ื ืฉืื™ื ื ืžืชืื™ืžื™ื ืœืกื‘ื™ื‘ื”. ืคื•ืจืžื˜ื™ื ื ืชืžื›ื™ื:

sh ืคืงื•ื“ื•ืช Shell ื›ื“ื™ ืœื”ื’ื“ื™ืจ ื•ืœื™ื™ืฆื ืืช ื›ืœ ื“ื’ืœื™ ื”ื”ื™ื“ื•ืจ ื‘-
ืกื‘ื™ื‘ื”. ืขืจื›ื™ ื”ื“ื’ืœ ืžืฆื•ื™ื ื™ื ื›ืš ืฉื”ืคืœื˜ ืžื•ื›ืŸ
ื”ืขืจื›ื” ืขืœ ื™ื“ื™ ืคื’ื–.

ืงื• ืก"ืž
ื˜ื™ืขื•ื ื™ื ืœื”ืขื‘ื™ืจ ืœืฉื•ืจืช ื”ืคืงื•ื“ื” ืฉืœ ืชื•ื›ื ื™ืช ื‘ื ื™ื™ื” ื›ื“ื™ ืœื”ืฉืชืžืฉ ื‘ื›ืœ ื”
ื“ื’ืœื™ ื”ื™ื“ื•ืจ (ืžืื– dpkg 1.17.0). ืขืจื›ื™ ื”ื“ื’ืœ ืžืฆื•ื™ื ื™ื ื‘ืžืขื˜ืคืช
ืชื—ื‘ื™ืจ.

ืœื”ื’ื“ื™ืจ
ื–ื”ื• ื›ื™ื ื•ื™ ืžื•ืจืฉืช ืขื‘ื•ืจ ืงื• ืก"ืž.

ืœืขืฉื•ืช ืงื‘ืœ ื”ื ื—ื™ื•ืช ืœื”ื’ื“ื™ืจ ื•ืœื™ื™ืฆื ืืช ื›ืœ ื“ื’ืœื™ ื”ื”ื™ื“ื•ืจ ื‘-
ืกื‘ื™ื‘ื”. ื ื™ืชืŸ ืœื›ืชื•ื‘ ืคืœื˜ ืœืžืงื˜ืข makefile ื•ืœื”ืขืจื™ืš
ื‘ืืžืฆืขื•ืช ืœื›ืœื•ืœ ื”ื•ืจืื”.

--ืœืงื‘ืœ ื“ื’ืœ
ื”ื“ืคืก ืืช ืขืจืš ื”ื“ื’ืœ ืขืœ โ€‹โ€‹ืคืœื˜ ืกื˜ื ื“ืจื˜ื™. ื™ื•ืฆื ืขื 0 ืื ื”ื“ื’ืœ ื™ื“ื•ืข
ืื—ืจืช ื™ื•ืฆื ืขื 1.

--ืžึธืงื•ึนืจ ื“ื’ืœ
ื”ื“ืคืก ืืช ืžืงื•ืจ ื”ืขืจืš ืฉืžื•ื—ื–ืจ ืขืœ ื™ื“ื™ --ืœืงื‘ืœ. ื™ื•ืฆื ืขื 0 ืื ื”ื“ื’ืœ
ื™ื“ื•ืข ืื—ืจืช ื™ื•ืฆื ืขื 1. ื”ืžืงื•ืจ ื™ื›ื•ืœ ืœื”ื™ื•ืช ืื—ื“ ืžื”ืขืจื›ื™ื ื”ื‘ืื™ื:

ืžื•ื›ืจ ื”ื“ื’ืœ ื”ืžืงื•ืจื™ ืฉื”ื•ื’ื“ืจ ืขืœ ื™ื“ื™ ื”ืกืคืง ืžื•ื—ื–ืจ;

ืžืขืจื›ืช ื”ื“ื’ืœ ืžื•ื’ื“ืจ/ืžืฉืชื ื” ืขืœ ื™ื“ื™ ืชืฆื•ืจื” ื›ืœืœ ืžืขืจื›ืช;

ื”ืžืฉืชืžืฉ ื”ื“ื’ืœ ืžื•ื’ื“ืจ/ืžืฉืชื ื” ืขืœ ื™ื“ื™ ืชืฆื•ืจื” ืกืคืฆื™ืคื™ืช ืœืžืฉืชืžืฉ;

env ื”ื“ื’ืœ ืžื•ื’ื“ืจ/ืžืฉืชื ื” ืขืœ ื™ื“ื™ ืชืฆื•ืจื” ืกืคืฆื™ืคื™ืช ืœืกื‘ื™ื‘ื”.

--ืฉืื™ืœืชื”-ืชื›ื•ื ื•ืช ืื–ื•ืจ
ื”ื“ืคืก ืืช ื”ืชื›ื•ื ื•ืช ื”ืžื•ืคืขืœื•ืช ืขื‘ื•ืจ ืื–ื•ืจ ื ืชื•ืŸ (ืžืื– dpkg 1.16.2). ื”ื™ื—ื™ื“
ืื–ื•ืจื™ื ื”ืžื•ื›ืจื™ื ื›ื™ื•ื ื‘ื“ื‘ื™ืืŸ ื•ื ื’ื–ืจื•ืช ื”ื qa, ืœืฉื—ื–ื•ืจ, ืœื˜ื”ืจ
ื• ื”ืชืงืฉื•ืช, ืจืื” FEATURE ืฉื˜ื—ื™ื ืกืขื™ืฃ ืœืคืจื˜ื™ื ื ื•ืกืคื™ื. ื™ื•ืฆื ืขื 0 ืื ื”
ื”ืื–ื•ืจ ื™ื“ื•ืข ืื—ืจืช ื™ื•ืฆื ืขื 1.

ื”ืคืœื˜ ื”ื•ื ื‘ืคื•ืจืžื˜ RFC822, ืขื ืงื˜ืข ืื—ื“ ืœื›ืœ ืชื›ื•ื ื”. ืœื“ื•ื’ืžื”:

ืชื›ื•ื ื”: ืคืื™
ืžื•ืคืขืœ: ืœื

ืชื›ื•ื ื”: ืžื’ืŸ ืžื—ืกื ื™ืช
ืžื•ืคืขืœ: ื›ืŸ

- ืขื–ืจื” ื”ืฆื’ ืืช ื”ื•ื“ืขืช ื”ืฉื™ืžื•ืฉ ื•ืฆื.

--ื’ึดืจึฐืกึธื”
ื”ืฆื’ ืืช ื”ื’ืจืกื” ื•ืฆื.

ื ืชืžืš ื“ื’ืœื™ื


CFLAGS ืืคืฉืจื•ื™ื•ืช ืขื‘ื•ืจ ืžื”ื“ืจ C. ืขืจืš ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ืฉื”ื•ื’ื“ืจ ืขืœ ื™ื“ื™ ื”ืกืคืง ื›ื•ืœืœ -g ื•
ืจืžืช ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ื›ื‘ืจื™ืจืช ืžื—ื“ืœ (-O2 ื‘ื“ืจืš ื›ืœืœ, ืื• -O0 ืื DEB_BUILD_OPTIONS
ืžืฉืชื ื” ืกื‘ื™ื‘ื” ืžื’ื“ื™ืจ ืœื).

CPPFLAGS
ืืคืฉืจื•ื™ื•ืช ืขื‘ื•ืจ ืžืขื‘ื“ ื”ืงื“ื C. ืขืจืš ื‘ืจื™ืจืช ืžื—ื“ืœ: ืจื™ืง.

CXXFLAGS
ืืคืฉืจื•ื™ื•ืช ืขื‘ื•ืจ ื”ืžื”ื“ืจ C++. ื›ืžื• CFLAGS.

OBJCFLAGS
ืืคืฉืจื•ื™ื•ืช ืขื‘ื•ืจ ืžื”ื“ืจ Objective C. ื›ืžื• CFLAGS.

OBJCXXFLAGS
ืืคืฉืจื•ื™ื•ืช ืขื‘ื•ืจ ืžื”ื“ืจ Objective C++. ื›ืžื• CXXFLAGS.

GCJFLAGS
ืืคืฉืจื•ื™ื•ืช ืขื‘ื•ืจ ืžื”ื“ืจ GNU Java (gcj). ืชืช-ืงื‘ื•ืฆื” ืฉืœ CFLAGS.

FFLAGS ืืคืฉืจื•ื™ื•ืช ืขื‘ื•ืจ ืžื”ื“ืจ Fortran 77. ืชืช-ืงื‘ื•ืฆื” ืฉืœ CFLAGS.

FCFLAGS
ืืคืฉืจื•ื™ื•ืช ืขื‘ื•ืจ ื”ืžื”ื“ืจ Fortran 9x. ื›ืžื• FFLAGS.

LDFLAGS
ืืคืฉืจื•ื™ื•ืช ืฉื”ื•ืขื‘ืจื• ืœืžื”ื“ืจ ื‘ืขืช ืงื™ืฉื•ืจ ืงื•ื‘ืฆื™ ื”ืคืขืœื” ืื• ืื•ื‘ื™ื™ืงื˜ื™ื ืžืฉื•ืชืคื™ื (ืื
ืžืงืฉืจ ื ืงืจื ื™ืฉื™ืจื•ืช, ืื ื›ืŸ -ื•ื•ืœ ื• , ื™ืฉ ืœืฉืœื•ืœ ืžื”ืืคืฉืจื•ื™ื•ืช ื”ืœืœื•).
ืขืจืš ื‘ืจื™ืจืช ืžื—ื“ืœ: ืจื™ืง.

ื“ื’ืœื™ื ื—ื“ืฉื™ื ืขืฉื•ื™ื™ื ืœื”ืชื•ื•ืกืฃ ื‘ืขืชื™ื“ ืื ื™ืชืขื•ืจืจ ืฆื•ืจืš (ืœื“ื•ื’ืžื” ื›ื“ื™ ืœืชืžื•ืš ื‘ืื—ืจื™ื
ืฉืคื•ืช).

FEATURE ืฉื˜ื—ื™ื


ื ื™ืชืŸ ืœื”ืคืขื™ืœ ื•ืœื”ืฉื‘ื™ืช ื›ืœ ืชื›ื•ื ืช ืื–ื•ืจ ื‘- DEB_BUILD_OPTIONS ื•
DEB_BUILD_MAINT_OPTIONS ืขืจืš ื”ืฉื˜ื— ืฉืœ ืžืฉืชื ื” ื”ืกื‘ื™ื‘ื” ืขื ื”-'+'ื•'-' ืžืฉื ื”.
ืœื“ื•ื’ืžื”, ื›ื“ื™ ืœืืคืฉืจ ืืช ื”ืชืงืฉื•ืช ืชื›ื•ื ืช "ืคืื™" ื•ื”ืฉื‘ืชื” ืืช ืชื›ื•ื ืช ื”"ื—ื™ื–ื•ืง" ืœืš
ื™ื›ื•ืœ ืœืขืฉื•ืช ื–ืืช ื‘ ื“ื‘ื™ืืŸ/ื›ืœืœื™ื:

ื™ื™ืฆื•ื DEB_BUILD_MAINT_OPTIONS=ื”ืชืงืฉื•ืช=+ืคืื™,-ื—ื™ื–ื•ืง

ื”ืชื›ื•ื ื” ื”ืžื™ื•ื—ื“ืช ืืช ื›ืœ (ืชืงืฃ ื‘ื›ืœ ืื–ื•ืจ) ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื›ื“ื™ ืœื”ืคืขื™ืœ ืื• ืœื”ืฉื‘ื™ืช ืืช ื›ืœ ื”ืื–ื•ืจ
ืชื›ื•ื ื•ืช ื‘ื• ื–ืžื ื™ืช. ื•ื‘ื›ืš ืœื”ืฉื‘ื™ืช ืืช ื”ื›ืœ ื‘- ื”ืชืงืฉื•ืช ืื–ื•ืจ ื•ืžืืคืฉืจ
ื ื™ืชืŸ ืœื”ืฉื™ื’ ืจืง "ืคื•ืจืžื˜" ื•"ื—ื™ื–ื•ืง" ืขื:

ื™ื™ืฆื•ื DEB_BUILD_MAINT_OPTIONS=ื”ืชืงืฉื•ืช=-ื”ื›ืœ,+ืคื•ืจืžื˜,+ื—ื™ื–ื•ืง

qa
ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืžืกืคืจ ืืคืฉืจื•ื™ื•ืช ืฉืœ ื–ืžืŸ ื”ื™ื“ื•ืจ (ืžืคื•ืจื˜ ืœื”ืœืŸ) ื›ื“ื™ ืœืกื™ื™ืข ื‘ืื™ืชื•ืจ ื‘ืขื™ื•ืช ื‘-
ืงื•ื“ ืžืงื•ืจ ืื• ืžืขืจื›ืช ื‘ื ื™ื™ื”.

ื‘ืื’ ื”ื’ื“ืจื” ื–ื• (ืžื•ืฉื‘ืชืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ) ืžื•ืกื™ืคื” ื›ืœ ืืคืฉืจื•ืช ืื–ื”ืจื” ื”ืžื–ื”ื” ื‘ืื•ืคืŸ ืืžื™ืŸ
ืงื•ื“ ืžืงื•ืจ ื‘ืขื™ื™ืชื™. ื”ืื–ื”ืจื•ืช ื”ืŸ ืงื˜ืœื ื™ื•ืช.

ื›ื ืจื™ืช ื”ื’ื“ืจื” ื–ื• (ืžื•ืฉื‘ืชืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ) ืžื•ืกื™ืคื” ืืคืฉืจื•ื™ื•ืช ื“ืžื” ืงื ืจื™ื•ืช ืœื“ื’ืœื™ ื”ื‘ื ื™ื™ื”, ืื–
ืฉื ื™ืชืŸ ืœื‘ื“ื•ืง ืืช ื™ื•ืžื ื™ ื”ื‘ื ื™ื™ื” ื›ื™ืฆื“ ื“ื’ืœื™ ื”ื‘ื ื™ื™ื” ืžืชืคืฉื˜ื™ื ื•ืœืืคืฉืจ
ืžืฆื™ืืช ื›ืœ ื”ืฉืžื˜ื” ืฉืœ โ€‹โ€‹ื”ื’ื“ืจื•ืช ื“ื’ืœ ื‘ื ื™ื™ื” ืจื’ื™ืœื•ืช. ื”ื™ื—ื™ื“ ื”ื ืชืžืš ื›ืจื’ืข
ื”ื“ื’ืœื™ื ื”ื CPPFLAGS, CFLAGS, OBJCFLAGS, CXXFLAGS ื• OBJCXXFLAGS ืขื ื“ื’ืœื™ื ืžื•ื’ื“ืจื™ื ืœ
-D__DEB_CANARY_ื“ื’ืœ_ืžื–ื”ื” ืืงืจืื™__, ื• LDFLAGS ืžื›ื•ื•ืŸ ืœ -Wl,-z,deb-canary-ืžื–ื”ื” ืืงืจืื™.

ืœื˜ื”ืจ
ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืžืกืคืจ ืืคืฉืจื•ื™ื•ืช ืฉืœ ื–ืžืŸ ื”ื™ื“ื•ืจ (ืžืคื•ืจื˜ ืœื”ืœืŸ) ื›ื“ื™ ืœืกื™ื™ืข ื‘ื—ื™ื˜ื•ื™ ื”ืชื•ืฆืื”
ื‘ื™ื ืืจื™ ื ื’ื“ ื”ืฉื—ืชื•ืช ื–ื™ื›ืจื•ืŸ, ื“ืœื™ืคื•ืช ื–ื™ื›ืจื•ืŸ, ืฉื™ืžื•ืฉ ืœืื—ืจ ื—ื™ื ืžื™, ื”ืฉื—ืœืช ืžื™ืจื•ืฆื™ ื ืชื•ื ื™ื ื•
ื‘ืื’ื™ ื”ืชื ื”ื’ื•ืช ืœื ืžื•ื’ื“ืจื™ื.

ื›ืชื•ื‘ืช
ื”ื’ื“ืจื” ื–ื• (ืžื•ืฉื‘ืชืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ) ืžื•ืกื™ืคื” -fsanitize=ื›ืชื•ื‘ืช ืœ LDFLAGS ื•
-fsanitize=ื›ืชื•ื‘ืช -fno-omit-frame-pointer ืœ CFLAGS ื• CXXFLAGS.

ื—ื•ื˜ ื”ื’ื“ืจื” ื–ื• (ืžื•ืฉื‘ืชืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ) ืžื•ืกื™ืคื” -fsanitize=ื—ื•ื˜ ืœ CFLAGS, CXXFLAGS ื•
LDFLAGS.

ืœื“ืœื•ืฃ ื”ื’ื“ืจื” ื–ื• (ืžื•ืฉื‘ืชืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ) ืžื•ืกื™ืคื” -fsanitize=ื“ืœื™ืคื” ืœ LDFLAGS. ื–ื” ื ืขืฉื”
ืžื•ืฉื‘ืช ืื•ื˜ื•ืžื˜ื™ืช ืื ืื—ืช ืžื”ืŸ ื›ืชื•ื‘ืช ืื• ื—ื•ื˜ ืชื›ื•ื ื•ืช ืžื•ืคืขืœื•ืช, ื›ืžื•
ื”ื ืžืจืžื–ื™ื ืขืœ ื›ืš.

ืœื ืžื•ื’ื“ืจ
ื”ื’ื“ืจื” ื–ื• (ืžื•ืฉื‘ืชืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ) ืžื•ืกื™ืคื” -fsanitize=ืœื ืžื•ื’ื“ืจ ืœ CFLAGS, CXXFLAGS
ื• LDFLAGS.

ื”ืชืงืฉื•ืช
ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืžืกืคืจ ืืคืฉืจื•ื™ื•ืช ืฉืœ ื–ืžืŸ ื”ื™ื“ื•ืจ (ืžืคื•ืจื˜ ืœื”ืœืŸ) ื›ื“ื™ ืœืขื–ื•ืจ ืœื”ืงืฉื™ื— ืืช ื”ืชื•ืฆืื”
ื‘ื™ื ืืจื™ ื ื’ื“ ื”ืชืงืคื•ืช ืฉื—ื™ืชื•ืช ื‘ื–ื™ื›ืจื•ืŸ, ืื• ืœืกืคืง ื”ื•ื“ืขื•ืช ืื–ื”ืจื” ื ื•ืกืคื•ืช ื‘ืžื”ืœืš
ื”ึทื”ื“ึธืจึธื”. ืœืžืขื˜ ื›ืคื™ ืฉืฆื•ื™ืŸ ืœื”ืœืŸ, ืืœื” ืžื•ืคืขืœื™ื ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ืขื‘ื•ืจ ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช
ืœืชืžื•ืš ื‘ื”ื.

ืคื•ึผืจืžึธื˜ ื”ื’ื“ืจื” ื–ื• (ืžื•ืคืขืœืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ) ืžื•ืกื™ืคื” - -ืฉื’ื™ืื”=ืคื•ืจืžื˜-ืื‘ื˜ื—ื” ืœ CFLAGS,
CXXFLAGS, OBJCFLAGS ื• OBJCXXFLAGS. ื–ื” ื™ื–ื”ื™ืจ ืขืœ ืžื—ืจื•ื–ืช ืคื•ืจืžื˜ ืœื ืชืงื™ืŸ
ืžืฉืชืžืฉ, ื•ื™ื™ื›ืฉืœ ื›ืืฉืจ ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืคื•ื ืงืฆื™ื•ืช ืขื™ืฆื•ื‘ ื‘ืื•ืคืŸ ื”ืžื™ื™ืฆื’ ืืคืฉืจื™
ื‘ืขื™ื•ืช ืื‘ื˜ื—ื”. ื ื›ื•ืŸ ืœืขื›ืฉื™ื•, ื–ื” ืžื–ื”ื™ืจ ืžืคื ื™ ืฉื™ื—ื•ืช ืœ ื”ื“ืคืก ื• scanf ืคื•ื ืงืฆื™ื•ืช
ื›ืืฉืจ ืžื—ืจื•ื–ืช ื”ืคื•ืจืžื˜ ืื™ื ื” ืžื—ืจื•ื–ืช ืžื™ืœื•ืœื™ืช ื•ืื™ืŸ ืืจื’ื•ืžื ื˜ื™ื ืฉืœ ืคื•ืจืžื˜,
ื›ืžื• ื‘ printf(foo); ื‘ืžืงื•ื printf("%s", foo); ื–ื” ืขืฉื•ื™ ืœื”ื™ื•ืช ื—ื•ืจ ืื‘ื˜ื—ื” ืื
ืžื—ืจื•ื–ืช ืคื•ืจืžื˜ ื”ื’ื™ืขื” ืžืงืœื˜ ืœื ืžื”ื™ืžืŸ ื•ืžื›ื™ืœื” '%n'.

ืœึฐื—ึทื–ึตืง
ื”ื’ื“ืจื” ื–ื• (ืžื•ืคืขืœืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ) ืžื•ืกื™ืคื” -D_FORTIFY_SOURCE=2 ืœ CPPFLAGS. ื‘ืžื”ืœืš ื”ืงื•ื“
ื“ื•ืจ ื”ืžื”ื“ืจ ื™ื•ื“ืข ื”ืจื‘ื” ืžื™ื“ืข ืขืœ ื’ื“ืœื™ ืžืื’ืจ (ืื™ืคื”
ืืคืฉืจื™), ื•ืžื ืกื” ืœื”ื—ืœื™ืฃ ืงืจื™ืื•ืช ืคื•ื ืงืฆื™ื™ืช ืžืื’ืจ ืœื ืžืื•ื‘ื˜ื—ื•ืช ื‘ืื•ืจืš ื‘ืœืชื™ ืžื•ื’ื‘ืœ
ืขื ืืœื” ืžื•ื’ื‘ืœื™ื ืœืื•ืจืš. ื–ื” ืฉื™ืžื•ืฉื™ ื‘ืžื™ื•ื—ื“ ืขื‘ื•ืจ ืงื•ื“ ื™ืฉืŸ ื•ืžืกื•ืจื‘ืœ.
ื‘ื ื•ืกืฃ, ืžื—ืจื•ื–ื•ืช ืขื™ืฆื•ื‘ ื‘ื–ื™ื›ืจื•ืŸ ื”ื ื™ืชืŸ ืœื›ืชื™ื‘ื” ื”ืžื›ื™ืœื•ืช '%n' ื—ืกื•ืžื•ืช. ืื
ื™ื™ืฉื•ื ืชืœื•ื™ ื‘ืžื—ืจื•ื–ืช ืคื•ืจืžื˜ ื›ื–ื•, ื™ื”ื™ื” ืฆื•ืจืš ืœืขืงื•ืฃ ืื•ืชื”.

ืฉื™ืžื• ืœื‘ ืฉื›ื“ื™ ืœืืคืฉืจื•ืช ื–ื• ืชื”ื™ื” ื”ืฉืคืขื” ื›ืœืฉื”ื™, ื™ืฉ ืœื”ืจื›ื™ื‘ ื’ื ืืช ื”ืžืงื•ืจ
-O1 ืื• ื’ื‘ื•ื” ื™ื•ืชืจ. ืื ืžืฉืชื ื” ื”ืกื‘ื™ื‘ื” DEB_BUILD_OPTIONS ืžื›ื™ืœ ืœื, ืœืื—ืจ ืžื›ืŸ
ืœึฐื—ึทื–ึตืง ื”ืชืžื™ื›ื” ืชื•ืฉื‘ืช, ืขืงื‘ ืื–ื”ืจื•ืช ื—ื“ืฉื•ืช ืฉื™ื•ืฆืื• ืขืœ ื™ื“ื™ glibc 2.16
ื•ืื—ืจ ื›ืš.

ืžื’ืŸ ืžื—ืกื ื™ืช
ื”ื’ื“ืจื” ื–ื• (ืžื•ืคืขืœืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ืื stackprotectorstrong ืื™ื ื• ื‘ืฉื™ืžื•ืฉ) ืžื•ืกื™ืคื”
-ืžื’ืŸ ืžื—ืกื ื™ืช --param=ssp-buffer-size=4 ืœ CFLAGS, CXXFLAGS, OBJCFLAGS,
OBJCXXFLAGS, GCJFLAGS, FFLAGS ื• FCFLAGS. ื–ื” ืžื•ืกื™ืฃ ื‘ื“ื™ืงื•ืช ื‘ื˜ื™ื—ื•ืช ื ื’ื“ ืžื—ืกื ื™ืช
ืžื—ืœื™ืฃ. ื–ื” ื”ื•ืคืš ื”ืชืงืคื•ืช ืจื‘ื•ืช ืฉืœ ื”ื–ืจืงืช ืงื•ื“ ืคื•ื˜ื ืฆื™ืืœื™ื•ืช ืœื”ืคืกืงื”
ืžืฆื‘ื™ื. ื‘ืžืงืจื” ื”ื˜ื•ื‘ ื–ื” ื”ื•ืคืš ืคื’ื™ืขื•ื™ื•ืช ืฉืœ ื”ื–ืจืงืช ืงื•ื“ ืœื”ื›ื—ืฉื”
ืฉืœ ืฉื™ืจื•ืช ืื• ืœื‘ืขื™ื•ืช ืœื (ื‘ื”ืชืื ืœื™ื™ืฉื•ื).

ืชื›ื•ื ื” ื–ื• ื“ื•ืจืฉืช ืงื™ืฉื•ืจ ืžื•ืœ glibc (ืื• ืกืคืง ืื—ืจ ืฉืœ
__stack_chk_fail), ืื– ืฆืจื™ืš ืœื”ื™ื•ืช ืžื•ืฉื‘ืช ื‘ืขืช ื‘ื ื™ื™ื” ืขื -ื ื•ืกื˜ื“ืœื™ื‘ or
-ืขื•ืžื“ ื‘ืคื ื™ ืขืฆืžื• ืื• ื“ื•ืžื”.

stackprotectorstrong
ื”ื’ื“ืจื” ื–ื• (ืžื•ืคืขืœืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ) ืžื•ืกื™ืคื” -fstack-protector-ื—ื–ืง ืœ CFLAGS,
CXXFLAGS, OBJCFLAGS, OBJCXXFLAGS, GCJFLAGS, FFLAGS ื• FCFLAGS. ื–ื” ื—ื–ืง ื™ื•ืชืจ
ื’ืจืกื” ืฉืœ ืžื’ืŸ ืžื—ืกื ื™ืช, ืืš ืœืœื ืขื•ื ืฉื™ ื‘ื™ืฆื•ืข ืžืฉืžืขื•ืชื™ื™ื.

ืžืฉื‘ื™ืช ืžื’ืŸ ืžื—ืกื ื™ืช ื™ืฉื‘ื™ืช ื’ื ืืช ื”ื”ื’ื“ืจื” ื”ื–ื•.

ืœืชื›ื•ื ื” ื–ื• ื™ืฉ ืื•ืชืŸ ื“ืจื™ืฉื•ืช ื›ืžื• ืžื’ืŸ ืžื—ืกื ื™ืช, ื•ื‘ื ื•ืกืฃ ื’ื
ื“ื•ืจืฉ gcc 4.9 ื•ืื™ืœืš.

relro ื”ื’ื“ืจื” ื–ื• (ืžื•ืคืขืœืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ) ืžื•ืกื™ืคื” -Wl,-z,relro ืœ LDFLAGS. ื‘ืžื”ืœืš ื”ืชื•ื›ื ื™ืช
ืœื˜ืขื•ืŸ, ืฆืจื™ืš ืœื›ืชื•ื‘ ื›ืžื” ืงื˜ืขื™ ื–ื™ื›ืจื•ืŸ ELF ืขืœ ื™ื“ื™ ื”ืžืงืฉืจ. ื–ื” ืžืกืžืŸ
ื”ืžืขืžื™ืก ื™ื”ืคื•ืš ืืช ื”ื—ืœืงื™ื ื”ืืœื” ืœืงืจื™ืื” ื‘ืœื‘ื“ ืœืคื ื™ ื”ืขื‘ืจืช ื”ืฉืœื™ื˜ื” ืœ-
ืชื›ื ื™ืช. ื”ื“ื‘ืจ ื”ื‘ื•ืœื˜ ื‘ื™ื•ืชืจ ืžื•ื ืข ืžืชืงืคื•ืช ื”ื—ืœืคืช GOT. ืื ืืคืฉืจื•ืช ื–ื• ื”ื™ื
ื ึธื›ึถื”, bindnow ื™ื”ืคื•ืš ืœื ื›ื” ื’ื ื›ืŸ.

bindnow
ื”ื’ื“ืจื” ื–ื• (ืžื•ืฉื‘ืชืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ) ืžื•ืกื™ืคื” -Wl,-z,ืขื›ืฉื™ื• ืœ LDFLAGS. ื‘ืžื”ืœืš ื˜ืขื™ื ืช ื”ืชื•ื›ื ื™ืช,
ื›ืœ ื”ืกืžืœื™ื ื”ื“ื™ื ืžื™ื™ื ืคืชื•ืจื™ื, ืžื” ืฉืžืืคืฉืจ ืœืกืžืŸ ืืช ื›ืœ ื”-PLT ื›ืงืจื™ืื”-
ืจืง (ื‘ื’ืœืœ relro ืžึตืขึทืœ). ื”ืืคืฉืจื•ืช ืœื ื™ื›ื•ืœื” ืœื”ื™ื•ืช ืžื•ืคืขืœืช ืื relro ืœื
ืžืื•ืคืฉืจ.

ืคืื™ ื”ื’ื“ืจื” ื–ื• (ืžื•ืฉื‘ืชืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ) ืžื•ืกื™ืคื” -fPIE ืœ CFLAGS, CXXFLAGS, OBJCFLAGS,
OBJCXXFLAGS, GCJFLAGS, FFLAGS ื• FCFLAGS, ื• -fPIE -ืคึผึทืึดื™ ืœ LDFLAGS. ืขืžื“ื”
ื“ืจื•ืฉื™ื ืจื›ื™ื‘ื™ ื”ืคืขืœื” ืขืฆืžืื™ื™ื ื›ื“ื™ ืœื ืฆืœ ืืช ืคืจื™ืกืช ืฉื˜ื— ื”ื›ืชื•ื‘ืช
ืืงืจืื™, ื ืชืžืš ืขืœ ื™ื“ื™ ื›ืžื” ื’ืจืกืื•ืช ืœื™ื‘ื”. ื‘ืขื•ื“ ASLR ื›ื‘ืจ ื™ื›ื•ืœ ืœื”ื™ื•ืช
ื ืื›ืฃ ืขื‘ื•ืจ ืื–ื•ืจื™ ื ืชื•ื ื™ื ื‘ืขืจื™ืžื” ื•ื‘-heap (brk ื•-mmap), ืื–ื•ืจื™ ื”ืงื•ื“ ื—ื™ื™ื‘ื™ื
ืœื”ื™ื•ืช ืžื•ืจื›ื‘ ื›ื‘ืœืชื™ ืชืœื•ื™ ื‘ืชืคืงื™ื“. ืกืคืจื™ื•ืช ืžืฉื•ืชืคื•ืช ื›ื‘ืจ ืขื•ืฉื•ืช ืืช ื–ื” (-fPIC), ืื–
ื”ื ืžืจื•ื•ื™ื—ื™ื ASLR ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™, ืื‘ืœ ืื–ื•ืจื™ ื˜ืงืกื˜ ื‘ื™ื ืืจื™ื™ื ืฆืจื™ื›ื™ื ืœื”ื™ื•ืช ื‘ื ื•ื™ PIE ื›ื“ื™ ืœื”ืจื•ื•ื™ื—
ASLR. ื›ืืฉืจ ื–ื” ืงื•ืจื”, ื”ืชืงืคื•ืช ROP (Return Oriented Programming) ื”ืŸ ื”ืจื‘ื” ื™ื•ืชืจ ืงืฉื•ืช
ืžื›ื™ื•ื•ืŸ ืฉืื™ืŸ ืžื™ืงื•ืžื™ื ืกื˜ื˜ื™ื™ื ืฉื ื™ืชืŸ ืœื”ืกืชืœืง ืžื”ื ื‘ืžื”ืœืš ืคื’ื™ืขื” ื‘ื–ื™ื›ืจื•ืŸ
ืœึดืชึฐืงื•ึนืฃ.

ื–ื” ืœื ืชื•ืื -fPIC ืื– ื™ืฉ ืœื ืงื•ื˜ ื–ื”ื™ืจื•ืช ื›ืืฉืจ ื‘ื ื™ื™ืŸ ืžืฉื•ืชืฃ
ื—ืคืฆื™ื.

ื‘ื ื•ืกืฃ, ืžื›ื™ื•ื•ืŸ ืฉ-PIE ืžื™ื•ืฉื ื‘ืืžืฆืขื•ืช ืจื™ืฉื•ื ื›ืœืœื™, ื™ืฉ ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช
(ื‘ืขื™ืงืจ i386) ื™ื›ื•ืœ ืœืจืื•ืช ืื•ื‘ื“ืŸ ื‘ื™ืฆื•ืขื™ื ืฉืœ ืขื“ 15% ื‘ืงื˜ืขื™ ื˜ืงืกื˜ ืžืื•ื“
ืขื•ืžืกื™ ืขื‘ื•ื“ื” ื›ื‘ื“ื™ื ืฉืœ ื™ื™ืฉื•ืžื™ื; ืจื•ื‘ ืขื•ืžืกื™ ื”ืขื‘ื•ื“ื” ืจื•ืื™ื ืคื—ื•ืช ืž-1%. ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช ืขื
ืจื™ืฉื•ืžื™ื ื›ืœืœื™ื™ื ื™ื•ืชืจ (ืœืžืฉืœ amd64) ืื™ื ื ืจื•ืื™ื ืขื•ื ืฉ ื’ื‘ื•ื” ื‘ืžืงืจื” ื”ื’ืจื•ืข.

ืœืฉื—ื–ื•ืจ
ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืืคืฉืจื•ื™ื•ืช ื–ืžืŸ ื”ื”ื™ื“ื•ืจ ื”ืžืคื•ืจื˜ื•ืช ืœื”ืœืŸ ื›ื“ื™ ืœืกื™ื™ืข ื‘ืฉื™ืคื•ืจ ื™ื›ื•ืœืช ื”ืฉื—ื–ื•ืจ ืฉืœ ื”ื‘ื ื™ื™ื”
ืื• ืœืกืคืง ื”ื•ื“ืขื•ืช ืื–ื”ืจื” ื ื•ืกืคื•ืช ื‘ืžื”ืœืš ื”ื”ื™ื“ื•ืจ. ืœืžืขื˜ ื›ืคื™ ืฉืฆื•ื™ืŸ ืœื”ืœืŸ, ืืœื”
ืžื•ืคืขืœื™ื ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ืขื‘ื•ืจ ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช ื”ืชื•ืžื›ื•ืช ื‘ื”ื.

ื ืฆื—ื™
ื”ื’ื“ืจื” ื–ื• (ืžื•ืคืขืœืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ) ืžื•ืกื™ืคื” -Wdate-time ืœ CPPFLAGS. ื–ื” ื™ื’ืจื•ื
ืื–ื”ืจื•ืช ื›ืืฉืจ __ื–ึฐืžึทืŸ__, __ืชึทืึฒืจึดื™ืš__ ื• __TIMESTAMP__ ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืคืงื•ื“ื•ืช ืžืืงืจื•.

ื”ืกื‘ื™ื‘ื”


ื™ืฉื ืŸ 2 ืกื˜ื™ื ืฉืœ ืžืฉืชื ื™ ืกื‘ื™ื‘ื” ืฉืขื•ืฉื™ื ืืช ืื•ืชืŸ ืคืขื•ืœื•ืช, ื”ืจืืฉื•ื ื”
(DEB_ื“ื’ืœ_op) ืื™ืŸ ืœื”ืฉืชืžืฉ ื‘ืคื ื™ื ื“ื‘ื™ืืŸ/ื›ืœืœื™ื. ื–ื” ืžื™ื•ืขื“ ืœื›ืœ ืžืฉืชืžืฉ ืฉืจื•ืฆื”
ืœื‘ื ื•ืช ืžื—ื“ืฉ ืืช ื—ื‘ื™ืœืช ื”ืžืงื•ืจ ืขื ื“ื’ืœื™ ื‘ื ื™ื™ื” ืฉื•ื ื™ื. ื”ืกื˜ ื”ืฉื ื™
(DEB_ื“ื’ืœ_MAINT_op) ื™ืฉ ืœื”ืฉืชืžืฉ ืจืง ื‘ ื“ื‘ื™ืืŸ/ื›ืœืœื™ื ืขืœ ื™ื“ื™ ืžื ื”ืœื™ ื”ื—ื‘ื™ืœื•ืช ืœืฉื ื•ืช
ื“ื’ืœื™ ื”ื‘ื ื™ื™ื” ืฉื ื•ืฆืจื•.

DEB_ื“ื’ืœ_ืžึทืขึฒืจึถื›ึถืช
DEB_ื“ื’ืœ_MAINT_SET
ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืžืฉืชื ื” ื–ื” ื›ื“ื™ ืœืืœืฅ ืืช ื”ืขืจืš ื”ืžื•ื—ื–ืจ ืขื‘ื•ืจ ื”ื ืชื•ืŸ ื“ื’ืœ.

DEB_ื“ื’ืœ_ืœึฐื”ึดืชึฐืคึผึทืฉืึตื˜
DEB_ื“ื’ืœ_MAINT_STRIP
ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืžืฉืชื ื” ื–ื” ื›ื“ื™ ืœืกืคืง ืจืฉื™ืžื” ืžื•ืคืจื“ืช ืžืจื•ื•ื— ืฉืœ ืืคืฉืจื•ื™ื•ืช ืฉื™ื”ื™ื•
ืžื•ืคืฉื˜ ืžืžืขืจื›ืช ื”ื“ื’ืœื™ื ืฉื”ื•ื—ื–ืจื• ืขื‘ื•ืจ ื”ื ืชื•ืŸ ื“ื’ืœ.

DEB_ื“ื’ืœ_ืœึฐืฆึทืจึตืฃ
DEB_ื“ื’ืœ_MAINT_APPEND
ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืžืฉืชื ื” ื–ื” ื›ื“ื™ ืœื”ื•ืกื™ืฃ ืืคืฉืจื•ื™ื•ืช ืžืฉืœื™ืžื•ืช ืœืขืจืš ื”ืžื•ื—ื–ืจ ืขื‘ื•ืจื•
ื”ื ืชื•ืŸ ื“ื’ืœ.

DEB_ื“ื’ืœ_ื”ื›ื ื”
DEB_ื“ื’ืœ_MAINT_PREPEND
ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืžืฉืชื ื” ื–ื” ื›ื“ื™ ืœื”ื•ืกื™ืฃ ืืคืฉืจื•ื™ื•ืช ืžืฉืœื™ืžื•ืช ืœืขืจืš ื”ืžื•ื—ื–ืจ
ืขืœ ื”ื ืชื•ืŸ ื“ื’ืœ.

DEB_BUILD_OPTIONS
DEB_BUILD_MAINT_OPTIONS
ืžืฉืชื ื™ื ืืœื” ื™ื›ื•ืœื™ื ืœืฉืžืฉ ืžืฉืชืžืฉ ืื• ืžืชื—ื–ืง ื›ื“ื™ ืœื”ืฉื‘ื™ืช/ืœืืคืฉืจ ืื–ื•ืจื™ื ืฉื•ื ื™ื
ืชื›ื•ื ื•ืช ื”ืžืฉืคื™ืขื•ืช ืขืœ ื“ื’ืœื™ ื‘ื ื™ื™ื”. ื” DEB_BUILD_MAINT_OPTIONS ืขืงื™ืคื•ืช ืžืฉืชื ื™ื
ื›ืœ ื”ื’ื“ืจื” ื‘ DEB_BUILD_OPTIONS ืชื›ื•ื ื” ืื–ื•ืจื™ื. ืจืื” ืืช FEATURE ืฉื˜ื—ื™ื ืกืขื™ืฃ
ืœืงื‘ืœืช ืคืจื˜ื™ื.

ื”ืฉืชืžืฉ ื‘-dpkg-buildflags ื‘ืื•ืคืŸ ืžืงื•ื•ืŸ ื‘ืืžืฆืขื•ืช ืฉื™ืจื•ืชื™ onworks.net


ืฉืจืชื™ื ื•ืชื—ื ื•ืช ืขื‘ื•ื“ื” ื‘ื—ื™ื ื

ื”ื•ืจื“ ืืคืœื™ืงืฆื™ื•ืช Windows & Linux

ืคืงื•ื“ื•ืช ืœื™ื ื•ืงืก

Ad