Angielskifrancuskihiszpański

Ad


Ulubiona usługa OnWorks

makepp_incompatibilities - Online w chmurze

Uruchom makepp_incompatibilities w darmowym dostawcy hostingu OnWorks przez Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

To jest polecenie makepp_incompatibilities, które można uruchomić w darmowym dostawcy usług hostingowych OnWorks przy użyciu jednej z wielu naszych bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online MAC OS

PROGRAM:

IMIĘ


makepp_incompatibilities — Niezgodności między makepp i GNU make

OPIS


Makepp został zaprojektowany tak, aby był jak najbardziej zbliżony do GNU make
(<http://www.gnu.org/software/make/manual/make.html>). narzędzia automatyczne GNU
(<http://www.gnu.org/software/automake/manual/automake.html>), CMake
(<http://www.cmake.org/>), przygotowanie (http://industriousone.com/premake> i patrz uwaga
poniżej) lub ręcznie wykonane starsze systemy kompilacji powinny być możliwe do zbudowania za pomocą makepp. To jest tak
możesz bez wysiłku migrować projekty. Lub jeśli nie chcesz cieszyć się wszystkim
zalety programu makepp (np. aby inni nadal mogli budować twój projekt za pomocą GNU make) podczas gdy ty
skorzystaj z przewagi niezawodności dla swojego rozwoju.

Jednak ze względu na różnicę w filozofii, niektóre z GNU make lub POSIX make's
(<http://pubs.opengroup.org/onlinepubs/009695399/utilities/make.html>) cechy nie mogą być
utrzymany. Kilka nie zostało zrealizowanych, ponieważ nie mieliśmy czasu. Większość
różnice w stosunku do GNU make są dość techniczne i rzadko powodują problemy. Niestety
obejścia niedociągnięć tradycyjnej produkcji stają się coraz bardziej złożone,
i utrudniają makepp.

W skrócie, jeśli nie buduje się po wyjęciu z pudełka, spróbuj:

makepp --no-warn makepp_simple_concatenation=1 makepp_percent_subdirs=1 \
--build-check=target_newer --rules-ostatniej szansy --no-remake-makefiles

Jeśli to się powiedzie, możesz spróbować wyeliminować te argumenty jeden po drugim. Ale jeśli to się nie powiedzie,
spróbuj dodać:

--tradycyjne-rekurencyjne-make

Jeśli to również się nie powiedzie, system kompilacji wymaga pewnych poprawek, aby współpracował z makepp. Nawet
jeśli niektóre opisane tutaj opcje sprawiają, że coś można zbudować, nadal zaleca się dostosowanie
rzeczy nieco, więc stają się kompatybilne po wyjęciu z pudełka z obydwoma markami.

Wymuszanie jeszcze POSIX or GNU robić zgodność


Oto kilka możliwości wiersza poleceń umożliwiających uruchomienie wielu starszych systemów kompilacji
bez modyfikacji. Sprawiają, że makepp dokładnie naśladuje zachowanie GNU make.

zgodność przez dotychczasowy opcja: "--build-check=target_newer"
Domyślnie makepp spróbuje odbudować wszystkie cele, jeśli którakolwiek z zależności ma
zmienił się od ostatniej kompilacji lub jeśli polecenie uległo zmianie (zobacz makepp_build_check dla
Detale). To jest zwykle to, czego chcesz. Czasami jednak nie chcesz celu
do przebudowania, jeśli został zmodyfikowany poza kontrolą makepp (np
go lub ręcznie uruchamiając program w celu utworzenia pliku). Możesz zmusić makepp do użycia
tradycyjny algorytm make, który przebudowuje tylko wtedy, gdy któryś z celów jest nowszy niż
zależności, dodając tę ​​opcję do wiersza poleceń.

zgodność przez dotychczasowy opcja: "--dont-build=config.status"
Istnieją pakiety, które próbują się autokonfigurować lub robią inne rzeczy, które gmake
ignoruje, chyba że zostanie o to poproszony, na przykład:

config.status : skonfiguruj
./config.status --recheck

skonfigurować : skonfigurować.w aclocal.m4
autoconf

Większość ludzi nie ma nawet zainstalowanego „autoconf”, więc sumiennie robią wszystko
zasady, podobnie jak makepp, zawiodą. Ta opcja zapobiega temu, jeśli dowiesz się, co
nie budować.

zgodność przez dotychczasowy opcja: "--zasady-ostatniej szansy"
Reguły domyślne (reguły wzorców bez zależności od wzorców) zwykle nie są obsługiwane.
Makepp tworzy instancje wszystkich reguł na podstawie istniejących plików, dzięki czemu jest świadomy każdego z nich
plik, który można wygenerować. Niestety w ten sposób nie wie, jak utworzyć instancję wzorca
reguła bez zależności od wzorca. Mechanizm :last_chance częściowo naprawia ten problem.
Tam, gdzie jest to wystarczające dla starszych plików makefile, ta opcja umożliwia włączenie jej globalnie.

zgodność przez dotychczasowy opcja: "--nie-ostrzegam"
To nie poprawia wyniku. Makepp wyświetli komunikaty ostrzegawcze dotyczące wielu rzeczy
które tradycyjny Unix akceptuje bez mrugnięcia okiem. To dlatego, że istnieją
lepsze sposoby na zrobienie ich za pomocą makepp. Jeśli denerwują Cię te ostrzeżenia, możesz je wyłączyć
z tą opcją.

zgodność przez dotychczasowy opcja: "--hybrydowe-rekurencyjne-make"
Rekurencyjne wywołania make są często uważane za niebezpieczną praktykę (patrz „Better
system for hierarchical builds” w makepp, aby uzyskać szczegółowe informacje), ale są one niezwykle powszechne w
istniejące makefile. Makepp obsługuje rekurencyjne tworzenie dla kompatybilności wstecznej; dla nowych
makefile, znacznie lepiej jest użyć instrukcji „load_makefile” lub implicit makepp
Mechanizm ładowania pliku Makefile.

Aby móc korzystać z repozytoriów dla kompilacji wariantów i pomóc w tworzeniu rekurencji
wywołań make safer, makepp zwykle nie wywołuje się rekurencyjnie
nawet jeśli mu to powiesz. Zamiast tego podproces komunikuje się z procesem nadrzędnym i
rzeczywista kompilacja jest wykonywana przez proces nadrzędny.

Działa to w większości przypadków, ale nie możesz wywoływać kilku makefile z tego samego
katalog, np. następujące elementy nie będą działać:

cel: zależności
$(MAKE) -f inne_makefile cele

W tym przypadku makepp zauważa, że ​​ładuje drugi makefile i narzeka. Z tą opcją
zamiast tego powróci do tradycyjnego sposobu budowania z dodatkowych plików makefile
każdy z osobnych procesów makepp.

Uwaga: Technicznie załadowanie kilku plików Makefile nie byłoby problemem, ale zwykle mają
te same fałszywe nazwy celów. Rozdzielenie tego oznaczałoby całkowite przeprojektowanie makepp
wewnętrzne. Jednak to zadziała, ale nie jest równoważne:

cel: zależności
cd podkatalog && $(MAKE) -f inne_makefile cele

zgodność przez dotychczasowy opcja: "--traditional-recursive-make"
Czasami poprzednia opcja nie wystarcza, zwłaszcza jeśli używane są wywołania rekurencyjne
sprzeczne opcje. Makepp używa tylko jednego zestawu opcji globalnych, więc submake nie
wolno je modyfikować, ponieważ dotyczyłoby to również innych makefile.

Dodanie tej opcji do wiersza poleceń ma następujące niepożądane skutki uboczne:

· Sprawia, że ​​rekurencyjnie nie wykonuje się wewnętrznie równolegle, nawet jeśli robi to rodzic.
W przeciwieństwie do gmake nie ma ogólnej koordynacji liczby procesów. to będzie
nie zostać zaimplementowany, ponieważ ten sposób pracy nie jest celem projektowym makepp.

· Rekurencyjne procesy make nie wiedzą nic o repozytoriach.

· Każdy rekurencyjny proces tworzenia tworzy własny plik dziennika w katalogu, w którym został wywołany
in, zamiast tworzyć jeden plik dziennika dla całej kompilacji.

· Ponieważ makepp zwykle buduje więcej niż tradycyjne make uważa za konieczne, i ponieważ wielu
systemy kompilacji zapewniają wywołania rekurencyjne we wszystkich kierunkach, co może prowadzić do nieskończoności
rekursja. Makepp pociągnie za hamulec po 50 rundach i powie ci, jak zwiększyć
że na wypadek, gdybyś naprawdę miał tak głębokie zagnieżdżenie.

Nawet z opcją „--traditional-recursive-make” zmienne środowiskowe
„MAKEOVERRIDES” i „MFLAGS” nie są konfigurowane i ignorowane, więc makefile zależne od
te nie będą działać.

A Przedsmak wygenerowane Makefile jest tylko zabawnym opakowaniem wywołania sub-make w tym samym
informator. Jeśli masz jakiś cel projektu XYZ będzie miał taką linię

@${MAKE} --no-print-directory -C . -f XYZ.make

W takim przypadku możesz uniknąć opcji „--traditional-recursive-make”, wywołując bezpośrednio
makepp z tym „-f XYZ.make" opcja.

zgodność bez dotychczasowy opcja: "--prace=n"
Starsze makefile czasami nie wyświetlają wszystkich zależności, opierając się na kolejności
wykonanie, aby zdążyć na czas. W tej sytuacji makepp może wcześniej wywołać regułę
wszystkie jego zależności zostały wykonane. Wtedy wyniki mogą być lepsze z mniejszą ilością lub nawet bez
wykonanie równoległe.

zgodność przez dotychczasowy zmienna: "makepp_simple_concatenation=1"
Podstawianie w stylu Rc to domyślny sposób, w jaki makepp wykonuje podstawienia zmiennych w tekście
strings, ponieważ bardzo rzadko psuje starsze makefile i często jest przydatne w new
pliki makefile. Wprowadza jednak sporadyczne niezgodności w zastępowaniu
zmienne nie otoczone spacjami. Na przykład,

INCLUDE_PREFIX := -I/jakieś/dołącz/katalog -I
ZAWIERA := $(INCLUDE_PREFIX)/other/include/dir

ustawi „INCLUDES” na „-I/some/include/dir/other/include/dir -I/other/include/dir”, jeśli rc-
podstawianie stylów jest włączone, podczas gdy GNU make ustawiłoby je na
"-I/niektóre/dołącz/katalog -I/inne/dołącz/katalog". Np. podczas kompilacji Redis 2.6.5 próbuje
uruchom „printfgcc”. Taka zabawna konkatenacja dwóch poleceń jest tego mocną wskazówką
ta zmienna jest potrzebna do powrotu do semantyki.

Istnieje również niezgodność w obsłudze białych znaków w zmiennej:

zero :=
T := -o $(null) # T zawiera -o, po którym następuje jedna spacja.
PLIKWYJŚCIOWY = $(T)plikwyjściowy

ustawi „OUTFILE” na „-ooutfile”, jeśli włączone jest zastępowanie w stylu rc, podczas gdy GNU make
ustawiłoby go na „-o outfile”.

Obie te niezgodności są usuwane przez ustawienie „makepp_simple_concatenation”
zmienny. Zauważ jednak, że nawet z „makepp_simple_concatenation”, makepp nadal
traktuje spacje niekompatybilnie w niektórych sytuacjach:

T := -o # Nie usuwaj tego komentarza.

GNU make ustawia „T” tak, aby zawierało „-o”, po którym następuje spacja, podczas gdy makepp usuwa
i tak spacja końcowa. Jeśli chcesz spację końcową, musisz ustawić
„makepp_simple_concatenation”, a także ustawić „T” za pomocą techniki z udziałem manekina
zmienna, taka jak „null”, jak pokazano powyżej.

Obejście opcja "--no-remake-makefiles"
Typowe oprogramowanie typu open source wymaga wywołania „configure” w celu utworzenia plików Makefile. Ale potem te
pliki makefile mogą zawierać reguły przerobienia pliku makefile przez wywołanie jakiejś komendy. Makepp będzie
z radością przestrzegaj i aktualizuj go zgodnie z regułą. Ale czasami jest to szkodliwe, więc
po prostu pomiń to.

zgodność przez dotychczasowy zmienna: "makepp_percent_subdirs=1"
Domyślnie „%” w regule wzorca nie pasuje do katalogów. Oznacza to, że reguła taka jak
to:

%.o: %.c
$(CC) $(CFLAGS) -c $(wejście) -o $(wyjście)

nie zostanie zastosowany do plików takich jak „../shared/xyz.c”. Jeśli chcesz, aby pasował do plików w
również podkatalogi, a następnie ustaw zmienną „makepp_percent_subdirs=1” w wierszu poleceń
lub w pobliżu początku pliku makefile.

zgodność przez dotychczasowy środowisko zmienna: $MAKEPP_IGNORE_OPTS
Czasami starsze wywołania rekurencyjne przekazują opcje, których makepp nie rozumie.
Mam nadzieję, że opcja nie jest ważna, ale uniemożliwia uruchomienie programu makepp. Z tym
zmiennej środowiskowej możesz poprosić makepp o ciche zignorowanie niektórych opcji. Wartość
będzie oddzieloną spacjami listą opcji, która może występować w 4 wariantach:

--długie=x
Długa opcja, która oczekuje argumentu. Ten fakt musi być ogłoszony przez równych sobie
znak, chociaż rzeczywiste użycie może być również oddzielone białymi znakami, albo „--long=bla” albo
"--długi bla".

--długie
Długa opcja bez argumentów.

-sx Krótka opcja, która oczekuje argumentu. Fakt ten należy zadeklarować przez dodanie
coś bezpośrednio po opcji, chociaż rzeczywiste użycie może być również oddzielone
białe znaki, albo „-sbla”, albo „-s bla”.

-s Krótka opcja bez argumentu.

Np. przesłoń opcję -R programu makepp o jeden bez argumentu i zaakceptuj debugowanie gmake
opcja z argumentem:

eksportuj MAKEPP_IGNORE_OPTS='-R --debug=x'

Niezgodności że wymagać Makefile zmiany


· Makefile, które jawnie wywołują make, uniemożliwiają makepp zbudowanie wszystkiego samego.
Własny "ExtUtils::MakeMaker" Perla popełnia drugą z następujących dwóch form
ten błąd aż do wersji 6.56 (Perl 5.12.1):

podkatalog:
podkatalog cd; robić

ROBIĆ = robić

· Ustawienie zmiennej „VPATH” na pewną wartość pośrednio wywołuje „vpath % value”. „vścieżka”
instrukcje są emulowane za pomocą mechanizmu repozytorium. Więc gdzie gmake zastępuje
ścieżka do pliku znalezionego w ścieżce v, makepp zamiast tego połączy go symbolicznie
gdzie jest potrzebny. W ten sposób makepp dostarczy niezmodyfikowany ciąg, co zwykle jest
żaden problem.

Cele w ścieżce wirtualnej nie są obsługiwane. (Gmake bierze je pod uwagę, jeśli są nowsze niż
ich zależności, ale jeśli nie, cel zostanie odtworzony w bieżącym katalogu
-- raczej niespójne.) Usuwanie ustawień vpaths nie jest obsługiwane.

· Reguła wzorca obecna później w pliku makefile zastępuje tę, która jest obecna wcześniej.
To jest wstecz od GNU make.

· Zestaw wbudowanych reguł niejawnych różni się nieco od tych dla GNU make,
chociaż nazwy zmiennych są w dużej mierze zgodne. Wbudowane reguły powinny
pomyślnie skompilować programy C/C++/Fortran i faktycznie może być w stanie odgadnąć
odpowiednie biblioteki w niektórych przypadkach. Wsparcie dla Modula-2 i RatFor oraz innych rzadkich
językach jest celowo nieobecny, ponieważ ciągle napotykałem problemy z GNU
make, kiedy przypadkowo ponownie użyłem rozszerzeń dla tych języków.

· Przedrostek akcji "+" jest po cichu ignorowany.

· Członkowie archiwum nie są obsługiwani, podobnie jak powiązane zmienne automatyczne
$%, "$(%D)" i "$(%F)".

· Nie ma obsługi SCCS.

· Wiodące i końcowe spacje w przypisaniach zmiennych są ignorowane (nawet jeśli
po spacji następuje komentarz). Aby uzyskać więcej informacji na temat obsługi białych znaków
niezgodności, patrz „Odstępy w zmiennych” w makepp_variables.

· Makepp nie próbuje odbudowywać plików dołączonych do instrukcji „include”, chyba że
plik makefile zawiera regułę budowania ich przed wyświetleniem instrukcji include.
(Spróbuje jednak odbudować sam plik makefile.) Zwykle jest to używane do
obsługa obejmuje zależności plików i nie jest tak użyteczna w przypadku makepp, ponieważ ty tego nie robisz
i tak trzeba to zrobić.

· Zmienna "SHELL" jest obecnie częściowo ignorowana. Makepp zawsze używa / Bin / sh
chyba że /usr/xpg4/bin/sh or /sbin/xpg4/sh zostanie znaleziony lub jeśli nie wyeksportujesz „SHELL”
zmienna w twoim makefile. Ale jeśli to zrobisz, parser poleceń może nie w pełni
zrozumieć, co robi polecenie powłoki. W systemie Windows Strawberry lub ActiveState Perl
zamiast tego musisz ustawić zmienną SHELL zanim Dzwonię do Makeppa.

· Zależności czegokolwiek w pliku Makefile nadal działają, ale zwykle są niepotrzebne.
Jest to zwykle używane do wymuszenia przebudowy, gdy zmienią się opcje kompilacji. Makepp wie
gdy polecenia kompilacji zmieniły się bez niczego specjalnego w pliku makefile; przechowuje
to na zasadzie plik po pliku. Jeśli zmienisz plik makefile, dokładnie wie, który
pliki wymagają ponownej kompilacji.

· Pliki pośrednie nie są usuwane. (Ponieważ makepp nalega na posiadanie całego pliku
daty są takie same jak w ostatniej kompilacji, wszystkie pliki pośrednie muszą być takie same
obecny lub nastąpi przebudowa). Nie ma specjalnego statusu
pliki pośrednie.

· Jedynym obsługiwanym celem specjalnym jest „.PHONY” i częściowo „.SUFFIXES”. The
pozostałe są po prostu ignorowane.

W szczególności GNU make ma następujące specjalne cele:

.SUFIKSY
Makepp ignoruje „.SUFFIXES” z wyjątkiem specjalnego przypadku „.SUFFIXES” bez numeru
zależności, takie jak to:

.SUFIKSY:

który mówi mu, aby nie ładował żadnych swoich domyślnych reguł.

.POŚREDNIE, .WTÓRNE, .CENNE
Plikom pośrednim nie jest przypisywany żaden specjalny status, więc te cele nie są
znaczący.

.IGNOROWAĆ
Ten cel jest ignorowany. Jeśli chcesz zignorować błędy, umieść słowo „ignore_error”
(lub znak minus) przed poleceniem, którego status wyjścia ma zostać zignorowany.

.CICHY
Ten cel jest ignorowany. Jeśli chcesz, aby polecenia się nie powtarzały, umieść słowo „noecho”
(lub znak „@”) przed poleceniem, które nie powinno być powtarzane,
lub użyj opcji „--silent”, aby makepp.

.DELETE_ON_ERROR
.EXPORT_ALL_VARIABLES
.BRAK EKSPORTU
.POSIX
.DOMYŚLNY
Te cele nie są obsługiwane i są po prostu ignorowane.

· Funkcje tworzenia GNU „eval”, „flavor” i „value” nie są obecnie obsługiwane. Ty
może osiągnąć to samo co eval w prostszy sposób za pomocą „$[...]”
rozwinięcie zmiennej lub funkcji.

· Reguły podwójnego dwukropka nie są w pełni obsługiwane. (Nie mogą być: w paradygmacie Makeppa,
nie może istnieć więcej niż jeden sposób aktualizacji celu.) Obecnie każdy kolejny
reguła podwójnego dwukropka dla danego celu po prostu dołącza jego ciąg poleceń i zależność
list do ciągu poleceń i listy zależności dla tego celu. Na przykład, jeśli ty
Napisz to:

:: b
&kot b-oa

# Później w twoim makefile:
:: c
&kot c -o >>a

to jest dokładnie tak samo jakbyś napisał

za: p.n.e
&kot b-oa
&kot c -o >>a

Z pewnością nie do tego służą reguły podwójnego dwukropka i nie zawsze tak będzie
działa, ale działa dla celów takich jak „czysty” lub dla wszystkich rzeczy, które
ExtUtils::MakeMaker umieszcza w swoich plikach makefile. Nie licz na to na nic innego
niż starsze makefile.

· Funkcja "$(wildcard )" dopasowuje nie tylko pliki, które istnieją, ale także pliki, które
jeszcze nie istnieją, ale mają regułę, którą makepp widział w tym czasie
Funkcja „$(wildcard )” jest oceniana.

· Instrukcja „define” jest obsługiwana, ale obsługa poprzedzającego ją znaku „@” jest wykonywana
różnie. Obecnie w makepp, „@” przed zmienną, która ma wieloliniowość
value będzie tłumić echo tylko pierwszego wiersza. Na przykład,

zdefiniuj linie echa
&echo linia1 -o $@
&echo linia2 -o>>$@
koniec

x:
@$(linie echa)

nie zablokuje drukowania „&echo line2”, jak ma to miejsce w GNU make; będzie tylko
pomiń drukowanie „&echo line1”.

· Makepp nie obsługuje następujących zmiennych środowiskowych (nie ustawia ich,
i po prostu je ignoruje):

REMONTY
MFLAGI

Niezgodności in zamówienie of wyrażenie ekspansja
· W makepp działania reguł są rozszerzane przed zagwarantowaniem wszystkich zależności
zostały zbudowane. Możesz to obejść, zmieniając reguły, takie jak ta:

foo: bar
genfoo < $(kot paska powłoki)

do tego:

foo: bar
genfoo < `kot bar`

lub to, co spowoduje, że plik podczas rozwijania:

foo: bar
genfoo < $(&cat $(utwórz pasek))

Jest to preferowane tutaj, ponieważ plik wymieniony w bar jest również zależnością tego
rule, a makepp może ją teraz przechwycić podczas leksykalnej analizy przekierowania.

· Chociaż nie widziałem tego używanego, GNU make umożliwia:

dwukropek =:
a$(dwukropek) b
powtórz $^

Makepp rozwija „$ (dwukropek)” zbyt późno, aby to zadziałało. Oferuje jednak tzw
alternatywna składnia „$[dwukropek]”, która może zrobić znacznie więcej niż GNU make, ponieważ tak jest
rozszerzył się bardzo wcześnie.

"$(ZRÓB)" może zawierać obowiązuje
W odinstalowanym makepp lub jeśli platforma wydaje się nie obsługiwać uruchamiania skryptu Perla
magiczną liczbą lub z „--traditional-recursive-make” ta zmienna będzie zawierać co najmniej
jedno miejsce. To nie jest problem, gdy używasz go jako polecenia. Ale przekazując go jako
niecytowany parametr do skryptu (tak jak robi to system kompilacji Perla 5.14.0), rozerwie go
na osobne parametry, co prowadzi do zamieszania. Więc jako parametr jest bezpieczniejszy
zacytuj to jako „$ (MAKE)”. co nie narusza kompatybilności wstecznej.

Specyficzne dla celu Zadania nie propagować
Specyficzne dla Makeppa zmienne docelowe różnią się nieco od zmiennych GNU make tym, że są
stosuje się tylko do reguły dotyczącej jednego wymienionego pliku, a nie do żadnego z jej poprzedników; Widzieć
Zadania specyficzne dla celu.

Zdanie wtrącone or szelki nie gniazdo
Makepp kończy wyrażenia przy pierwszym pasującym nawiasie lub nawiasie klamrowym. Zamiast tego

$(jakaśfunkcja ... ( ) ...) # GNU tworzy styl

musisz użyć jednego z nich

${pewna funkcja ... ( ) ...} # GNU zapewnia kompatybilność
$((jakafunkcja ... ( ) ...)) # Makepp rozszerzenie

Prawdopodobnie zostanie to naprawione w wersji 2.1, być może opcjonalnie.

Moll zwrotnica
Zależności wzorców nie pasują do fałszywych celów
%.a: %.b; ...
$(fałszywy xb): ; ... # nie zapewnia sposobu na zbudowanie xa

Komentarze nie mają kontynuacji
# To jest \
NIE komentarz dwuwierszowy

Command linia niezgodności


Makepp obsługuje kilka bardziej użytecznych opcji wiersza poleceń make. Poniższe jednak
nie są obsługiwane:

-d lub --debug
-F -
Wewnętrzne obiekty makefile Makeppa są połączone z obiektami plików, więc nie może obsłużyć
std.

-i
-l lub --load-średnie lub --max-load
-m Opcja "-m" Makeppa dotyczy wyboru metody podpisu, podczas gdy GNU make
ignoruje -m.

-p lub --print-data-base
-q lub --pytanie
-R lub --no-wbudowane-zmienne
Opcja „-R” Makeppa faktycznie robi coś zupełnie innego.

-S --no-kontynuuj lub --stop
Opcja „--stop” zatrzymuje (uśpi) makepp po nauczeniu się wszystkich zasad, więc ty
może kontynuować edycję.

-t lub --touch
-w lub --print-directory
Dzieje się to automatycznie.

--ostrzegaj-niezdefiniowane-zmienne

Niektóre z nich można łatwo obsługiwać, jeśli kogoś to obchodzi.

Zmienna niezgodności


Makepp szuka w $PATH pasującego polecenia, aby zwrócić zmienne, takie jak „$(CC)” lub
„$(CXX)”, podczas gdy GNU make ma statyczne wartości domyślne. Również makepp daje pierwszeństwo „gcc” i
„g++”, podczas gdy zaskakująco GNU zwraca „cc” dla pierwszego, ale to samo dla
końcowy. Możesz je zastąpić w makefile, w wierszu poleceń lub eksportując plik
zmiennej o tej samej nazwie przed wywołaniem makepp.

Użyj makepp_incompatibilities online, korzystając z usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

Komendy systemu Linux

Ad