0
0
mirror of https://github.com/termux/termux-packages.git synced 2025-05-12 09:03:12 +00:00
Files
termux-packages/packages/libjanet/Makefile.patch.beforehostbuild
2024-12-25 15:58:40 +01:00

128 lines
5.1 KiB
Diff

diff --git a/Makefile b/Makefile
index f43c9dbc..6d8e4fff 100644
--- a/Makefile
+++ b/Makefile
@@ -31,6 +31,7 @@ LIBDIR?=$(PREFIX)/lib
JANET_BUILD?="\"$(shell git log --pretty=format:'%h' -n 1 2> /dev/null || echo local)\""
CLIBS=-lm -lpthread
JANET_TARGET=build/janet
+JANET_HOST_TARGET=build/janet_host
JANET_BOOT=build/janet_boot
JANET_IMPORT_LIB=build/janet.lib
JANET_LIBRARY_IMPORT_LIB=build/libjanet.lib
@@ -42,6 +43,7 @@ JANET_PKG_CONFIG_PATH?=$(LIBDIR)/pkgconfig
JANET_DIST_DIR?=janet-dist
JANET_BOOT_FLAGS:=. JANET_PATH '$(JANET_PATH)'
JANET_TARGET_OBJECTS=build/janet.o build/shell.o
+JANET_HOST_TARGET_OBJECTS=build/janet_host.o build/shell_host.o
JPM_TAG?=master
SPORK_TAG?=master
HAS_SHARED?=1
@@ -54,7 +56,7 @@ HOSTAR?=$(AR)
# Symbols are (optionally) removed later, keep -g as default!
CFLAGS?=-O2 -g
LDFLAGS?=-rdynamic
-LIBJANET_LDFLAGS?=$(LD_FLAGS)
+LIBJANET_LDFLAGS?=$(LDFLAGS)
RUN:=$(RUN)
COMMON_CFLAGS:=-std=c99 -Wall -Wextra -Isrc/include -Isrc/conf -fvisibility=hidden -fPIC
@@ -184,10 +186,10 @@ JANET_BOOT_OBJECTS=$(patsubst src/%.c,build/%.boot.o,$(JANET_CORE_SOURCES) $(JAN
$(JANET_BOOT_OBJECTS): $(JANET_BOOT_HEADERS)
build/%.boot.o: src/%.c $(JANET_HEADERS) $(JANET_LOCAL_HEADERS) Makefile
- $(CC) $(BOOT_CFLAGS) -o $@ -c $<
+ $(HOSTCC) $(BOOT_CFLAGS) -o $@ -c $<
$(JANET_BOOT): $(JANET_BOOT_OBJECTS)
- $(CC) $(BOOT_CFLAGS) -o $@ $(JANET_BOOT_OBJECTS) $(CLIBS)
+ $(HOSTCC) $(BOOT_CFLAGS) -o $@ $(JANET_BOOT_OBJECTS) $(CLIBS)
# Now the reason we bootstrap in the first place
build/c/janet.c: $(JANET_BOOT) src/boot/boot.janet
@@ -199,7 +201,7 @@ build/c/janet.c: $(JANET_BOOT) src/boot/boot.janet
##################
build/%.bin.o: src/%.c $(JANET_HEADERS) $(JANET_LOCAL_HEADERS) Makefile
- $(HOSTCC) $(BUILD_CFLAGS) -o $@ -c $<
+ $(CC) $(BUILD_CFLAGS) -o $@ -c $<
########################
##### Amalgamation #####
@@ -211,29 +213,38 @@ else
SONAME=libjanet.so.1.37
endif
+build/janet_host.o: build/c/janet.c $(JANETCONF_HEADER) src/include/janet.h
+ $(HOSTCC) $(BUILD_CFLAGS) -c $< -o $@
+
+build/shell_host.o: build/c/shell.c $(JANETCONF_HEADER) src/include/janet.h
+ $(HOSTCC) $(BUILD_CFLAGS) -c $< -o $@
+
+$(JANET_HOST_TARGET): $(JANET_HOST_TARGET_OBJECTS)
+ $(HOSTCC) $(LDFLAGS) $(BUILD_CFLAGS) -o $@ $^ $(CLIBS)
+
build/c/shell.c: src/mainclient/shell.c
cp $< $@
-build/janet.h: $(JANET_TARGET) src/include/janet.h $(JANETCONF_HEADER)
- $(RUN) ./$(JANET_TARGET) tools/patch-header.janet src/include/janet.h $(JANETCONF_HEADER) $@
+build/janet.h: $(JANET_HOST_TARGET) src/include/janet.h $(JANETCONF_HEADER)
+ $(RUN) ./$(JANET_HOST_TARGET) tools/patch-header.janet src/include/janet.h $(JANETCONF_HEADER) $@
build/janetconf.h: $(JANETCONF_HEADER)
cp $< $@
build/janet.o: build/c/janet.c $(JANETCONF_HEADER) src/include/janet.h
- $(HOSTCC) $(BUILD_CFLAGS) -c $< -o $@
+ $(CC) $(BUILD_CFLAGS) -c $< -o $@
build/shell.o: build/c/shell.c $(JANETCONF_HEADER) src/include/janet.h
- $(HOSTCC) $(BUILD_CFLAGS) -c $< -o $@
+ $(CC) $(BUILD_CFLAGS) -c $< -o $@
$(JANET_TARGET): $(JANET_TARGET_OBJECTS)
- $(HOSTCC) $(LDFLAGS) $(BUILD_CFLAGS) -o $@ $^ $(CLIBS)
+ $(CC) $(LDFLAGS) $(BUILD_CFLAGS) -o $@ $^ $(CLIBS)
$(JANET_LIBRARY): $(JANET_TARGET_OBJECTS)
- $(HOSTCC) $(LIBJANET_LDFLAGS) $(BUILD_CFLAGS) $(SONAME_SETTER)$(SONAME) -shared -o $@ $^ $(CLIBS)
+ $(CC) $(LIBJANET_LDFLAGS) $(BUILD_CFLAGS) $(SONAME_SETTER)$(SONAME) -shared -o $@ $^ $(CLIBS)
$(JANET_STATIC_LIBRARY): $(JANET_TARGET_OBJECTS)
- $(HOSTAR) rcs $@ $^
+ $(AR) rcs $@ $^
###################
##### Testing #####
@@ -307,7 +318,7 @@ build/doc.html: $(JANET_TARGET) tools/gendoc.janet
########################
.INTERMEDIATE: build/janet.pc
-build/janet.pc: $(JANET_TARGET)
+build/janet.pc: $(JANET_HOST_TARGET)
echo 'prefix=$(PREFIX)' > $@
echo 'exec_prefix=$${prefix}' >> $@
echo 'includedir=$(INCLUDEDIR)/janet' >> $@
@@ -316,7 +327,7 @@ build/janet.pc: $(JANET_TARGET)
echo "Name: janet" >> $@
echo "Url: https://janet-lang.org" >> $@
echo "Description: Library for the Janet programming language." >> $@
- $(RUN) $(JANET_TARGET) -e '(print "Version: " janet/version)' >> $@
+ $(RUN) $(JANET_HOST_TARGET) -e '(print "Version: " janet/version)' >> $@
echo 'Cflags: -I$${includedir}' >> $@
echo 'Libs: -L$${libdir} -ljanet' >> $@
echo 'Libs.private: $(CLIBS)' >> $@
@@ -335,9 +346,9 @@ install: $(JANET_TARGET) $(JANET_LIBRARY) $(JANET_STATIC_LIBRARY) build/janet.pc
ln -sf $(SONAME) '$(DESTDIR)$(LIBDIR)/libjanet.dylib' ; \
ln -sf libjanet.$(shell $(JANET_TARGET) -e '(print janet/version)').dylib $(DESTDIR)$(LIBDIR)/$(SONAME) ; \
else \
- cp $(JANET_LIBRARY) '$(DESTDIR)$(LIBDIR)/libjanet.so.$(shell $(JANET_TARGET) -e '(print janet/version)')' ; \
+ cp $(JANET_LIBRARY) '$(DESTDIR)$(LIBDIR)/libjanet.so.$(shell $(JANET_HOST_TARGET) -e '(print janet/version)')' ; \
ln -sf $(SONAME) '$(DESTDIR)$(LIBDIR)/libjanet.so' ; \
- ln -sf libjanet.so.$(shell $(JANET_TARGET) -e '(print janet/version)') $(DESTDIR)$(LIBDIR)/$(SONAME) ; \
+ ln -sf libjanet.so.$(shell $(JANET_HOST_TARGET) -e '(print janet/version)') $(DESTDIR)$(LIBDIR)/$(SONAME) ; \
fi
cp $(JANET_STATIC_LIBRARY) '$(DESTDIR)$(LIBDIR)/libjanet.a'
mkdir -p '$(DESTDIR)$(JANET_MANPATH)'