Create Makefiles for easier compilation
This commit is contained in:
parent
f186b52548
commit
58c58a97af
12
Makefile
Normal file
12
Makefile
Normal file
@ -0,0 +1,12 @@
|
||||
MAKE=make
|
||||
|
||||
.PHONY: code latex docs
|
||||
|
||||
code:
|
||||
$(MAKE) -C src
|
||||
|
||||
latex:
|
||||
$(MAKE) -C latex
|
||||
|
||||
docs:
|
||||
$(MAKE) -C src doxygen
|
||||
56
README.md
56
README.md
@ -4,7 +4,7 @@
|
||||
|
||||
- [Project](https://anderkve.github.io/FYS3150/book/projects/project2.html)
|
||||
|
||||
## Compile and run
|
||||
## Compile and run C++ programs
|
||||
|
||||
Compiling and linking is done using Make, make sure you are in the root folder. To create executable files, run shell commands
|
||||
|
||||
@ -18,13 +18,61 @@ To run `script-name`
|
||||
./main
|
||||
```
|
||||
|
||||
There are two ways of compiling the code.
|
||||
|
||||
The first way is to go into the src directory and compile
|
||||
|
||||
```shell
|
||||
cd src && make
|
||||
```
|
||||
|
||||
or you could use make in the project directory
|
||||
|
||||
```shell
|
||||
make code
|
||||
```
|
||||
|
||||
and it will compile everything with you needing to move into **src**.
|
||||
|
||||
You can run any of the compiled programs by going into the src directory
|
||||
and then doing
|
||||
|
||||
```shell
|
||||
./program-name
|
||||
```
|
||||
|
||||
|
||||
## Generate plots
|
||||
|
||||
To generate plots, the Python scripts is run using
|
||||
To generate plots, you can do
|
||||
|
||||
```shell
|
||||
python3 <script-name>
|
||||
python3 plot.py
|
||||
```
|
||||
|
||||
The plots will be saved inside [latex/images](../blob/main/latex/images).
|
||||
and the plots will be saved inside [latex/images](latex/images).
|
||||
|
||||
|
||||
## Generate documentation
|
||||
|
||||
For this project, we have used Doxygen to generate some nice and readable
|
||||
documentation for the C++ code.
|
||||
|
||||
If you want to generate the documentation you can do
|
||||
|
||||
```shell
|
||||
make docs
|
||||
```
|
||||
|
||||
in the project root, and the documentation will be made into the **docs**
|
||||
directory.
|
||||
|
||||
## Generate project document
|
||||
|
||||
If you want to recompile the Pdf file, you can do
|
||||
|
||||
```shell
|
||||
make latex
|
||||
```
|
||||
|
||||
and a Pdf file will be produced inside the **latex** directory.
|
||||
|
||||
5
latex/Makefile
Normal file
5
latex/Makefile
Normal file
@ -0,0 +1,5 @@
|
||||
|
||||
.PHONY: latex
|
||||
|
||||
latex:
|
||||
pdflatex assignment-2.tex
|
||||
@ -16,7 +16,7 @@ else
|
||||
endif
|
||||
|
||||
|
||||
.PHONY: clean
|
||||
.PHONY: doxygen clean
|
||||
|
||||
all: test_suite main
|
||||
|
||||
@ -31,6 +31,10 @@ test_suite: test_suite.o $(LIBOBJS)
|
||||
%.o: %.cpp
|
||||
$(CC) -c $^ -o $@ $(DBGFLAG) -I$(INCLUDE)
|
||||
|
||||
# Make documentation
|
||||
doxygen:
|
||||
doxygen
|
||||
|
||||
clean:
|
||||
rm *.o
|
||||
rm test_suite
|
||||
|
||||
Loading…
Reference in New Issue
Block a user