forked from Ankh-Game-Devel/Ankhnowledge
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile.common
33 lines (22 loc) · 1.13 KB
/
Makefile.common
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Project subdir
SUBDIR=src
# Game components
export GAME=$(EXECUTABLE_NAME)_$(MODE)
export COMPONENTS=game engine
EXTERNAL_LIBS=SDL SDL_image SDL_net SDL_mixer SDL_ttf
# Compilation settings
COMPONENTS_PATHS=$(subst $(CYGWIN_VOLUME),$(WINDOWS_VOLUME),$(shell ls -d $(PWD)/$(SUBDIR)/*/))
INCLUDES+=$(foreach component,$(COMPONENTS_PATHS),$(INCLUDES_FLAG)$(component)include)
INCLUDES+=$(foreach component,$(COMPONENTS_PATHS),$(INCLUDES_FLAG)$(component)include/$(PLATFORM))
EXTERNAL_LIBS_PATHS=$(subst $(CYGWIN_VOLUME),$(WINDOWS_VOLUME),$(shell ls -d $(PWD)/lib/*/))
export INCLUDES+=$(foreach lib,$(EXTERNAL_LIBS_PATHS),$(INCLUDES_FLAG)$(lib)$(PLATFORM)/include/)
LDFLAGS+=$(foreach component,$(COMPONENTS_PATHS),$(LIBPATH_FLAG)$(component))
export LDFLAGS+=$(foreach lib,$(EXTERNAL_LIBS_PATHS),$(EXT_LIBPATH_FLAG)$(lib)$(PLATFORM)/$(MODE))
LIBS+=$(foreach component,$(COMPONENTS),$(LIBS_FLAG)$(component)_$(PLATFORM)_$(MODE)$(STATIC_LIB_SUFFIX))
export LIBS+=$(foreach lib,$(EXTERNAL_LIBS),$(EXT_LIBS_FLAG)$(lib)$(EXTERNAL_LIB_SUFFIX))
# Build subdir
all: $(SUBDIR)
$(SUBDIR):
@echo $(COMPONENTS_PATHS)
@cd $@ && $(MAKE)
.PHONY: all $(SUBDIR)