reverse make win32 version of libtcc1.a patch
This commit is contained in:
parent
80b4c698c2
commit
eb78e94300
2 changed files with 37 additions and 32 deletions
47
Makefile
47
Makefile
|
@ -14,7 +14,7 @@ LIBTCCA=libtcc.a
|
||||||
ifdef DISABLE_STATIC
|
ifdef DISABLE_STATIC
|
||||||
CFLAGS+=-fPIC
|
CFLAGS+=-fPIC
|
||||||
LIBTCCA=
|
LIBTCCA=
|
||||||
LIBTCCL=-ltcc
|
LIBTCCL=-L. -ltcc
|
||||||
LIBTCCSO=libtcc.so.1
|
LIBTCCSO=libtcc.so.1
|
||||||
endif
|
endif
|
||||||
LIBTCCB=$(LIBTCCA)
|
LIBTCCB=$(LIBTCCA)
|
||||||
|
@ -110,11 +110,11 @@ PROGS_CROSS=$(WIN64_CROSS) $(I386_CROSS) $(X64_CROSS) $(ARM_CROSS) $(C67_CROSS)
|
||||||
else
|
else
|
||||||
ifeq ($(ARCH),i386)
|
ifeq ($(ARCH),i386)
|
||||||
NATIVE_FILES=$(I386_FILES)
|
NATIVE_FILES=$(I386_FILES)
|
||||||
PROGS_CROSS=$(X64_CROSS) libtcc1_win32 $(WIN32_CROSS) $(WIN64_CROSS) $(ARM_CROSS) $(C67_CROSS)
|
PROGS_CROSS=$(X64_CROSS) $(WIN32_CROSS) $(WIN64_CROSS) $(ARM_CROSS) $(C67_CROSS)
|
||||||
else
|
else
|
||||||
ifeq ($(ARCH),x86-64)
|
ifeq ($(ARCH),x86-64)
|
||||||
NATIVE_FILES=$(X86_64_FILES)
|
NATIVE_FILES=$(X86_64_FILES)
|
||||||
PROGS_CROSS=$(I386_CROSS) libtcc1_win32 $(WIN32_CROSS) $(WIN64_CROSS) $(ARM_CROSS) $(C67_CROSS)
|
PROGS_CROSS=$(I386_CROSS) $(WIN32_CROSS) $(WIN64_CROSS) $(ARM_CROSS) $(C67_CROSS)
|
||||||
else
|
else
|
||||||
ifeq ($(ARCH),arm)
|
ifeq ($(ARCH),arm)
|
||||||
NATIVE_FILES=$(ARM_FILES)
|
NATIVE_FILES=$(ARM_FILES)
|
||||||
|
@ -125,14 +125,13 @@ endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_CROSS
|
ifdef CONFIG_CROSS
|
||||||
|
|
||||||
PROGS+=$(PROGS_CROSS)
|
PROGS+=$(PROGS_CROSS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
all: $(PROGS) $(LIBTCC1) $(BCHECK_O) $(LIBTCCB) tcc-doc.html tcc.1 libtcc_test$(EXESUF)
|
all: $(PROGS) $(LIBTCC1) $(BCHECK_O) $(LIBTCCB) tcc-doc.html tcc.1 libtcc_test$(EXESUF)
|
||||||
|
|
||||||
# Host Tiny C Compiler
|
# Host Tiny C Compiler
|
||||||
tcc$(EXESUF): tcc.o $(LIBTCCA)
|
tcc$(EXESUF): tcc.o $(LIBTCCB)
|
||||||
$(CC) -o $@ $^ $(LIBS) $(LIBTCCL)
|
$(CC) -o $@ $^ $(LIBS) $(LIBTCCL)
|
||||||
|
|
||||||
# Cross Tiny C Compilers
|
# Cross Tiny C Compilers
|
||||||
|
@ -179,11 +178,22 @@ libtcc.so.1: $(LIBTCC_OBJ)
|
||||||
$(CC) -shared -Wl,-soname,$@ -o $@.0 $^
|
$(CC) -shared -Wl,-soname,$@ -o $@.0 $^
|
||||||
ln -sf libtcc.so.1.0 libtcc.so.1
|
ln -sf libtcc.so.1.0 libtcc.so.1
|
||||||
ln -sf libtcc.so.1.0 libtcc.so
|
ln -sf libtcc.so.1.0 libtcc.so
|
||||||
libtcc1_win32:
|
|
||||||
./make_libtcc1_win32.sh
|
|
||||||
|
|
||||||
libtcc_test$(EXESUF): tests/libtcc_test.c $(LIBTCCA)
|
libtcc_test$(EXESUF): tests/libtcc_test.c $(LIBTCCB)
|
||||||
$(CC) -o $@ $^ -I. $(CFLAGS) $(LIBS) $(LIBTCCL)
|
$(CC) -o $@ $^ -I. $(CFLAGS) $(LIBS) $(LIBTCCL)
|
||||||
|
ifdef CONFIG_CROSS
|
||||||
|
ifndef CONFIG_WIN32
|
||||||
|
echo "ARCH=i386" >> config.mak
|
||||||
|
make i386-win32-tcc
|
||||||
|
cp i386-win32-tcc tcc.exe
|
||||||
|
mv libtcc1.a libtcc1.bak
|
||||||
|
make CONFIG_WIN32=1 libtcc1.a
|
||||||
|
mv libtcc1.a lib
|
||||||
|
mv libtcc1.bak libtcc1.a
|
||||||
|
head -n -1 config.mak > config.bak
|
||||||
|
mv config.bak config.mak
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
libtest: libtcc_test$(EXESUF) $(LIBTCC1)
|
libtest: libtcc_test$(EXESUF) $(LIBTCC1)
|
||||||
./libtcc_test$(EXESUF) lib_path=.
|
./libtcc_test$(EXESUF) lib_path=.
|
||||||
|
@ -239,10 +249,20 @@ endif
|
||||||
$(INSTALL) -m644 $(addprefix include/,$(TCC_INCLUDES)) "$(tccdir)/include"
|
$(INSTALL) -m644 $(addprefix include/,$(TCC_INCLUDES)) "$(tccdir)/include"
|
||||||
mkdir -p "$(libdir)"
|
mkdir -p "$(libdir)"
|
||||||
$(INSTALL) -m644 $(LIBTCCB) "$(libdir)"
|
$(INSTALL) -m644 $(LIBTCCB) "$(libdir)"
|
||||||
|
ifeq ($(LIBTCCB),$(LIBTCCSO))
|
||||||
|
$(INSTALL) -m644 $(LIBTCCB,.1.0=.1) "$(libdir)"
|
||||||
|
$(INSTALL) -m644 $(LIBTCCB,.1.0=) "$(libdir)"
|
||||||
|
endif
|
||||||
mkdir -p "$(includedir)"
|
mkdir -p "$(includedir)"
|
||||||
$(INSTALL) -m644 libtcc.h "$(includedir)"
|
$(INSTALL) -m644 libtcc.h "$(includedir)"
|
||||||
mkdir -p "$(docdir)"
|
mkdir -p "$(docdir)"
|
||||||
-$(INSTALL) -m644 tcc-doc.html "$(docdir)"
|
$(INSTALL) -m644 tcc-doc.html "$(docdir)"
|
||||||
|
ifdef CONFIG_CROSS
|
||||||
|
mkdir -p "$(tccdir)/lib"
|
||||||
|
$(INSTALL) -m644 win32/lib/*.def lib/libtcc1.a "$(tccdir)/lib"
|
||||||
|
cp -r win32/include/. "$(tccdir)/include"
|
||||||
|
cp -r win32/examples/. "$(tccdir)/examples"
|
||||||
|
endif
|
||||||
|
|
||||||
uninstall:
|
uninstall:
|
||||||
rm -fv $(foreach P,$(PROGS),"$(bindir)/$P")
|
rm -fv $(foreach P,$(PROGS),"$(bindir)/$P")
|
||||||
|
@ -250,7 +270,14 @@ uninstall:
|
||||||
rm -fv $(foreach P,$(TCC_INCLUDES),"$(tccdir)/include/$P")
|
rm -fv $(foreach P,$(TCC_INCLUDES),"$(tccdir)/include/$P")
|
||||||
rm -fv "$(docdir)/tcc-doc.html" "$(mandir)/man1/tcc.1"
|
rm -fv "$(docdir)/tcc-doc.html" "$(mandir)/man1/tcc.1"
|
||||||
rm -fv "$(libdir)/$(LIBTCCB)" "$(includedir)/libtcc.h"
|
rm -fv "$(libdir)/$(LIBTCCB)" "$(includedir)/libtcc.h"
|
||||||
|
ifeq ($(LIBTCCB),$(LIBTCCSO))
|
||||||
|
rm -fv "$(libdir)/$(LIBTCCB,.1.0=.1)" "$(libdir)/$(LIBTCCB,.1.0=)"
|
||||||
|
endif
|
||||||
|
ifdef CONFIG_CROSS
|
||||||
|
rm -rf "$(tccdir)/include"
|
||||||
|
rm -rf "$(tccdir)/lib"
|
||||||
|
rm -rf "$(tccdir)/examples"
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
install: $(PROGS) $(LIBTCC1) libtcc.a tcc-doc.html
|
install: $(PROGS) $(LIBTCC1) libtcc.a tcc-doc.html
|
||||||
mkdir -p "$(tccdir)"
|
mkdir -p "$(tccdir)"
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
a=$(mktemp)
|
|
||||||
b=$(mktemp)
|
|
||||||
c=$(mktemp)
|
|
||||||
cp config.h $a
|
|
||||||
cp config.mak $b
|
|
||||||
# force 386 build on x86_64
|
|
||||||
./configure --cpu=x86
|
|
||||||
# configure doesn't provide a way to set tccdir
|
|
||||||
tccdir=$(grep TCCDIR $a|awk '{gsub("\"","",$3);print $3}')
|
|
||||||
grep -v CONFIG_TCCDIR $a > $c
|
|
||||||
echo "#define CONFIG_TCCDIR \"${tccdir}/win32\"" >> $c
|
|
||||||
mv $c config.h
|
|
||||||
make i386-win32-tcc
|
|
||||||
mv i386-win32-tcc tcc.exe
|
|
||||||
sync
|
|
||||||
make CONFIG_WIN32=1 libtcc1.a
|
|
||||||
cp include/* win32/include
|
|
||||||
mv libtcc1.a win32/lib
|
|
||||||
mv $a config.h
|
|
||||||
mv $b config.mak
|
|
||||||
rm tcc.exe
|
|
Loading…
Reference in a new issue