minor linux portability for buffered image writes
[dcpu16] / Makefile
1 #!make
2 #
3
4 ifeq "$(origin CC)" "default"
5 CC = clang
6 endif
7
8 PROGRAMS = as-dcpu16 vm-dcpu16
9 SOURCES = common.c dcpu16.c as-dcpu16.c vm-dcpu16.c display.c
10
11 CPPFLAGS += -DHAVE_LIBPNG -I/usr/X11/include/
12 CFLAGS = -g -Wall -Wextra -pedantic -std=c99
13 LDFLAGS += -lreadline
14 LDFLAGS += -L/usr/X11/lib -lpng
15
16 UNAME := $(shell uname)
17 ifeq ($(UNAME),Darwin)
18 CPPFLAGS += -DHAVE_FUNOPEN
19 endif
20 ifeq ($(UNAME),Linux)
21 # linux needs _GNU_SOURCE for fopencookie
22 # linux needs _XOPEN_SOURCE=600 (provided by _GNU_SOURCE) for getopt and strdup
23 CPPFLAGS += -DHAVE_FOPENCOOKIE -D_GNU_SOURCE
24 endif
25
26
27 all: $(PROGRAMS)
28
29 depend: .depend
30
31 .depend: $(SOURCES)
32 @rm -f ./.depend
33 $(CC) $(CFLAGS) -MM $^ >> ./.depend
34
35 include .depend
36
37
38 vm-dcpu16: vm-dcpu16.o dcpu16.o common.o display.o
39
40 as-dcpu16: as-dcpu16.o common.o
41
42 clean:
43 @rm -rf $(PROGRAMS) *.o *.dSYM .depend
44
45 check: $(PROGRAMS)