framework2

Форк
0
1
#
2
# Cross Platform Makefile
3
# Compatible with Ubuntu 14.04.1 and macOS
4

5
OBJS = cimgui.o
6
OBJS += ./imgui/imgui.o
7
OBJS += ./imgui/imgui_draw.o
8
OBJS += ./imgui/imgui_demo.o
9
OBJS += ./imgui/imgui_tables.o
10
OBJS += ./imgui/imgui_widgets.o
11

12
CXXFLAGS=-O2 -fno-exceptions -fno-rtti
13

14
UNAME_S := $(shell uname -s)
15

16
AR := ar -rc
17

18
ifeq ($(UNAME_S), Linux) #LINUX
19
	ECHO_MESSAGE = "Linux"
20

21
	OUTPUTNAME = cimgui.so
22
	CXXFLAGS += -I./imgui/
23
	CXXFLAGS += -Wall
24
	CXXFLAGS += -shared -fPIC
25
	CFLAGS = $(CXXFLAGS)
26
endif
27

28
ifeq ($(UNAME_S), Darwin) #APPLE
29
	ECHO_MESSAGE = "macOS"
30

31
	OUTPUTNAME = cimgui.dylib
32
	CXXFLAGS += -I/usr/local/include
33
	CXXFLAGS += -Wall
34
	LINKFLAGS = -dynamiclib
35
	CFLAGS = $(CXXFLAGS)
36
endif
37

38
ifeq ($(OS), Windows_NT)
39
	ECHO_MESSAGE = "Windows"
40

41
	OUTPUTNAME = cimgui.dll
42
	CXXFLAGS += -I./imgui/
43
	CXXFLAGS += -Wall
44
	CXXFLAGS += -shared
45
	LINKFLAGS = -limm32
46
	CFLAGS = $(CXXFLAGS)
47
endif
48

49
.cpp.o:
50
	$(CXX) $(CXXFLAGS) -c -o $@ $<
51

52
all:$(OUTPUTNAME)
53
	@echo Build complete for $(ECHO_MESSAGE)
54

55
static:$(OBJS)
56
	$(AR) libcimgui.a $(OBJS)
57

58
$(OUTPUTNAME):$(OBJS)
59
	$(CXX) -o $(OUTPUTNAME) $(OBJS) $(CXXFLAGS) $(LINKFLAGS)
60

61
clean:
62
ifeq ($(OS),Windows_NT)
63
	del /q $(subst /,\,$(OBJS))
64
else
65
	rm -f $(OBJS)
66
endif
67

68
fclean: clean
69
ifeq ($(OS),Windows_NT)
70
	del /q $(subst /,\,$(OUTPUTNAME))
71
else
72
	rm -f $(OUTPUTNAME)
73
endif
74

75
re: fclean all
76

77
.PHONY: all clean fclean re static
78

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.