summaryrefslogtreecommitdiffstats
path: root/03_exercise/Makefile
blob: 8c02dc9454dd1547fd8ca5d2cfe6763797dd9130 (plain) (blame)
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
#!/usr/bin/make
.SUFFIXES:
.PHONY: all run pack clean
.SILENT: run

TAR = cli/client srv/server
PCK = lab-3.zip

export CFLAGS = -std=gnu11 -c -g -Os -Wall -Werror -MMD -MP

cli/client: $(wildcard cli/*.c) $(wildcard cli/*.h)
	@$(MAKE) -C $(@D)

srv/server: $(wildcard srv/*.c) $(wildcard srv/*.h)
	@$(MAKE) -C $(@D)

all: $(TAR)

run: all
	srv/server& echo $$! > .srv_pid
	echo "Client Ready:"
	cli/client
	kill `cat .srv_pid`
	$(RM) $(RMFILES) .srv_pid

pack: clean
	zip -r $(PCK) cli srv Makefile -x "*/.*"

clean:
	@$(MAKE) -C cli clean
	@$(MAKE) -C srv clean
	$(RM) $(RMFILES) $(PCK)