| 
									
										
										
										
											2014-05-06 21:09:59 +00:00
										 |  |  | # compiler, tools
 | 
					
						
							|  |  |  | CC = clang | 
					
						
							|  |  |  | PKG_CONFIG ?= pkg-config | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # flags
 | 
					
						
							|  |  |  | CFLAGS ?= -march=native -O2 -pipe | 
					
						
							|  |  |  | CFLAGS += -std=c99 -Wall -Wextra -Werror -Wno-unused-variable -Wno-unused-parameter -Wno-unused-function | 
					
						
							|  |  |  | ifeq ($(shell $(CC) -v 2>&1 | grep 'gcc version' &>/dev/null && echo 1),1) | 
					
						
							|  |  |  | CFLAGS += -Wno-unused-but-set-variable | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | LDFLAGS ?= -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ifndef NODEBUG | 
					
						
							|  |  |  | CFLAGS += -O0 -g3 | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TARGET = drow-engine | 
					
						
							| 
									
										
										
										
											2014-05-06 21:11:42 +00:00
										 |  |  | HEADERS = err.h parser.h types.h | 
					
						
							| 
									
										
										
										
											2014-05-06 21:09:59 +00:00
										 |  |  | OBJECTS = main.o parser.o | 
					
						
							|  |  |  | INCS = -I. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | CFLAGS += $(shell $(PKG_CONFIG) --cflags gl glu glib-2.0) | 
					
						
							|  |  |  | LIBS = $(shell $(PKG_CONFIG) --libs gl glu glib-2.0) -lglut -lm | 
					
						
							|  |  |  | CPPFLAGS += -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -D_GNU_SOURCE | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # install variables
 | 
					
						
							|  |  |  | INSTALL = install | 
					
						
							|  |  |  | INSTALL_BIN = install -m755 | 
					
						
							|  |  |  | INSTALL_DIR = install -d | 
					
						
							|  |  |  | PREFIX = /usr/local | 
					
						
							|  |  |  | LIBDIR = lib64 | 
					
						
							|  |  |  | INSTALL_BINDIR = $(PREFIX)/bin | 
					
						
							|  |  |  | INSTALL_LIBDIR = $(PREFIX)/$(LIBDIR) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | %.o: %.c | 
					
						
							|  |  |  | 	$(CC) $(CFLAGS) $(CPPFLAGS) $(INCS) -c $*.c | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | all: $(TARGET) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | $(TARGET): $(HEADERS) $(OBJECTS) | 
					
						
							|  |  |  | 	$(CC) $(CFLAGS) $(CPPFLAGS) $(INCS) -o $(TARGET) $(OBJECTS) $(LDFLAGS) $(LIBS) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | install: | 
					
						
							|  |  |  | 	$(INSTALL_DIR) "$(DESTDIR)$(INSTALL_BINDIR)" | 
					
						
							|  |  |  | 	$(INSTALL_BIN) $(TARGET) "$(DESTDIR)$(INSTALL_BINDIR)" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | uninstall: | 
					
						
							|  |  |  | 	rm "$(DESTDIR)$(INSTALL_BINDIR)/$(TARGET)" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | clean: | 
					
						
							|  |  |  | 	rm -f *.o $(TARGET) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | doc: | 
					
						
							|  |  |  | 	doxygen | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | doc-pdf: doc | 
					
						
							|  |  |  | 	$(MAKE) -C latex pdf | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .PHONY: clean install doc doc-pdf |