Commit graph

8 commits

Author SHA1 Message Date
Mahdi Hoseini
2e1cd7efbc style(coverletter): Add SyncTeX files to .gitignore and clean target
- Add *.synctex.gz and *.synctex.gz(busy) to .gitignore
- Update Makefile clean target to remove SyncTeX files
- Remove existing coverletter.synctex.gz build artifact
2025-08-31 14:55:44 -07:00
Mahdi Hoseini
7837a754f5 feat(Makefile): Rename EXAMPLES_DIR to SRC_DIR in Makefile
- Updated variable name from EXAMPLES_DIR to SRC_DIR for better clarity
- Updated all references in build rules and clean target
- Maintains same functionality with improved naming
2025-08-31 14:55:44 -07:00
Mahdi Hoseini
e936f68bd4 feat(Makefile): Update Makefile clean target to remove all build artifacts
- Enhanced clean target to remove *.pdf, *.xdv, *.fdb_latexmk, *.fls files
- Ensures comprehensive cleanup of all LaTeX build artifacts
2025-08-31 14:55:44 -07:00
Mahdi Hoseini
0b9cfcd87d feat(resume): Add resume files and content for Mahdi Hoseini
- Created resume.tex using Awesome CV template.
- Added personal information including name, position, contact details, and social links.
- Included sections for summary, skills, work experience, education, projects, extracurricular activities, honors & awards, certificates, committees, presentations, and writing.
- Implemented detailed descriptions for each section, highlighting relevant experiences and achievements.
- Added binary files for resume output (resume.pdf and resume.xdv).
2025-08-31 14:55:44 -07:00
Mahdi Hoseini
e2bf944f95 fix(Makefile): update compiler to use latexmk with xelatex option
- Changed CC variable to use latexmk for better compatibility
2025-08-31 14:55:33 -07:00
Posquit0.BJ
effa60f205 Rewrite Makefile commands 2016-11-23 21:40:02 +09:00
Matan Nassau
c5ce7130c7 make: fix dirty check, support concurrent build
if we hardwire the build script in the target commands, then what we
want to do remains opaque to make. it is better to speak make's
language, so it understands us, so we can rip the benefits from that.

we don't have 1 test target, but 3: the 3 pdf examples. when we extract
3 rules from the 1 we have right now, make gets to understand what we
want to do:

 * understand there are 3 steps to the build, not 1
 * understand what are the products that will yield (pdfs)
 * understand products' dependencies (texs)
 * understand the products are independent of each other

when make gets to know what the products and their dependencies are, it
can tell when there is no work to do. for example, if a pdf is already
there, and its tex dependency hasn't changed, there is no need to
re-compile the pdf.

when make knows the products are independent of each other, and we
compile with make -j, then it can build faster by compiling the pdfs
concurrently, rather than serially one after the other.

and, there is an additional benefit here: we can compile a particular
pdf, and not the others: make examples/cv.pdf.

finally, note that because now make can tell when there's nothing to do,
you might be surprised if, for example, on a pristine checkout of the
repository, you run make, and make responds

    make: Nothing to be done for `examples'.

this is because the pdfs are checked in, and make sees the texs haven't
changed since they were last compiled. to force a build as was the case
before, run make -B. alternatively, you can touch any of the tex files,
and make will recompile the touched texs.
2016-08-09 12:07:45 -04:00
ebadf
7e67b01813 Added stackoverflow, makefile for testing changes. 2015-12-05 15:05:24 -06:00