X-Git-Url: http://git.squeep.com/?p=dcpu16;a=blobdiff_plain;f=Makefile;h=1ecac46d40f73f94e96b87c3c86e1bea893befdc;hp=78f7941e97ac6c8879efcc87610d227e54ef14c5;hb=HEAD;hpb=95ed7334e5fb35010f287765161fcff1efa69758 diff --git a/Makefile b/Makefile index 78f7941..1ecac46 100644 --- a/Makefile +++ b/Makefile @@ -1,18 +1,56 @@ #!make # -PROGRAMS = dcpu16 as-dcpu16 + +ifeq "$(origin CC)" "default" +CC = clang +endif +ifeq ($(CC),gcc) +CPPFLAGS += -DWANT_VARIADIC_VOIDP_CAST +endif + + +PROGRAMS = as-dcpu16 vm-dcpu16 +SOURCES = common.c dcpu16.c as-dcpu16.c vm-dcpu16.c \ + hw_clock.c hw_keyboard.c hw_lem1802.c hw_spc2000.c + +CPPFLAGS += -DDEBUG CFLAGS = -g -Wall -Wextra -pedantic -std=c99 -LDFLAGS = + +UNAME := $(shell uname) +ifeq ($(UNAME),Darwin) +CPPFLAGS += -DHAVE_FUNOPEN +# libpng from system x11, libvncserver from macports +CPPFLAGS += -I/usr/X11/include -I/opt/local/include +LDFLAGS += -L/usr/X11/lib -L/opt/local/lib +endif +ifeq ($(UNAME),Linux) +# linux needs _GNU_SOURCE for fopencookie +# linux needs _XOPEN_SOURCE=600 (provided by _GNU_SOURCE) for getopt and strdup +CPPFLAGS += -DHAVE_FOPENCOOKIE -D_GNU_SOURCE +# linux needs librt for clock_gettime +LDFLAGS += -lrt +endif + +CPPFLAGS += -DHAVE_LIBVNCSERVER -DHAVE_LIBPNG +LDFLAGS += -lvncserver -lpng -lreadline all: $(PROGRAMS) +depend: .depend + +.depend: $(SOURCES) + @rm -f ./.depend + $(CC) $(CFLAGS) -MM $^ >> ./.depend + +include .depend + -as-dcpu16: as-dcpu16.o +vm-dcpu16: vm-dcpu16.o dcpu16.o common.o hw_clock.o hw_keyboard.o hw_lem1802.o hw_spc2000.o -dcpu16: dcpu16.o +as-dcpu16: as-dcpu16.o dcpu16.o common.o clean: - @rm -rf $(PROGRAMS) *.o *.dSYM + @rm -rf $(PROGRAMS) *.o *.dSYM .depend check: $(PROGRAMS)