-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathMakefile
115 lines (87 loc) · 3.55 KB
/
Makefile
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
export PROJECT_NAME = BraLa
export AUTHOR = David Herberth
export DESCRIPTION = A Minecraft SMP Client written in D
export VERSION =
export LICENSE = GPLv3
DCFLAGS_IMPORT = -Ibrala/ -Isrc/d/glad/ -Isrc/d/glamour -Isrc/d/gl3n/ \
-Isrc/d/ -Isrc/d/openssl/ -Isrc/d/glfw/ -Isrc/d/nbd/ -Isrc/d/glwtf/
include command.make
DCFLAGS_LINK = $(LDCFLAGS) $(LINKERFLAG)-lssl $(LINKERFLAG)-lcrypto \
$(LINKERFLAG)-Lbuild/glfw/src \
$(addprefix $(LINKERFLAG),$(shell env PKG_CONFIG_PATH=./build/glfw/src pkg-config --static --libs glfw3))
VERSIONS = glad gl3n glamour stb BraLa
ifeq ($(DC),ldc2)
ADDITIONAL_FLAGS = $(addprefix -d-version=,$(VERSIONS)) -d-debug -unittest -g -gc
else ifeq ($(DC),gdc)
ADDITIONAL_FLAGS = $(addprefix -fversion=,$(VERSIONS)) -fdebug -g
else
ADDITIONAL_FLAGS = $(addprefix -version=,$(VERSIONS)) -debug -unittest -g -gc
endif
OBJDIRS = $(DBUILD_PATH)/brala \
$(DBUILD_PATH)/src/d/arsd \
$(DBUILD_PATH)/src/d/glad \
$(DBUILD_PATH)/src/d/etc \
$(DBUILD_PATH)/src/d/gl3n \
$(DBUILD_PATH)/src/d/glamour \
$(DBUILD_PATH)/src/d/glfw \
$(DBUILD_PATH)/src/d/glwtf \
$(DBUILD_PATH)/src/d/minilib \
$(DBUILD_PATH)/src/d/nbd \
$(DBUILD_PATH)/src/d/openssl \
$(DBUILD_PATH)/src/d/std \
$(CBUILD_PATH)/src/c \
bin \
DSOURCES = $(call getSource,brala,d)
DOBJECTS = $(patsubst %.d,$(DBUILD_PATH)/%$(EXT), $(DSOURCES))
DSOURCES_GL3N = $(call getSource,src/d/gl3n/gl3n,d)
DOBJECTS_GL3N = $(patsubst %.d,$(DBUILD_PATH_GL3N)/%$(EXT), $(DSOURCES_GL3N))
DSOURCES_GLAMOUR = $(call getSource,src/d/glamour/glamour,d)
DOBJECTS_GLAMOUR = $(patsubst %.d,$(DBUILD_PATH_GLAMOUR)/%$(EXT), $(DSOURCES_GLAMOUR))
DSOURCES_OTHER = $(call getSource,src/d/arsd,d) $(call getSource,src/d/etc,d) \
src/d/nbd/nbt.d $(call getSource,src/d/glwtf,d) \
$(call getSource,src/d/minilib,d) $(call getSource,src/d/std,d) \
$(call getSource,src/d/glad,d)
DOBJECTS_OTHER = $(patsubst %.d,$(DBUILD_PATH_OTHER)/%$(EXT), $(DSOURCES_OTHER))
CSOURCES = src/c/stb_image.c src/c/stb_image_write.c
COBJECTS = $(patsubst %.c,$(CBUILD_PATH)/%$(EXT), $(CSOURCES))
DC_UPPER = `echo $(DC) | tr a-z A-Z`
CC_UPPER = `echo $(CC) | tr a-z A-Z`
all: brala
#all: brala
.PHONY: clean
brala: buildDir glfw $(COBJECTS) $(DOBJECTS) $(DOBJECTS_GL3N) $(DOBJECTS_GLAMOUR) $(DOBJECTS_OTHER)
@echo " LD bin/bralad"
@$(DC) $(DCFLAGS_LINK) $(COBJECTS) $(DOBJECTS) $(DOBJECTS_GL3N) $(DOBJECTS_GLAMOUR) \
$(DOBJECTS_OTHER) $(DCFLAGS) $(OUTPUT)bin/bralad
glfw:
@$(MKDIR) $(CBUILD_PATH)/glfw
@echo " CMAKE src/c/glfw/*"
@cd $(CBUILD_PATH)/glfw && \
cmake -DBUILD_SHARED_LIBS=OFF -DGLFW_BUILD_EXAMPLES=OFF -DGLFW_BUILD_TESTS=OFF ../../src/c/glfw 2>&1 >/dev/null
@cd $(CBUILD_PATH)/glfw && $(MAKE) --silent $(MFLAGS) >/dev/null
# create object files
$(DBUILD_PATH)/%$(EXT) : %.d
@echo " $(DC_UPPER) $<"
@$(DC) $(DCFLAGS) $(DCFLAGS_IMPORT) $(ADDITIONAL_FLAGS) -c $< $(OUTPUT)$@
$(DBUILD_PATH_GL3N)/%$(EXT) : %.d
@echo " $(DC_UPPER) $<"
@$(DC) $(DCFLAGS) $(DCFLAGS_IMPORT) $(ADDITIONAL_FLAGS) -c $< $(OUTPUT)$@
$(DBUILD_PATH_GLAMOUR)/%$(EXT) : %.d
@echo " $(DC_UPPER) $<"
@$(DC) $(DCFLAGS) $(DCFLAGS_IMPORT) $(ADDITIONAL_FLAGS) -c $< $(OUTPUT)$@
$(DBUILD_PATH_OTHER)/%$(EXT) : %.d
@echo " $(DC_UPPER) $<"
@$(DC) $(DCFLAGS) $(DCFLAGS_IMPORT) $(ADDITIONAL_FLAGS) -c $< $(OUTPUT)$@
$(CBUILD_PATH)/%$(EXT) : %.c
@echo " $(CC_UPPER) $<"
@$(CC) $(CFLAGS) -c $< -o $@
buildDir: $(OBJDIRS)
$(OBJDIRS) :
@echo " MKDIR $@"
@$(MKDIR) $@
clean:
@echo " RM build/brala"
@$(RM) build/brala
clean-all:
@echo " RM build/"
@$(RM) build