-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Makefile_added #1
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Skomentowane bezpośrednio w pliku Makefile. W razie niejasności pytaj :)
Makefile
Outdated
CC=g++ | ||
CFLAGS=-Wall -Wextra -Wpedantic -Werror -Iincludes | ||
SOURCES=debug release | ||
OBJECTS=*cpp -std=c++17 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-std=c++17 przerzuć do CFLAGS.
Zwyczajowo też zmienna o nazwie CFLAGS odnosi się do języka C. W C++ nazywa się ją CXXFLAGS.
CC podobnie stosuje się w C, a w C++ nazywa się ją CXX, więc możesz zmienić te nazwy :)
Pod zmienną OBJECTS umieszcza się pliki obiektowe, czyli te które są po etapie kompilacji, z rozszerzeniem* .o.
W zmiennej SOURCES umieszcza się pliki *.cpp
Makefile
Outdated
all: $(SOURCES) | ||
|
||
debug: *.cpp includes/*.hpp | ||
$(CC) $(OBJECTS) $(CFLAGS) -g -o debug |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Użyj też proszę zmiennych
https://stackoverflow.com/questions/3220277/what-do-the-makefile-symbols-and-mean
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Już jest coraz bliżej prawidłowego rozwiązania :-) jeszcze tylko drobne poprawki.
Makefile
Outdated
@@ -0,0 +1,17 @@ | |||
CXX=g++ | |||
CXXFLAGS=-Wall -Wextra -Wpedantic -Werror -Iincludes -std=c++17 | |||
$<=debug release |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Zmiennej
Zmienną $@ używasz poprawnie :)
Makefile
Outdated
CXX=g++ | ||
CXXFLAGS=-Wall -Wextra -Wpedantic -Werror -Iincludes -std=c++17 | ||
$<=debug release | ||
SOURCES=*cpp |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Aby było w pełni poprawnie to brakuje Ci kropki - *.cpp. Bez tego do zmiennej SOURCES załapałby się np taki plik jak hellocpp
Hej, zobacz zmiany Martyny: https://github.com/LordLukin/modern_cpp/pull/2/files |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Już cele debug i release powinny przy takim kodzie działać :)
Jeszcze all i clean wymagają poprawy, bo używasz tam $<, które tak naprawdę można użyć w debug i release, ale o nie nie będę się już czepiał.
No description provided.