-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
38 lines (36 loc) · 1.38 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
EMPTY :=
SPACE := $(EMPTY) $(EMPTY)
NL := $(EMPTY)\\n$(EMPTY)
LABS := $(sort $(wildcard lab??-* testlib))
default:
@if [ `uname -o` = 'Cygwin' ]; then echo "Cygwin"; else echo "Linux"; fi
@echo "**** PROGC Labs ****"
@echo "$(subst $(SPACE),$(NL),$(LABS))"
@echo ""
@echo "**** Prerequisites ****"
@echo "1. Change into the testlib directory"
@echo " cd testlib"
@echo "2. Build and install the library, e.g."
@echo " make clean"
@echo " make default"
@echo " make test"
@echo " make install"
@echo " make doc"
@echo " Caution: make sure the tests, installation and documentation does not produce any error."
@echo "3. View the produced documentation, e.g."
@echo " firefox doc/index.html"
@echo ""
@echo "**** How to build and run a lab? ****"
@echo "1. Change into the respective directory, e.g."
@echo " cd $(firstword $(LABS))"
@echo "2. Build the lab, e.g."
@echo " make"
@echo " The resulting executable is located in the bin folder."
@echo "3. Build and run the tests, e.g."
@echo " make test"
@echo "4. Build the HTML documentation from the sources, e.g."
@echo " make doc"
@echo " The produced HTML documentation is located in the doc folder. Open the index.html file in a HTML browser."
@echo "Notes:"
@echo "- You may cleanup the builds, e.g."
@echo " make clean"