diff --git a/Makefile b/Makefile index 551bfeb..82ac780 100644 --- a/Makefile +++ b/Makefile @@ -75,10 +75,10 @@ $(IMGUI_JS_SOURCE_TS): bind-imgui.d.ts tsconfig.json # %.js: %.ts -# $(IMGUI_JS_OUTPUT_JS): $(IMGUI_JS_SOURCE_TS) -imgui.js: imgui.ts -imgui_demo.js: imgui_demo.ts -imgui_memory_editor.js: imgui_memory_editor.ts +$(IMGUI_JS_OUTPUT_JS): $(IMGUI_JS_SOURCE_TS) +# imgui.js: imgui.ts +# imgui_demo.js: imgui_demo.ts +# imgui_memory_editor.js: imgui_memory_editor.ts # $(word 1, $(IMGUI_JS_OUTPUT_JS)): $(IMGUI_JS_SOURCE_TS) $$(npm bin)/tsc -p . @@ -93,10 +93,10 @@ $(IMGUI_JS_EXAMPLE_SOURCE_TS): bind-imgui.d.ts example/tsconfig.json # example/%.js: example/%.ts -# $(IMGUI_JS_EXAMPLE_OUTPUT_JS): $(IMGUI_JS_EXAMPLE_SOURCE_TS) +$(IMGUI_JS_EXAMPLE_OUTPUT_JS): $(IMGUI_JS_EXAMPLE_SOURCE_TS) # $(word 1, $(IMGUI_JS_EXAMPLE_OUTPUT_JS)): $(IMGUI_JS_EXAMPLE_SOURCE_TS) -example/main.js: example/main.ts -example/imgui_impl.js: example/imgui_impl.ts +# example/main.js: example/main.ts +# example/imgui_impl.js: example/imgui_impl.ts $$(npm bin)/tsc -p example start-example: start-example-node @@ -105,7 +105,7 @@ node example/index.js start-example-html: - @echo "open http://localhost:8080/example/index.html" + @echo http://localhost:8080/example/index.html $$(npm bin)/http-server # native-example @@ -114,20 +114,33 @@ IMGUI_NATIVE_EXAMPLE_SOURCE_CXX += $(IMGUI_NATIVE_EXAMPLE_PATH)/main.cpp IMGUI_NATIVE_EXAMPLE_SOURCE_CXX += $(IMGUI_NATIVE_EXAMPLE_PATH)/imgui_impl_sdl.cpp +IMGUI_NATIVE_EXAMPLE_BUILD = echo $$(uname) +IMGUI_NATIVE_EXAMPLE_CLEAN = echo $$(uname) +IMGUI_NATIVE_EXAMPLE_START = echo $$(uname) +ifeq ($(shell uname),Linux) +IMGUI_NATIVE_EXAMPLE_OUTPUT = $(IMGUI_NATIVE_EXAMPLE_PATH)/sdl2example-linux +IMGUI_NATIVE_EXAMPLE_BUILD = c++ `sdl2-config --cflags` -I $(IMGUI_NATIVE_EXAMPLE_PATH) -I $(IMGUI_PATH) -D HAVE_MALLINFO $(IMGUI_NATIVE_EXAMPLE_SOURCE_CXX) $(IMGUI_SOURCE_CXX) `sdl2-config --libs` -lGL -o $(IMGUI_NATIVE_EXAMPLE_OUTPUT) +IMGUI_NATIVE_EXAMPLE_CLEAN = rm -f $(IMGUI_NATIVE_EXAMPLE_OUTPUT) +IMGUI_NATIVE_EXAMPLE_START = $(IMGUI_NATIVE_EXAMPLE_OUTPUT) +endif +ifeq ($(shell uname),Darwin) +IMGUI_NATIVE_EXAMPLE_OUTPUT = $(IMGUI_NATIVE_EXAMPLE_PATH)/sdl2example-macos +IMGUI_NATIVE_EXAMPLE_BUILD = c++ `sdl2-config --cflags` -I $(IMGUI_NATIVE_EXAMPLE_PATH) -I $(IMGUI_PATH) $(IMGUI_NATIVE_EXAMPLE_SOURCE_CXX) $(IMGUI_SOURCE_CXX) `sdl2-config --libs` -framework OpenGl -o $(IMGUI_NATIVE_EXAMPLE_OUTPUT) +IMGUI_NATIVE_EXAMPLE_CLEAN = rm -f $(IMGUI_NATIVE_EXAMPLE_OUTPUT) +IMGUI_NATIVE_EXAMPLE_START = $(IMGUI_NATIVE_EXAMPLE_OUTPUT) +endif +ifeq ($(OS),Windows_NT) +IMGUI_NATIVE_EXAMPLE_OUTPUT = $(IMGUI_NATIVE_EXAMPLE_PATH)/sdl2example-windows.exe +IMGUI_NATIVE_EXAMPLE_BUILD = set SDL2DIR=C:\SDL2 && cl /Zi /MD /I $(IMGUI_NATIVE_EXAMPLE_PATH) /I $(IMGUI_PATH) /I %SDL2DIR%\include $(IMGUI_NATIVE_EXAMPLE_SOURCE_CXX) $(IMGUI_SOURCE_CXX) /link /LIBPATH:%SDL2DIR%\lib SDL2.lib SDL2main.lib opengl32.lib /subsystem:console /Fe $(IMGUI_NATIVE_EXAMPLE_OUTPUT) +IMGUI_NATIVE_EXAMPLE_CLEAN = rm -f $(IMGUI_NATIVE_EXAMPLE_OUTPUT) +IMGUI_NATIVE_EXAMPLE_START = $(IMGUI_NATIVE_EXAMPLE_OUTPUT) +endif + build-native-example: -# windows -# set SDL2DIR=C:\SDL2 && cl /Zi /MD /I $(IMGUI_NATIVE_EXAMPLE_PATH) /I $(IMGUI_PATH) /I %SDL2DIR%\include $(IMGUI_NATIVE_EXAMPLE_SOURCE_CXX) $(IMGUI_SOURCE_CXX) /link /LIBPATH:%SDL2DIR%\lib SDL2.lib SDL2main.lib opengl32.lib /subsystem:console /Fe $(IMGUI_NATIVE_EXAMPLE_PATH)/sdl2example-windows.exe -# linux - c++ `sdl2-config --cflags` -I $(IMGUI_NATIVE_EXAMPLE_PATH) -I $(IMGUI_PATH) -D HAVE_MALLINFO $(IMGUI_NATIVE_EXAMPLE_SOURCE_CXX) $(IMGUI_SOURCE_CXX) `sdl2-config --libs` -lGL -o $(IMGUI_NATIVE_EXAMPLE_PATH)/sdl2example-linux -# macos -# c++ `sdl2-config --cflags` -I $(IMGUI_NATIVE_EXAMPLE_PATH) -I $(IMGUI_PATH) $(IMGUI_NATIVE_EXAMPLE_SOURCE_CXX) $(IMGUI_SOURCE_CXX) `sdl2-config --libs` -framework OpenGl -o $(IMGUI_NATIVE_EXAMPLE_PATH)/sdl2example-macos + $(IMGUI_NATIVE_EXAMPLE_BUILD) clean-native-example: -# rm -f $(IMGUI_NATIVE_EXAMPLE_PATH)/sdl2example-windows - rm -f $(IMGUI_NATIVE_EXAMPLE_PATH)/sdl2example-linux -# rm -f $(IMGUI_NATIVE_EXAMPLE_PATH)/sdl2example-macos + $(IMGUI_NATIVE_EXAMPLE_CLEAN) start-native-example: -# $(IMGUI_NATIVE_EXAMPLE_PATH)/sdl2example-windows - $(IMGUI_NATIVE_EXAMPLE_PATH)/sdl2example-linux -# $(IMGUI_NATIVE_EXAMPLE_PATH)/sdl2example-macos + $(IMGUI_NATIVE_EXAMPLE_START)