From 37d838344e3f3e0471ce453fba7434fa63cfc97d Mon Sep 17 00:00:00 2001 From: Glenn Jackman Date: Wed, 3 Jul 2024 09:30:22 -0400 Subject: [PATCH 1/3] Build for Linux on ARM. cc does not have a `-m64` option on ARM --- README.md | 5 + projects/make.arm/Makefile | 64 +++++ projects/make.arm/wrenc.make | 484 +++++++++++++++++++++++++++++++++++ 3 files changed, 553 insertions(+) create mode 100644 projects/make.arm/Makefile create mode 100644 projects/make.arm/wrenc.make diff --git a/README.md b/README.md index 78c0565e..cb3fc465 100644 --- a/README.md +++ b/README.md @@ -224,6 +224,11 @@ From that folder, run `make`. `cd projects/make` `make` +#### Linux on ARM + +`cd projects/make.arm` +`make` + ### FreeBSD The `projects/make.bsd` folder contains a `make` project. diff --git a/projects/make.arm/Makefile b/projects/make.arm/Makefile new file mode 100644 index 00000000..58a6c4e2 --- /dev/null +++ b/projects/make.arm/Makefile @@ -0,0 +1,64 @@ +# Alternative GNU Make workspace makefile autogenerated by Premake + +ifndef config + config=release_64bit +endif + +ifndef verbose + SILENT = @ +endif + +ifeq ($(config),release_64bit) + wrenc_config = release_64bit + +else ifeq ($(config),release_32bit) + wrenc_config = release_32bit + +else ifeq ($(config),release_64bit-no-nan-tagging) + wrenc_config = release_64bit-no-nan-tagging + +else ifeq ($(config),debug_64bit) + wrenc_config = debug_64bit + +else ifeq ($(config),debug_32bit) + wrenc_config = debug_32bit + +else ifeq ($(config),debug_64bit-no-nan-tagging) + wrenc_config = debug_64bit-no-nan-tagging + +else + $(error "invalid configuration $(config)") +endif + +PROJECTS := wrenc + +.PHONY: all clean help $(PROJECTS) + +all: $(PROJECTS) + +wrenc: +ifneq (,$(wrenc_config)) + @echo "==== Building wrenc ($(wrenc_config)) ====" + @${MAKE} --no-print-directory -C . -f wrenc.make config=$(wrenc_config) +endif + +clean: + @${MAKE} --no-print-directory -C . -f wrenc.make clean + +help: + @echo "Usage: make [config=name] [target]" + @echo "" + @echo "CONFIGURATIONS:" + @echo " release_64bit" + @echo " release_32bit" + @echo " release_64bit-no-nan-tagging" + @echo " debug_64bit" + @echo " debug_32bit" + @echo " debug_64bit-no-nan-tagging" + @echo "" + @echo "TARGETS:" + @echo " all (default)" + @echo " clean" + @echo " wrenc" + @echo "" + @echo "For more information, see https://github.com/premake/premake-core/wiki" \ No newline at end of file diff --git a/projects/make.arm/wrenc.make b/projects/make.arm/wrenc.make new file mode 100644 index 00000000..cfc2d1f8 --- /dev/null +++ b/projects/make.arm/wrenc.make @@ -0,0 +1,484 @@ +# Alternative GNU Make project makefile autogenerated by Premake + +ifndef config + config=release_64bit +endif + +ifndef verbose + SILENT = @ +endif + +.PHONY: clean prebuild + +SHELLTYPE := posix +ifeq (.exe,$(findstring .exe,$(ComSpec))) + SHELLTYPE := msdos +endif + +# Configurations +# ############################################# + +RESCOMP = windres +INCLUDES += -I../../src/cli -I../../src/module -I../../deps/wren-essentials/src -I../../deps/wren-essentials/src/vendor -I../../deps/wren/include -I../../deps/wren/src/vm -I../../deps/wren/src/optional -I../../deps/libuv/include -I../../deps/libuv/src +FORCE_INCLUDE += +ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES) +ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) +LIBS += -lpthread -ldl -lm +LDDEPS += +LINKCMD = $(CC) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS) +define PREBUILDCMDS +endef +define PRELINKCMDS +endef +define POSTBUILDCMDS +endef + +ifeq ($(config),release_64bit) +TARGETDIR = ../../bin +TARGET = $(TARGETDIR)/wrenc +OBJDIR = obj/64bit/Release +DEFINES += -DNDEBUG -D_GNU_SOURCE +ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -O3 -std=c99 +ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -O3 +ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 -s + +else ifeq ($(config),release_32bit) +TARGETDIR = ../../bin +TARGET = $(TARGETDIR)/wrenc +OBJDIR = obj/32bit/Release +DEFINES += -DNDEBUG -D_GNU_SOURCE +ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -O3 -std=c99 +ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -O3 +ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib32 -m32 -s + +else ifeq ($(config),release_64bit-no-nan-tagging) +TARGETDIR = ../../bin +TARGET = $(TARGETDIR)/wrenc +OBJDIR = obj/64bit-no-nan-tagging/Release +DEFINES += -DNDEBUG -DWREN_NAN_TAGGING=0 -D_GNU_SOURCE +ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -O3 -std=c99 +ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -O3 +ALL_LDFLAGS += $(LDFLAGS) -s + +else ifeq ($(config),debug_64bit) +TARGETDIR = ../../bin +TARGET = $(TARGETDIR)/wrenc_d +OBJDIR = obj/64bit/Debug +DEFINES += -DDEBUG -D_GNU_SOURCE +ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -g -std=c99 +ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -g +ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 + +else ifeq ($(config),debug_32bit) +TARGETDIR = ../../bin +TARGET = $(TARGETDIR)/wrenc_d +OBJDIR = obj/32bit/Debug +DEFINES += -DDEBUG -D_GNU_SOURCE +ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -g -std=c99 +ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -g +ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib32 -m32 + +else ifeq ($(config),debug_64bit-no-nan-tagging) +TARGETDIR = ../../bin +TARGET = $(TARGETDIR)/wrenc_d +OBJDIR = obj/64bit-no-nan-tagging/Debug +DEFINES += -DDEBUG -DWREN_NAN_TAGGING=0 -D_GNU_SOURCE +ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -g -std=c99 +ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -g +ALL_LDFLAGS += $(LDFLAGS) + +endif + +# Per File Configurations +# ############################################# + + +# File sets +# ############################################# + +GENERATED := +OBJECTS := + +GENERATED += $(OBJDIR)/async.o +GENERATED += $(OBJDIR)/cli.o +GENERATED += $(OBJDIR)/core.o +GENERATED += $(OBJDIR)/dl.o +GENERATED += $(OBJDIR)/essentials.o +GENERATED += $(OBJDIR)/fs-poll.o +GENERATED += $(OBJDIR)/fs.o +GENERATED += $(OBJDIR)/getaddrinfo.o +GENERATED += $(OBJDIR)/getnameinfo.o +GENERATED += $(OBJDIR)/idna.o +GENERATED += $(OBJDIR)/inet.o +GENERATED += $(OBJDIR)/io.o +GENERATED += $(OBJDIR)/json.o +GENERATED += $(OBJDIR)/linux-core.o +GENERATED += $(OBJDIR)/linux-inotify.o +GENERATED += $(OBJDIR)/linux-syscalls.o +GENERATED += $(OBJDIR)/loop-watcher.o +GENERATED += $(OBJDIR)/loop.o +GENERATED += $(OBJDIR)/main.o +GENERATED += $(OBJDIR)/mirror.o +GENERATED += $(OBJDIR)/modules.o +GENERATED += $(OBJDIR)/os.o +GENERATED += $(OBJDIR)/path.o +GENERATED += $(OBJDIR)/pdjson.o +GENERATED += $(OBJDIR)/pipe.o +GENERATED += $(OBJDIR)/poll.o +GENERATED += $(OBJDIR)/process.o +GENERATED += $(OBJDIR)/procfs-exepath.o +GENERATED += $(OBJDIR)/proctitle.o +GENERATED += $(OBJDIR)/random-devurandom.o +GENERATED += $(OBJDIR)/random-getrandom.o +GENERATED += $(OBJDIR)/random-sysctl-linux.o +GENERATED += $(OBJDIR)/random.o +GENERATED += $(OBJDIR)/repl.o +GENERATED += $(OBJDIR)/resolver.o +GENERATED += $(OBJDIR)/scheduler.o +GENERATED += $(OBJDIR)/signal.o +GENERATED += $(OBJDIR)/stream.o +GENERATED += $(OBJDIR)/strings.o +GENERATED += $(OBJDIR)/strscpy.o +GENERATED += $(OBJDIR)/sysinfo-loadavg.o +GENERATED += $(OBJDIR)/tclGlobMatch.o +GENERATED += $(OBJDIR)/tcp.o +GENERATED += $(OBJDIR)/thread.o +GENERATED += $(OBJDIR)/threadpool.o +GENERATED += $(OBJDIR)/time.o +GENERATED += $(OBJDIR)/timer.o +GENERATED += $(OBJDIR)/timer1.o +GENERATED += $(OBJDIR)/tty.o +GENERATED += $(OBJDIR)/udp.o +GENERATED += $(OBJDIR)/uv-common.o +GENERATED += $(OBJDIR)/uv-data-getter-setters.o +GENERATED += $(OBJDIR)/version.o +GENERATED += $(OBJDIR)/vm.o +GENERATED += $(OBJDIR)/wren_compiler.o +GENERATED += $(OBJDIR)/wren_core.o +GENERATED += $(OBJDIR)/wren_debug.o +GENERATED += $(OBJDIR)/wren_opt_meta.o +GENERATED += $(OBJDIR)/wren_opt_random.o +GENERATED += $(OBJDIR)/wren_primitive.o +GENERATED += $(OBJDIR)/wren_utils.o +GENERATED += $(OBJDIR)/wren_value.o +GENERATED += $(OBJDIR)/wren_vm.o +OBJECTS += $(OBJDIR)/async.o +OBJECTS += $(OBJDIR)/cli.o +OBJECTS += $(OBJDIR)/core.o +OBJECTS += $(OBJDIR)/dl.o +OBJECTS += $(OBJDIR)/essentials.o +OBJECTS += $(OBJDIR)/fs-poll.o +OBJECTS += $(OBJDIR)/fs.o +OBJECTS += $(OBJDIR)/getaddrinfo.o +OBJECTS += $(OBJDIR)/getnameinfo.o +OBJECTS += $(OBJDIR)/idna.o +OBJECTS += $(OBJDIR)/inet.o +OBJECTS += $(OBJDIR)/io.o +OBJECTS += $(OBJDIR)/json.o +OBJECTS += $(OBJDIR)/linux-core.o +OBJECTS += $(OBJDIR)/linux-inotify.o +OBJECTS += $(OBJDIR)/linux-syscalls.o +OBJECTS += $(OBJDIR)/loop-watcher.o +OBJECTS += $(OBJDIR)/loop.o +OBJECTS += $(OBJDIR)/main.o +OBJECTS += $(OBJDIR)/mirror.o +OBJECTS += $(OBJDIR)/modules.o +OBJECTS += $(OBJDIR)/os.o +OBJECTS += $(OBJDIR)/path.o +OBJECTS += $(OBJDIR)/pdjson.o +OBJECTS += $(OBJDIR)/pipe.o +OBJECTS += $(OBJDIR)/poll.o +OBJECTS += $(OBJDIR)/process.o +OBJECTS += $(OBJDIR)/procfs-exepath.o +OBJECTS += $(OBJDIR)/proctitle.o +OBJECTS += $(OBJDIR)/random-devurandom.o +OBJECTS += $(OBJDIR)/random-getrandom.o +OBJECTS += $(OBJDIR)/random-sysctl-linux.o +OBJECTS += $(OBJDIR)/random.o +OBJECTS += $(OBJDIR)/repl.o +OBJECTS += $(OBJDIR)/resolver.o +OBJECTS += $(OBJDIR)/scheduler.o +OBJECTS += $(OBJDIR)/signal.o +OBJECTS += $(OBJDIR)/stream.o +OBJECTS += $(OBJDIR)/strings.o +OBJECTS += $(OBJDIR)/strscpy.o +OBJECTS += $(OBJDIR)/sysinfo-loadavg.o +OBJECTS += $(OBJDIR)/tclGlobMatch.o +OBJECTS += $(OBJDIR)/tcp.o +OBJECTS += $(OBJDIR)/thread.o +OBJECTS += $(OBJDIR)/threadpool.o +OBJECTS += $(OBJDIR)/time.o +OBJECTS += $(OBJDIR)/timer.o +OBJECTS += $(OBJDIR)/timer1.o +OBJECTS += $(OBJDIR)/tty.o +OBJECTS += $(OBJDIR)/udp.o +OBJECTS += $(OBJDIR)/uv-common.o +OBJECTS += $(OBJDIR)/uv-data-getter-setters.o +OBJECTS += $(OBJDIR)/version.o +OBJECTS += $(OBJDIR)/vm.o +OBJECTS += $(OBJDIR)/wren_compiler.o +OBJECTS += $(OBJDIR)/wren_core.o +OBJECTS += $(OBJDIR)/wren_debug.o +OBJECTS += $(OBJDIR)/wren_opt_meta.o +OBJECTS += $(OBJDIR)/wren_opt_random.o +OBJECTS += $(OBJDIR)/wren_primitive.o +OBJECTS += $(OBJDIR)/wren_utils.o +OBJECTS += $(OBJDIR)/wren_value.o +OBJECTS += $(OBJDIR)/wren_vm.o + +# Rules +# ############################################# + +all: $(TARGET) + @: + +$(TARGET): $(GENERATED) $(OBJECTS) $(LDDEPS) | $(TARGETDIR) + $(PRELINKCMDS) + @echo Linking wrenc + $(SILENT) $(LINKCMD) + $(POSTBUILDCMDS) + +$(TARGETDIR): + @echo Creating $(TARGETDIR) +ifeq (posix,$(SHELLTYPE)) + $(SILENT) mkdir -p $(TARGETDIR) +else + $(SILENT) mkdir $(subst /,\\,$(TARGETDIR)) +endif + +$(OBJDIR): + @echo Creating $(OBJDIR) +ifeq (posix,$(SHELLTYPE)) + $(SILENT) mkdir -p $(OBJDIR) +else + $(SILENT) mkdir $(subst /,\\,$(OBJDIR)) +endif + +clean: + @echo Cleaning wrenc +ifeq (posix,$(SHELLTYPE)) + $(SILENT) rm -f $(TARGET) + $(SILENT) rm -rf $(GENERATED) + $(SILENT) rm -rf $(OBJDIR) +else + $(SILENT) if exist $(subst /,\\,$(TARGET)) del $(subst /,\\,$(TARGET)) + $(SILENT) if exist $(subst /,\\,$(GENERATED)) rmdir /s /q $(subst /,\\,$(GENERATED)) + $(SILENT) if exist $(subst /,\\,$(OBJDIR)) rmdir /s /q $(subst /,\\,$(OBJDIR)) +endif + +prebuild: | $(OBJDIR) + $(PREBUILDCMDS) + +ifneq (,$(PCH)) +$(OBJECTS): $(GCH) | $(PCH_PLACEHOLDER) +$(GCH): $(PCH) | prebuild + @echo $(notdir $<) + $(SILENT) $(CC) -x c-header $(ALL_CFLAGS) -o "$@" -MF "$(@:%.gch=%.d)" -c "$<" +$(PCH_PLACEHOLDER): $(GCH) | $(OBJDIR) +ifeq (posix,$(SHELLTYPE)) + $(SILENT) touch "$@" +else + $(SILENT) echo $null >> "$@" +endif +else +$(OBJECTS): | prebuild +endif + + +# File Rules +# ############################################# + +$(OBJDIR)/fs-poll.o: ../../deps/libuv/src/fs-poll.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/idna.o: ../../deps/libuv/src/idna.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/inet.o: ../../deps/libuv/src/inet.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/random.o: ../../deps/libuv/src/random.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/strscpy.o: ../../deps/libuv/src/strscpy.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/threadpool.o: ../../deps/libuv/src/threadpool.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/timer.o: ../../deps/libuv/src/timer.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/async.o: ../../deps/libuv/src/unix/async.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/core.o: ../../deps/libuv/src/unix/core.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/dl.o: ../../deps/libuv/src/unix/dl.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/fs.o: ../../deps/libuv/src/unix/fs.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/getaddrinfo.o: ../../deps/libuv/src/unix/getaddrinfo.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/getnameinfo.o: ../../deps/libuv/src/unix/getnameinfo.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/linux-core.o: ../../deps/libuv/src/unix/linux-core.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/linux-inotify.o: ../../deps/libuv/src/unix/linux-inotify.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/linux-syscalls.o: ../../deps/libuv/src/unix/linux-syscalls.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/loop-watcher.o: ../../deps/libuv/src/unix/loop-watcher.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/loop.o: ../../deps/libuv/src/unix/loop.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/pipe.o: ../../deps/libuv/src/unix/pipe.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/poll.o: ../../deps/libuv/src/unix/poll.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/process.o: ../../deps/libuv/src/unix/process.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/procfs-exepath.o: ../../deps/libuv/src/unix/procfs-exepath.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/proctitle.o: ../../deps/libuv/src/unix/proctitle.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/random-devurandom.o: ../../deps/libuv/src/unix/random-devurandom.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/random-getrandom.o: ../../deps/libuv/src/unix/random-getrandom.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/random-sysctl-linux.o: ../../deps/libuv/src/unix/random-sysctl-linux.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/signal.o: ../../deps/libuv/src/unix/signal.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/stream.o: ../../deps/libuv/src/unix/stream.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/sysinfo-loadavg.o: ../../deps/libuv/src/unix/sysinfo-loadavg.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/tcp.o: ../../deps/libuv/src/unix/tcp.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/thread.o: ../../deps/libuv/src/unix/thread.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/tty.o: ../../deps/libuv/src/unix/tty.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/udp.o: ../../deps/libuv/src/unix/udp.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/uv-common.o: ../../deps/libuv/src/uv-common.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/uv-data-getter-setters.o: ../../deps/libuv/src/uv-data-getter-setters.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/version.o: ../../deps/libuv/src/version.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/essentials.o: ../../deps/wren-essentials/src/essentials.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/json.o: ../../deps/wren-essentials/src/modules/json.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/mirror.o: ../../deps/wren-essentials/src/modules/mirror.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/strings.o: ../../deps/wren-essentials/src/modules/strings.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/time.o: ../../deps/wren-essentials/src/modules/time.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/pdjson.o: ../../deps/wren-essentials/src/vendor/pdjson.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/tclGlobMatch.o: ../../deps/wren-essentials/src/vendor/tclGlobMatch.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/wren_opt_meta.o: ../../deps/wren/src/optional/wren_opt_meta.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/wren_opt_random.o: ../../deps/wren/src/optional/wren_opt_random.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/wren_compiler.o: ../../deps/wren/src/vm/wren_compiler.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/wren_core.o: ../../deps/wren/src/vm/wren_core.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/wren_debug.o: ../../deps/wren/src/vm/wren_debug.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/wren_primitive.o: ../../deps/wren/src/vm/wren_primitive.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/wren_utils.o: ../../deps/wren/src/vm/wren_utils.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/wren_value.o: ../../deps/wren/src/vm/wren_value.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/wren_vm.o: ../../deps/wren/src/vm/wren_vm.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/cli.o: ../../src/cli/cli.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/main.o: ../../src/cli/main.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/modules.o: ../../src/cli/modules.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/path.o: ../../src/cli/path.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/resolver.o: ../../src/cli/resolver.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/vm.o: ../../src/cli/vm.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/io.o: ../../src/module/io.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/os.o: ../../src/module/os.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/repl.o: ../../src/module/repl.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/scheduler.o: ../../src/module/scheduler.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" +$(OBJDIR)/timer1.o: ../../src/module/timer.c + @echo $(notdir $<) + $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" + +-include $(OBJECTS:%.o=%.d) +ifneq (,$(PCH)) + -include $(PCH_PLACEHOLDER).d +endif From 670e385776519690dcf2dedf22578eeddf7e131f Mon Sep 17 00:00:00 2001 From: Glenn Jackman Date: Mon, 8 Jul 2024 20:06:32 -0400 Subject: [PATCH 2/3] add if conditions to Linux makefile, remove ARM specific project dir --- projects/make.arm/Makefile | 64 ----- projects/make.arm/wrenc.make | 484 ----------------------------------- projects/make/wrenc.make | 28 +- 3 files changed, 21 insertions(+), 555 deletions(-) delete mode 100644 projects/make.arm/Makefile delete mode 100644 projects/make.arm/wrenc.make diff --git a/projects/make.arm/Makefile b/projects/make.arm/Makefile deleted file mode 100644 index 58a6c4e2..00000000 --- a/projects/make.arm/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -# Alternative GNU Make workspace makefile autogenerated by Premake - -ifndef config - config=release_64bit -endif - -ifndef verbose - SILENT = @ -endif - -ifeq ($(config),release_64bit) - wrenc_config = release_64bit - -else ifeq ($(config),release_32bit) - wrenc_config = release_32bit - -else ifeq ($(config),release_64bit-no-nan-tagging) - wrenc_config = release_64bit-no-nan-tagging - -else ifeq ($(config),debug_64bit) - wrenc_config = debug_64bit - -else ifeq ($(config),debug_32bit) - wrenc_config = debug_32bit - -else ifeq ($(config),debug_64bit-no-nan-tagging) - wrenc_config = debug_64bit-no-nan-tagging - -else - $(error "invalid configuration $(config)") -endif - -PROJECTS := wrenc - -.PHONY: all clean help $(PROJECTS) - -all: $(PROJECTS) - -wrenc: -ifneq (,$(wrenc_config)) - @echo "==== Building wrenc ($(wrenc_config)) ====" - @${MAKE} --no-print-directory -C . -f wrenc.make config=$(wrenc_config) -endif - -clean: - @${MAKE} --no-print-directory -C . -f wrenc.make clean - -help: - @echo "Usage: make [config=name] [target]" - @echo "" - @echo "CONFIGURATIONS:" - @echo " release_64bit" - @echo " release_32bit" - @echo " release_64bit-no-nan-tagging" - @echo " debug_64bit" - @echo " debug_32bit" - @echo " debug_64bit-no-nan-tagging" - @echo "" - @echo "TARGETS:" - @echo " all (default)" - @echo " clean" - @echo " wrenc" - @echo "" - @echo "For more information, see https://github.com/premake/premake-core/wiki" \ No newline at end of file diff --git a/projects/make.arm/wrenc.make b/projects/make.arm/wrenc.make deleted file mode 100644 index cfc2d1f8..00000000 --- a/projects/make.arm/wrenc.make +++ /dev/null @@ -1,484 +0,0 @@ -# Alternative GNU Make project makefile autogenerated by Premake - -ifndef config - config=release_64bit -endif - -ifndef verbose - SILENT = @ -endif - -.PHONY: clean prebuild - -SHELLTYPE := posix -ifeq (.exe,$(findstring .exe,$(ComSpec))) - SHELLTYPE := msdos -endif - -# Configurations -# ############################################# - -RESCOMP = windres -INCLUDES += -I../../src/cli -I../../src/module -I../../deps/wren-essentials/src -I../../deps/wren-essentials/src/vendor -I../../deps/wren/include -I../../deps/wren/src/vm -I../../deps/wren/src/optional -I../../deps/libuv/include -I../../deps/libuv/src -FORCE_INCLUDE += -ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES) -ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) -LIBS += -lpthread -ldl -lm -LDDEPS += -LINKCMD = $(CC) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS) -define PREBUILDCMDS -endef -define PRELINKCMDS -endef -define POSTBUILDCMDS -endef - -ifeq ($(config),release_64bit) -TARGETDIR = ../../bin -TARGET = $(TARGETDIR)/wrenc -OBJDIR = obj/64bit/Release -DEFINES += -DNDEBUG -D_GNU_SOURCE -ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -O3 -std=c99 -ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -O3 -ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 -s - -else ifeq ($(config),release_32bit) -TARGETDIR = ../../bin -TARGET = $(TARGETDIR)/wrenc -OBJDIR = obj/32bit/Release -DEFINES += -DNDEBUG -D_GNU_SOURCE -ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -O3 -std=c99 -ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -O3 -ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib32 -m32 -s - -else ifeq ($(config),release_64bit-no-nan-tagging) -TARGETDIR = ../../bin -TARGET = $(TARGETDIR)/wrenc -OBJDIR = obj/64bit-no-nan-tagging/Release -DEFINES += -DNDEBUG -DWREN_NAN_TAGGING=0 -D_GNU_SOURCE -ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -O3 -std=c99 -ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -O3 -ALL_LDFLAGS += $(LDFLAGS) -s - -else ifeq ($(config),debug_64bit) -TARGETDIR = ../../bin -TARGET = $(TARGETDIR)/wrenc_d -OBJDIR = obj/64bit/Debug -DEFINES += -DDEBUG -D_GNU_SOURCE -ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -g -std=c99 -ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -g -ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 - -else ifeq ($(config),debug_32bit) -TARGETDIR = ../../bin -TARGET = $(TARGETDIR)/wrenc_d -OBJDIR = obj/32bit/Debug -DEFINES += -DDEBUG -D_GNU_SOURCE -ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -g -std=c99 -ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -g -ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib32 -m32 - -else ifeq ($(config),debug_64bit-no-nan-tagging) -TARGETDIR = ../../bin -TARGET = $(TARGETDIR)/wrenc_d -OBJDIR = obj/64bit-no-nan-tagging/Debug -DEFINES += -DDEBUG -DWREN_NAN_TAGGING=0 -D_GNU_SOURCE -ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -g -std=c99 -ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -g -ALL_LDFLAGS += $(LDFLAGS) - -endif - -# Per File Configurations -# ############################################# - - -# File sets -# ############################################# - -GENERATED := -OBJECTS := - -GENERATED += $(OBJDIR)/async.o -GENERATED += $(OBJDIR)/cli.o -GENERATED += $(OBJDIR)/core.o -GENERATED += $(OBJDIR)/dl.o -GENERATED += $(OBJDIR)/essentials.o -GENERATED += $(OBJDIR)/fs-poll.o -GENERATED += $(OBJDIR)/fs.o -GENERATED += $(OBJDIR)/getaddrinfo.o -GENERATED += $(OBJDIR)/getnameinfo.o -GENERATED += $(OBJDIR)/idna.o -GENERATED += $(OBJDIR)/inet.o -GENERATED += $(OBJDIR)/io.o -GENERATED += $(OBJDIR)/json.o -GENERATED += $(OBJDIR)/linux-core.o -GENERATED += $(OBJDIR)/linux-inotify.o -GENERATED += $(OBJDIR)/linux-syscalls.o -GENERATED += $(OBJDIR)/loop-watcher.o -GENERATED += $(OBJDIR)/loop.o -GENERATED += $(OBJDIR)/main.o -GENERATED += $(OBJDIR)/mirror.o -GENERATED += $(OBJDIR)/modules.o -GENERATED += $(OBJDIR)/os.o -GENERATED += $(OBJDIR)/path.o -GENERATED += $(OBJDIR)/pdjson.o -GENERATED += $(OBJDIR)/pipe.o -GENERATED += $(OBJDIR)/poll.o -GENERATED += $(OBJDIR)/process.o -GENERATED += $(OBJDIR)/procfs-exepath.o -GENERATED += $(OBJDIR)/proctitle.o -GENERATED += $(OBJDIR)/random-devurandom.o -GENERATED += $(OBJDIR)/random-getrandom.o -GENERATED += $(OBJDIR)/random-sysctl-linux.o -GENERATED += $(OBJDIR)/random.o -GENERATED += $(OBJDIR)/repl.o -GENERATED += $(OBJDIR)/resolver.o -GENERATED += $(OBJDIR)/scheduler.o -GENERATED += $(OBJDIR)/signal.o -GENERATED += $(OBJDIR)/stream.o -GENERATED += $(OBJDIR)/strings.o -GENERATED += $(OBJDIR)/strscpy.o -GENERATED += $(OBJDIR)/sysinfo-loadavg.o -GENERATED += $(OBJDIR)/tclGlobMatch.o -GENERATED += $(OBJDIR)/tcp.o -GENERATED += $(OBJDIR)/thread.o -GENERATED += $(OBJDIR)/threadpool.o -GENERATED += $(OBJDIR)/time.o -GENERATED += $(OBJDIR)/timer.o -GENERATED += $(OBJDIR)/timer1.o -GENERATED += $(OBJDIR)/tty.o -GENERATED += $(OBJDIR)/udp.o -GENERATED += $(OBJDIR)/uv-common.o -GENERATED += $(OBJDIR)/uv-data-getter-setters.o -GENERATED += $(OBJDIR)/version.o -GENERATED += $(OBJDIR)/vm.o -GENERATED += $(OBJDIR)/wren_compiler.o -GENERATED += $(OBJDIR)/wren_core.o -GENERATED += $(OBJDIR)/wren_debug.o -GENERATED += $(OBJDIR)/wren_opt_meta.o -GENERATED += $(OBJDIR)/wren_opt_random.o -GENERATED += $(OBJDIR)/wren_primitive.o -GENERATED += $(OBJDIR)/wren_utils.o -GENERATED += $(OBJDIR)/wren_value.o -GENERATED += $(OBJDIR)/wren_vm.o -OBJECTS += $(OBJDIR)/async.o -OBJECTS += $(OBJDIR)/cli.o -OBJECTS += $(OBJDIR)/core.o -OBJECTS += $(OBJDIR)/dl.o -OBJECTS += $(OBJDIR)/essentials.o -OBJECTS += $(OBJDIR)/fs-poll.o -OBJECTS += $(OBJDIR)/fs.o -OBJECTS += $(OBJDIR)/getaddrinfo.o -OBJECTS += $(OBJDIR)/getnameinfo.o -OBJECTS += $(OBJDIR)/idna.o -OBJECTS += $(OBJDIR)/inet.o -OBJECTS += $(OBJDIR)/io.o -OBJECTS += $(OBJDIR)/json.o -OBJECTS += $(OBJDIR)/linux-core.o -OBJECTS += $(OBJDIR)/linux-inotify.o -OBJECTS += $(OBJDIR)/linux-syscalls.o -OBJECTS += $(OBJDIR)/loop-watcher.o -OBJECTS += $(OBJDIR)/loop.o -OBJECTS += $(OBJDIR)/main.o -OBJECTS += $(OBJDIR)/mirror.o -OBJECTS += $(OBJDIR)/modules.o -OBJECTS += $(OBJDIR)/os.o -OBJECTS += $(OBJDIR)/path.o -OBJECTS += $(OBJDIR)/pdjson.o -OBJECTS += $(OBJDIR)/pipe.o -OBJECTS += $(OBJDIR)/poll.o -OBJECTS += $(OBJDIR)/process.o -OBJECTS += $(OBJDIR)/procfs-exepath.o -OBJECTS += $(OBJDIR)/proctitle.o -OBJECTS += $(OBJDIR)/random-devurandom.o -OBJECTS += $(OBJDIR)/random-getrandom.o -OBJECTS += $(OBJDIR)/random-sysctl-linux.o -OBJECTS += $(OBJDIR)/random.o -OBJECTS += $(OBJDIR)/repl.o -OBJECTS += $(OBJDIR)/resolver.o -OBJECTS += $(OBJDIR)/scheduler.o -OBJECTS += $(OBJDIR)/signal.o -OBJECTS += $(OBJDIR)/stream.o -OBJECTS += $(OBJDIR)/strings.o -OBJECTS += $(OBJDIR)/strscpy.o -OBJECTS += $(OBJDIR)/sysinfo-loadavg.o -OBJECTS += $(OBJDIR)/tclGlobMatch.o -OBJECTS += $(OBJDIR)/tcp.o -OBJECTS += $(OBJDIR)/thread.o -OBJECTS += $(OBJDIR)/threadpool.o -OBJECTS += $(OBJDIR)/time.o -OBJECTS += $(OBJDIR)/timer.o -OBJECTS += $(OBJDIR)/timer1.o -OBJECTS += $(OBJDIR)/tty.o -OBJECTS += $(OBJDIR)/udp.o -OBJECTS += $(OBJDIR)/uv-common.o -OBJECTS += $(OBJDIR)/uv-data-getter-setters.o -OBJECTS += $(OBJDIR)/version.o -OBJECTS += $(OBJDIR)/vm.o -OBJECTS += $(OBJDIR)/wren_compiler.o -OBJECTS += $(OBJDIR)/wren_core.o -OBJECTS += $(OBJDIR)/wren_debug.o -OBJECTS += $(OBJDIR)/wren_opt_meta.o -OBJECTS += $(OBJDIR)/wren_opt_random.o -OBJECTS += $(OBJDIR)/wren_primitive.o -OBJECTS += $(OBJDIR)/wren_utils.o -OBJECTS += $(OBJDIR)/wren_value.o -OBJECTS += $(OBJDIR)/wren_vm.o - -# Rules -# ############################################# - -all: $(TARGET) - @: - -$(TARGET): $(GENERATED) $(OBJECTS) $(LDDEPS) | $(TARGETDIR) - $(PRELINKCMDS) - @echo Linking wrenc - $(SILENT) $(LINKCMD) - $(POSTBUILDCMDS) - -$(TARGETDIR): - @echo Creating $(TARGETDIR) -ifeq (posix,$(SHELLTYPE)) - $(SILENT) mkdir -p $(TARGETDIR) -else - $(SILENT) mkdir $(subst /,\\,$(TARGETDIR)) -endif - -$(OBJDIR): - @echo Creating $(OBJDIR) -ifeq (posix,$(SHELLTYPE)) - $(SILENT) mkdir -p $(OBJDIR) -else - $(SILENT) mkdir $(subst /,\\,$(OBJDIR)) -endif - -clean: - @echo Cleaning wrenc -ifeq (posix,$(SHELLTYPE)) - $(SILENT) rm -f $(TARGET) - $(SILENT) rm -rf $(GENERATED) - $(SILENT) rm -rf $(OBJDIR) -else - $(SILENT) if exist $(subst /,\\,$(TARGET)) del $(subst /,\\,$(TARGET)) - $(SILENT) if exist $(subst /,\\,$(GENERATED)) rmdir /s /q $(subst /,\\,$(GENERATED)) - $(SILENT) if exist $(subst /,\\,$(OBJDIR)) rmdir /s /q $(subst /,\\,$(OBJDIR)) -endif - -prebuild: | $(OBJDIR) - $(PREBUILDCMDS) - -ifneq (,$(PCH)) -$(OBJECTS): $(GCH) | $(PCH_PLACEHOLDER) -$(GCH): $(PCH) | prebuild - @echo $(notdir $<) - $(SILENT) $(CC) -x c-header $(ALL_CFLAGS) -o "$@" -MF "$(@:%.gch=%.d)" -c "$<" -$(PCH_PLACEHOLDER): $(GCH) | $(OBJDIR) -ifeq (posix,$(SHELLTYPE)) - $(SILENT) touch "$@" -else - $(SILENT) echo $null >> "$@" -endif -else -$(OBJECTS): | prebuild -endif - - -# File Rules -# ############################################# - -$(OBJDIR)/fs-poll.o: ../../deps/libuv/src/fs-poll.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/idna.o: ../../deps/libuv/src/idna.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/inet.o: ../../deps/libuv/src/inet.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/random.o: ../../deps/libuv/src/random.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/strscpy.o: ../../deps/libuv/src/strscpy.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/threadpool.o: ../../deps/libuv/src/threadpool.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/timer.o: ../../deps/libuv/src/timer.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/async.o: ../../deps/libuv/src/unix/async.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/core.o: ../../deps/libuv/src/unix/core.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/dl.o: ../../deps/libuv/src/unix/dl.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/fs.o: ../../deps/libuv/src/unix/fs.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/getaddrinfo.o: ../../deps/libuv/src/unix/getaddrinfo.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/getnameinfo.o: ../../deps/libuv/src/unix/getnameinfo.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/linux-core.o: ../../deps/libuv/src/unix/linux-core.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/linux-inotify.o: ../../deps/libuv/src/unix/linux-inotify.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/linux-syscalls.o: ../../deps/libuv/src/unix/linux-syscalls.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/loop-watcher.o: ../../deps/libuv/src/unix/loop-watcher.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/loop.o: ../../deps/libuv/src/unix/loop.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/pipe.o: ../../deps/libuv/src/unix/pipe.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/poll.o: ../../deps/libuv/src/unix/poll.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/process.o: ../../deps/libuv/src/unix/process.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/procfs-exepath.o: ../../deps/libuv/src/unix/procfs-exepath.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/proctitle.o: ../../deps/libuv/src/unix/proctitle.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/random-devurandom.o: ../../deps/libuv/src/unix/random-devurandom.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/random-getrandom.o: ../../deps/libuv/src/unix/random-getrandom.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/random-sysctl-linux.o: ../../deps/libuv/src/unix/random-sysctl-linux.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/signal.o: ../../deps/libuv/src/unix/signal.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/stream.o: ../../deps/libuv/src/unix/stream.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/sysinfo-loadavg.o: ../../deps/libuv/src/unix/sysinfo-loadavg.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/tcp.o: ../../deps/libuv/src/unix/tcp.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/thread.o: ../../deps/libuv/src/unix/thread.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/tty.o: ../../deps/libuv/src/unix/tty.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/udp.o: ../../deps/libuv/src/unix/udp.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/uv-common.o: ../../deps/libuv/src/uv-common.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/uv-data-getter-setters.o: ../../deps/libuv/src/uv-data-getter-setters.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/version.o: ../../deps/libuv/src/version.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/essentials.o: ../../deps/wren-essentials/src/essentials.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/json.o: ../../deps/wren-essentials/src/modules/json.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/mirror.o: ../../deps/wren-essentials/src/modules/mirror.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/strings.o: ../../deps/wren-essentials/src/modules/strings.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/time.o: ../../deps/wren-essentials/src/modules/time.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/pdjson.o: ../../deps/wren-essentials/src/vendor/pdjson.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/tclGlobMatch.o: ../../deps/wren-essentials/src/vendor/tclGlobMatch.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/wren_opt_meta.o: ../../deps/wren/src/optional/wren_opt_meta.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/wren_opt_random.o: ../../deps/wren/src/optional/wren_opt_random.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/wren_compiler.o: ../../deps/wren/src/vm/wren_compiler.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/wren_core.o: ../../deps/wren/src/vm/wren_core.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/wren_debug.o: ../../deps/wren/src/vm/wren_debug.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/wren_primitive.o: ../../deps/wren/src/vm/wren_primitive.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/wren_utils.o: ../../deps/wren/src/vm/wren_utils.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/wren_value.o: ../../deps/wren/src/vm/wren_value.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/wren_vm.o: ../../deps/wren/src/vm/wren_vm.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/cli.o: ../../src/cli/cli.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/main.o: ../../src/cli/main.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/modules.o: ../../src/cli/modules.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/path.o: ../../src/cli/path.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/resolver.o: ../../src/cli/resolver.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/vm.o: ../../src/cli/vm.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/io.o: ../../src/module/io.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/os.o: ../../src/module/os.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/repl.o: ../../src/module/repl.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/scheduler.o: ../../src/module/scheduler.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" -$(OBJDIR)/timer1.o: ../../src/module/timer.c - @echo $(notdir $<) - $(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<" - --include $(OBJECTS:%.o=%.d) -ifneq (,$(PCH)) - -include $(PCH_PLACEHOLDER).d -endif diff --git a/projects/make/wrenc.make b/projects/make/wrenc.make index 2dd3ab54..893d075a 100644 --- a/projects/make/wrenc.make +++ b/projects/make/wrenc.make @@ -15,6 +15,10 @@ ifeq (.exe,$(findstring .exe,$(ComSpec))) SHELLTYPE := msdos endif +# This makefile can be used to compile on Linux for ARM cpu, +# but without the `-m64` flag +machine := $(shell uname -m) + # Configurations # ############################################# @@ -38,9 +42,14 @@ TARGETDIR = ../../bin TARGET = $(TARGETDIR)/wrenc OBJDIR = obj/64bit/Release DEFINES += -DNDEBUG -D_GNU_SOURCE -ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -O3 -std=c99 -ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -O3 -ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 -m64 -s +ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -O3 -std=c99 +ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -O3 +ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 -s +ifeq ($(machine),x86_64) + ALL_CFLAGS += -m64 + ALL_CXXFLAGS += -m64 + ALL_LDFLAGS += -m64 +endif else ifeq ($(config),release_32bit) TARGETDIR = ../../bin @@ -65,9 +74,14 @@ TARGETDIR = ../../bin TARGET = $(TARGETDIR)/wrenc_d OBJDIR = obj/64bit/Debug DEFINES += -DDEBUG -D_GNU_SOURCE -ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -g -std=c99 -ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -g -ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 -m64 +ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -g -std=c99 +ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -g +ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 +ifeq ($(machine),x86_64) + ALL_CFLAGS += -m64 + ALL_CXXFLAGS += -m64 + ALL_LDFLAGS += -m64 +endif else ifeq ($(config),debug_32bit) TARGETDIR = ../../bin @@ -481,4 +495,4 @@ $(OBJDIR)/timer1.o: ../../src/module/timer.c -include $(OBJECTS:%.o=%.d) ifneq (,$(PCH)) -include $(PCH_PLACEHOLDER).d -endif \ No newline at end of file +endif From 00f0792be76b5a1a412384c01d5d140738f25057 Mon Sep 17 00:00:00 2001 From: Glenn Jackman Date: Mon, 8 Jul 2024 20:08:25 -0400 Subject: [PATCH 3/3] remove ARM build instruction from README --- README.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/README.md b/README.md index cb3fc465..78c0565e 100644 --- a/README.md +++ b/README.md @@ -224,11 +224,6 @@ From that folder, run `make`. `cd projects/make` `make` -#### Linux on ARM - -`cd projects/make.arm` -`make` - ### FreeBSD The `projects/make.bsd` folder contains a `make` project.