Makefile

Download
makefile 32 lines 599 B
 1CC = gcc
 2CFLAGS = -Wall -Wextra -std=c11 -pedantic
 3
 4# Linux needs -lrt for shm_open, -lpthread for sem_open
 5UNAME_S := $(shell uname -s)
 6ifeq ($(UNAME_S),Linux)
 7    LDFLAGS_SHM = -lrt -lpthread
 8else
 9    LDFLAGS_SHM =
10endif
11
12TARGETS = pipe_demo shm_producer shm_consumer signal_handler
13
14.PHONY: all clean
15
16all: $(TARGETS)
17
18pipe_demo: pipe_demo.c
19	$(CC) $(CFLAGS) -o $@ $<
20
21shm_producer: shm_producer.c
22	$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS_SHM)
23
24shm_consumer: shm_consumer.c
25	$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS_SHM)
26
27signal_handler: signal_handler.c
28	$(CC) $(CFLAGS) -o $@ $<
29
30clean:
31	rm -f $(TARGETS)