removed checks for setting literal operands
[dcpu16] / Makefile
index 1a931a1c8f709724d37f398aabfaea17c30c6534..fd05c43b8d484609d68e7835d5512bf4629e4f60 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,23 +1,34 @@
 #!make
 #
+
+ifeq "$(origin CC)" "default"
+CC = clang
+endif
+
 PROGRAMS = as-dcpu16 vm-dcpu16
+SOURCES = common.c dcpu16.c as-dcpu16.c vm-dcpu16.c
 
+CPPFLAGS = -D_XOPEN_SOURCE=600
 CFLAGS = -g -Wall -Wextra -pedantic -std=c99
 LDFLAGS = -lreadline
 
-HEADERS = dcpu16.h
 
 all:   $(PROGRAMS)
 
-%.o:   %.c $(HEADERS)
+depend:        .depend
+
+.depend:       $(SOURCES)
+       @rm -f ./.depend
+       $(CC) $(CFLAGS) -MM $^ >> ./.depend
+
+include .depend
 
-vm-dcpu16: vm-dcpu16.o dcpu16.o
 
-as-dcpu16: as-dcpu16.o
+vm-dcpu16:     vm-dcpu16.o dcpu16.o common.o
 
-dcpu16:        dcpu16.o
+as-dcpu16:     as-dcpu16.o common.o
 
 clean: 
-       @rm -rf $(PROGRAMS) *.o *.dSYM
+       @rm -rf $(PROGRAMS) *.o *.dSYM .depend
 
 check: $(PROGRAMS)