mirror of
https://gitea.nishi.boats/pyrite-dev/milsko
synced 2026-01-07 01:49:47 +00:00
refactor makefile
git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@515 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
139
GNUmakefile
139
GNUmakefile
@@ -2,13 +2,6 @@
|
|||||||
|
|
||||||
PREFIX = /usr/local
|
PREFIX = /usr/local
|
||||||
|
|
||||||
ifeq ($(TARGET),)
|
|
||||||
TARGET = $(shell uname -s)
|
|
||||||
endif
|
|
||||||
ifneq ($(TARGET),$(shell uname -s))
|
|
||||||
CROSS = 1
|
|
||||||
endif
|
|
||||||
|
|
||||||
USE_STB_IMAGE = 1
|
USE_STB_IMAGE = 1
|
||||||
USE_STB_TRUETYPE = 0
|
USE_STB_TRUETYPE = 0
|
||||||
USE_FREETYPE2 = 1
|
USE_FREETYPE2 = 1
|
||||||
@@ -25,17 +18,6 @@ else
|
|||||||
CFLAGS += -O2
|
CFLAGS += -O2
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(TARGET),NetBSD)
|
|
||||||
VULKAN_NO_STRING_HELPER = 1
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(VULKAN_NO_STRING_HELPER),1)
|
|
||||||
VK_STRING_HELPER_DEFINE =
|
|
||||||
else
|
|
||||||
VK_STRING_HELPER_DEFINE = -DHAS_VK_ENUM_STRING_HELPER
|
|
||||||
endif
|
|
||||||
CFLAGS += $(VK_STRING_HELPER_DEFINE)
|
|
||||||
|
|
||||||
L_CFLAGS = $(DEPINC) $(CFLAGS) -fPIC -D_MILSKO
|
L_CFLAGS = $(DEPINC) $(CFLAGS) -fPIC -D_MILSKO
|
||||||
L_LDFLAGS = $(LDFLAGS)
|
L_LDFLAGS = $(LDFLAGS)
|
||||||
L_LIBS = $(LIBS)
|
L_LIBS = $(LIBS)
|
||||||
@@ -51,124 +33,15 @@ E_CFLAGS = $(CFLAGS)
|
|||||||
E_LDFLAGS = $(LDFLAGS) -Lsrc -Wl,-rpath,$(shell pwd)/src
|
E_LDFLAGS = $(LDFLAGS) -Lsrc -Wl,-rpath,$(shell pwd)/src
|
||||||
E_LIBS = $(LIBS) -lMw
|
E_LIBS = $(LIBS) -lMw
|
||||||
|
|
||||||
FOUND_PLATFORM = 0
|
include mk/platform.mk
|
||||||
|
include mk/flags.mk
|
||||||
ifeq ($(TARGET),NetBSD)
|
include mk/stb.mk
|
||||||
CFLAGS += -I/usr/X11R7/include -I/usr/pkg/include
|
include mk/freetype2.mk
|
||||||
LDFLAGS += -L/usr/X11R7/lib -L/usr/pkg/lib -Wl,-R/usr/X11R7/lib -Wl,-R/usr/pkg/lib
|
include mk/opengl.mk
|
||||||
UNIX = 1
|
include mk/vulkan.mk
|
||||||
OPENGL = 1
|
|
||||||
VULKAN = 1
|
|
||||||
FOUND_PLATFORM = 1
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(TARGET),Linux)
|
|
||||||
L_LIBS += -ldl
|
|
||||||
UNIX = 1
|
|
||||||
OPENGL = 1
|
|
||||||
VULKAN = 1
|
|
||||||
FOUND_PLATFORM = 1
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(TARGET),Windows)
|
|
||||||
WINDOWS = 1
|
|
||||||
OPENGL = 1
|
|
||||||
VULKAN = 1
|
|
||||||
FOUND_PLATFORM = 1
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(TARGET),SunOS)
|
|
||||||
CC = gcc
|
|
||||||
UNIX = 1
|
|
||||||
L_LIBS += -lsocket -lnsl
|
|
||||||
OPENGL = 1
|
|
||||||
FOUND_PLATFORM = 1
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(TARGET),Darwin)
|
|
||||||
CC = gcc
|
|
||||||
DARWIN = 1
|
|
||||||
L_LIBS += -framework Carbon
|
|
||||||
FOUND_PLATFORM = 1
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(FOUND_PLATFORM),0)
|
|
||||||
$(error Add your platform definition)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Standard gcc accepts this but we have to override this for Apple's gcc.
|
|
||||||
SHARED = -shared
|
|
||||||
|
|
||||||
ifeq ($(UNIX),1)
|
|
||||||
L_CFLAGS += -DUSE_X11 -DUNIX
|
|
||||||
L_OBJS += src/backend/x11.o
|
|
||||||
L_LIBS += -lm -lX11 -lXrender -lXcursor
|
|
||||||
|
|
||||||
GL = -lGL -lGLU
|
|
||||||
|
|
||||||
E_LIBS += -lm
|
|
||||||
|
|
||||||
LIB = lib
|
|
||||||
SO = .so
|
|
||||||
EXEC =
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(WINDOWS),1)
|
|
||||||
L_CFLAGS += -DUSE_GDI
|
|
||||||
L_LDFLAGS += -Wl,--out-implib,src/libMw.a -static-libgcc
|
|
||||||
L_OBJS += src/backend/gdi.o
|
|
||||||
L_LIBS += -lgdi32
|
|
||||||
|
|
||||||
GL = -lopengl32 -lglu32
|
|
||||||
|
|
||||||
LIB =
|
|
||||||
SO = .dll
|
|
||||||
EXEC = .exe
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(DARWIN),1)
|
|
||||||
L_CFLAGS += -DSTBI_NO_THREAD_LOCALS -DUSE_DARWIN
|
|
||||||
L_OBJS += src/backend/mac/mac.o src/backend/mac/carbon.o
|
|
||||||
|
|
||||||
LIB = lib
|
|
||||||
SO = .dylib
|
|
||||||
EXEC =
|
|
||||||
|
|
||||||
SHARED = -dynamiclib
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_STB_IMAGE),1)
|
|
||||||
L_CFLAGS += -DUSE_STB_IMAGE
|
|
||||||
else
|
|
||||||
include external/deps.mk
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_FREETYPE2),1)
|
|
||||||
L_CFLAGS += -DUSE_FREETYPE2
|
|
||||||
|
|
||||||
ifneq ($(CROSS),1)
|
|
||||||
L_CFLAGS += $(shell pkg-config --cflags freetype2)
|
|
||||||
L_LIBS += $(shell pkg-config --libs freetype2)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_STB_TRUETYPE),1)
|
|
||||||
L_CFLAGS += -DUSE_STB_TRUETYPE
|
|
||||||
endif
|
|
||||||
|
|
||||||
EXAMPLES = examples/basic/example$(EXEC) examples/basic/rotate$(EXEC) examples/basic/image$(EXEC) examples/basic/scrollbar$(EXEC) examples/basic/checkbox$(EXEC) examples/basic/messagebox$(EXEC) examples/basic/viewport$(EXEC) examples/basic/listbox$(EXEC) examples/color_picker$(EXEC)
|
EXAMPLES = examples/basic/example$(EXEC) examples/basic/rotate$(EXEC) examples/basic/image$(EXEC) examples/basic/scrollbar$(EXEC) examples/basic/checkbox$(EXEC) examples/basic/messagebox$(EXEC) examples/basic/viewport$(EXEC) examples/basic/listbox$(EXEC) examples/color_picker$(EXEC)
|
||||||
|
|
||||||
ifeq ($(OPENGL),1)
|
|
||||||
L_OBJS += src/widget/opengl.o
|
|
||||||
|
|
||||||
EXAMPLES += examples/gldemos/clock$(EXEC) examples/gldemos/triangle$(EXEC) examples/gldemos/gears$(EXEC) examples/gldemos/boing$(EXEC) examples/gldemos/cube$(EXEC) examples/gldemos/tripaint$(EXEC)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(VULKAN),1)
|
|
||||||
L_OBJS += src/widget/vulkan.o
|
|
||||||
EXAMPLES += examples/vkdemos/vulkan$(EXEC)
|
|
||||||
endif
|
|
||||||
|
|
||||||
.PHONY: all install format clean lib examples
|
.PHONY: all install format clean lib examples
|
||||||
|
|
||||||
all: lib examples
|
all: lib examples
|
||||||
|
|||||||
42
mk/flags.mk
Normal file
42
mk/flags.mk
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
# $Id$
|
||||||
|
|
||||||
|
# Standard gcc accepts this but we have to override this for Apple's gcc.
|
||||||
|
SHARED = -shared
|
||||||
|
|
||||||
|
ifeq ($(UNIX),1)
|
||||||
|
L_CFLAGS += -DUSE_X11 -DUNIX
|
||||||
|
L_OBJS += src/backend/x11.o
|
||||||
|
L_LIBS += -lm -lX11 -lXrender -lXcursor
|
||||||
|
|
||||||
|
GL = -lGL -lGLU
|
||||||
|
|
||||||
|
E_LIBS += -lm
|
||||||
|
|
||||||
|
LIB = lib
|
||||||
|
SO = .so
|
||||||
|
EXEC =
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(WINDOWS),1)
|
||||||
|
L_CFLAGS += -DUSE_GDI
|
||||||
|
L_LDFLAGS += -Wl,--out-implib,src/libMw.a -static-libgcc
|
||||||
|
L_OBJS += src/backend/gdi.o
|
||||||
|
L_LIBS += -lgdi32
|
||||||
|
|
||||||
|
GL = -lopengl32 -lglu32
|
||||||
|
|
||||||
|
LIB =
|
||||||
|
SO = .dll
|
||||||
|
EXEC = .exe
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(DARWIN),1)
|
||||||
|
L_CFLAGS += -DSTBI_NO_THREAD_LOCALS -DUSE_DARWIN
|
||||||
|
L_OBJS += src/backend/mac/mac.o src/backend/mac/carbon.o
|
||||||
|
|
||||||
|
LIB = lib
|
||||||
|
SO = .dylib
|
||||||
|
EXEC =
|
||||||
|
|
||||||
|
SHARED = -dynamiclib
|
||||||
|
endif
|
||||||
10
mk/freetype2.mk
Normal file
10
mk/freetype2.mk
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# $Id$
|
||||||
|
|
||||||
|
ifeq ($(USE_FREETYPE2),1)
|
||||||
|
L_CFLAGS += -DUSE_FREETYPE2
|
||||||
|
|
||||||
|
ifneq ($(CROSS),1)
|
||||||
|
L_CFLAGS += $(shell pkg-config --cflags freetype2)
|
||||||
|
L_LIBS += $(shell pkg-config --libs freetype2)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
7
mk/opengl.mk
Normal file
7
mk/opengl.mk
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# $Id$
|
||||||
|
|
||||||
|
ifeq ($(OPENGL),1)
|
||||||
|
L_OBJS += src/widget/opengl.o
|
||||||
|
|
||||||
|
EXAMPLES += examples/gldemos/clock$(EXEC) examples/gldemos/triangle$(EXEC) examples/gldemos/gears$(EXEC) examples/gldemos/boing$(EXEC) examples/gldemos/cube$(EXEC) examples/gldemos/tripaint$(EXEC)
|
||||||
|
endif
|
||||||
53
mk/platform.mk
Normal file
53
mk/platform.mk
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
# $Id$
|
||||||
|
|
||||||
|
ifeq ($(TARGET),)
|
||||||
|
TARGET = $(shell uname -s)
|
||||||
|
endif
|
||||||
|
ifneq ($(TARGET),$(shell uname -s))
|
||||||
|
CROSS = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
FOUND_PLATFORM = 0
|
||||||
|
|
||||||
|
ifeq ($(TARGET),NetBSD)
|
||||||
|
CFLAGS += -I/usr/X11R7/include -I/usr/pkg/include
|
||||||
|
LDFLAGS += -L/usr/X11R7/lib -L/usr/pkg/lib -Wl,-R/usr/X11R7/lib -Wl,-R/usr/pkg/lib
|
||||||
|
UNIX = 1
|
||||||
|
OPENGL = 1
|
||||||
|
VULKAN = 1
|
||||||
|
FOUND_PLATFORM = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(TARGET),Linux)
|
||||||
|
L_LIBS += -ldl
|
||||||
|
UNIX = 1
|
||||||
|
OPENGL = 1
|
||||||
|
VULKAN = 1
|
||||||
|
FOUND_PLATFORM = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(TARGET),Windows)
|
||||||
|
WINDOWS = 1
|
||||||
|
OPENGL = 1
|
||||||
|
VULKAN = 1
|
||||||
|
FOUND_PLATFORM = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(TARGET),SunOS)
|
||||||
|
CC = gcc
|
||||||
|
UNIX = 1
|
||||||
|
L_LIBS += -lsocket -lnsl
|
||||||
|
OPENGL = 1
|
||||||
|
FOUND_PLATFORM = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(TARGET),Darwin)
|
||||||
|
CC = gcc
|
||||||
|
DARWIN = 1
|
||||||
|
L_LIBS += -framework Carbon
|
||||||
|
FOUND_PLATFORM = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(FOUND_PLATFORM),0)
|
||||||
|
$(error Add your platform definition)
|
||||||
|
endif
|
||||||
11
mk/stb.mk
Normal file
11
mk/stb.mk
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# $Id$
|
||||||
|
|
||||||
|
ifeq ($(USE_STB_IMAGE),1)
|
||||||
|
L_CFLAGS += -DUSE_STB_IMAGE
|
||||||
|
else
|
||||||
|
include external/deps.mk
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(USE_STB_TRUETYPE),1)
|
||||||
|
L_CFLAGS += -DUSE_STB_TRUETYPE
|
||||||
|
endif
|
||||||
17
mk/vulkan.mk
Normal file
17
mk/vulkan.mk
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# $Id$
|
||||||
|
|
||||||
|
ifeq ($(TARGET),NetBSD)
|
||||||
|
VULKAN_NO_STRING_HELPER = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(VULKAN_NO_STRING_HELPER),1)
|
||||||
|
VK_STRING_HELPER_DEFINE =
|
||||||
|
else
|
||||||
|
VK_STRING_HELPER_DEFINE = -DHAS_VK_ENUM_STRING_HELPER
|
||||||
|
endif
|
||||||
|
CFLAGS += $(VK_STRING_HELPER_DEFINE)
|
||||||
|
|
||||||
|
ifeq ($(VULKAN),1)
|
||||||
|
L_OBJS += src/widget/vulkan.o
|
||||||
|
EXAMPLES += examples/vkdemos/vulkan$(EXEC)
|
||||||
|
endif
|
||||||
Reference in New Issue
Block a user