Project 1: Makefile Posted: Feb 6
The decompressor is a universal decompressor that uses libarchive to convert a compressed and archived file to the original content. If the compressed file is an archive with multiple entries, the output entries are separated by ASCII NULL ('\0'). The input formats are shown on the libarchive formats.
Create a Makefile and associated files to build the Decompressor project. Make sure to include the following:
- Complete build that works on Linux (GitHub Codespaces)
- Demo file
all
targetrun
targetcheck
target that uses the demo file- Compiles with
-O3
optimization - Checks for all warnings
Notes:
- The project is due 11:59:59 pm on Tuesday, Feb 13.
- The GitHub Classroom Invitation Link is in Brightspace. It will disappear at the start of the next class meeting after this is assigned.
- You must write the Makefile by hand and commit it in stages. The Makefile cannot be generated from another tool, i.e., CMake.
- The Makefile cannot be generated by another tool. It must be committed to the repository in stages.
- The full command to build on Linux that works on GitHub Codespaces:
- The full command to build on macOS: While you can develop on macOS, you must finish the Makefile on Linux, e.g., GitHub Codespaces.
- The decompressor can handle multiple compressions on the same file, e.g., text.bz2.gz.