# Copyright (c) 2001 Dan Gudmundsson
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
# $Id: Makefile,v 1.2 2004/10/05 14:10:29 dgud Exp $
#
OS_FLAG = unix
ifeq ($(OS_FLAG), mingw)
include ../win32_conf/mingw_vars.mk
else
OGLDIR = ${X11BASE}
# Uncomment these if your opengl header is located in another directory than
# the usual $(OGLDIR)/include/GL/gl.h
#GL_INCLUDE_DIR = OpenGL
#USE_GL_INCLUDE_DIR = -DFULL_PATH_TO_GL_INCLUDE_DIR
GL_LIBS = -L$(OGLDIR)/lib -lGL -lGLU
GL_INCS = -I$(OGLDIR)/include/$(GL_INCLUDE_DIR)
SDL_LIBS = $(shell $(SDL_CONFIG) --libs)
SDL_INCS = $(shell $(SDL_CONFIG) --cflags)
LIBS = $(GL_LIBS) $(SDL_LIBS) -lm
CFLAGS += -O2 -funroll-loops -Wall -ffast-math -fpic -fomit-frame-pointer \
$(USE_GL_INCLUDE_DIR) -DSHM -DPTHREADS $(GL_INCS) $(SDL_INCS) $(ERL_INCS)
CLINKFLAGS = -fpic -shared
SOEXT = so
## The driver part needs erlang includes
ERL_DIR := $(shell echo 'io:format("~s~n",[code:root_dir()]),halt().' | erl | grep '1>' | sed 's,^[0-9]*> *,,g')
ERL_INCS = -I$(ERL_DIR)/usr/include
CC ?= gcc
endif
TARGETDIR = ../priv
GCC_O = $(CC) -c $(CFLAGS) $(INCS) $(ERLINC) $<
# Files
Helpers = esdl_wrapper esdl_gen esdl_spec esdl_util \
esdl_video esdl_events esdl_audio \
esdl_gl esdl_glu esdl_glext
HelpersObjects = $(Helpers:%=%.o)
# Targets
target: $(TARGETDIR)/sdl_driver.$(SOEXT)
clean:
rm -f $(HelpersObjects)
rm -f ../priv/*.$(SOEXT) ../priv/sdlwrapper *.o
rm -f *~ erl_crash.dump
%.o: %.c
$(GCC_O)
$(TARGETDIR)/sdl_driver.$(SOEXT): esdl_driver.c $(HelpersObjects)
$(CC) $(CFLAGS) $(CLINKFLAGS) $(ERL_INCS) $< $(HelpersObjects) \
$(LIBS) -o $@
syntax highlighted by Code2HTML, v. 0.9.1