Skip to content

Commit 49baac7

Browse files
committed
bindist: Copy binaries similar to how "make install" does it
1 parent 9af15c7 commit 49baac7

File tree

1 file changed

+150
-163
lines changed

1 file changed

+150
-163
lines changed

makefile

Lines changed: 150 additions & 163 deletions
Original file line numberDiff line numberDiff line change
@@ -745,182 +745,169 @@ ifndef FBMANIFEST
745745
FBMANIFEST := $(subst -$(FBVERSION),,$(FBPACKAGE))
746746
endif
747747

748+
packbin := $(patsubst $(prefix)%,$(FBPACKAGE)%,$(prefixbindir))
749+
packinc := $(patsubst $(prefix)%,$(FBPACKAGE)%,$(prefixincdir))
750+
packlib := $(patsubst $(prefix)%,$(FBPACKAGE)%,$(prefixlibdir))
751+
748752
.PHONY: bindist
749753
bindist:
750754
# Extra directory in which we'll put together the binary release package
751755
# (needed anyways to avoid tarbombs)
752-
mkdir -p $(FBPACKAGE)/bin $(FBPACKAGE)/lib
756+
mkdir -p $(packbin) $(packinc) $(packlib)
753757

754-
# Binaries from the build dir: fbc[.exe] or bin/fbc[.exe], bin/ and lib/
755-
# (we're expecting bin/ and lib/ to be filled with the proper external
756-
# binaries already in case of standalone setups)
758+
# Copy fbc, binutils etc. (standalone), includes, libs (including the
759+
# non-FB ones for standalone)
760+
cp $(FBC_EXE) $(packbin)
761+
cp -r $(rootdir)inc/* $(packinc)
757762
ifdef ENABLE_STANDALONE
758-
cp -R bin/$(FBTARGET) $(FBPACKAGE)/bin
759-
cp -R lib/$(FBTARGET) $(FBPACKAGE)/lib
760-
cp $(FBC_EXE) $(FBPACKAGE)
763+
cp bin/$(FBTARGET)/* $(packbin)
764+
cp lib/$(FBTARGET)/*.a lib/$(FBTARGET)/*.o $(packlib)
761765
else
762-
mkdir -p $(FBPACKAGE)/lib/freebasic
763-
cp $(FBC_EXE) $(FBPACKAGE)/bin
764-
cp -R lib/freebasic/$(FBTARGET) $(FBPACKAGE)/lib/freebasic
766+
cp $(RTL_LIBS) $(GFX_LIBS) $(packlib)
765767
endif
766768

767-
# Remove lib/win32/*.def stuff. We have it in the source tree (not in
768-
# build dir if separate though) but don't want to include it into the
769-
# binary release packages.
770-
cd $(FBPACKAGE) && rm -rf lib/win32/*.def lib/win32/makefile lib/fbextra.x
771-
rmdir $(FBPACKAGE)/lib/win32 || true
772-
773-
# Includes: inc/, include/freebasic/ or include/freebas/
774-
cp -R $(rootdir)inc $(FBPACKAGE)
775769
ifeq ($(TARGET_OS),dos)
776-
rm -r $(FBPACKAGE)/inc/AL
777-
rm -r $(FBPACKAGE)/inc/allegro5
778-
rm -r $(FBPACKAGE)/inc/atk
779-
rm -r $(FBPACKAGE)/inc/bass.bi
780-
rm -r $(FBPACKAGE)/inc/bassmod.bi
781-
rm -r $(FBPACKAGE)/inc/cairo
782-
rm -r $(FBPACKAGE)/inc/cd
783-
rm -r $(FBPACKAGE)/inc/chipmunk
784-
rm -r $(FBPACKAGE)/inc/crt/arpa
785-
rm -r $(FBPACKAGE)/inc/crt/bits
786-
rm -r $(FBPACKAGE)/inc/crt/linux
787-
rm -r $(FBPACKAGE)/inc/crt/netdb.bi
788-
rm -r $(FBPACKAGE)/inc/crt/netinet/in.bi
789-
rm -r $(FBPACKAGE)/inc/crt/netinet/linux/in.bi
790-
rm -r $(FBPACKAGE)/inc/crt/sys/linux
791-
rm -r $(FBPACKAGE)/inc/crt/sys/socket.bi
792-
rm -r $(FBPACKAGE)/inc/crt/sys/win32
793-
rm -r $(FBPACKAGE)/inc/crt/win32
794-
rm -r $(FBPACKAGE)/inc/curses/ncurses.bi
795-
rm -r $(FBPACKAGE)/inc/disphelper
796-
rm -r $(FBPACKAGE)/inc/fastcgi
797-
rm -r $(FBPACKAGE)/inc/ffi.bi
798-
rm -r $(FBPACKAGE)/inc/flite
799-
rm -r $(FBPACKAGE)/inc/fmod.bi
800-
rm -r $(FBPACKAGE)/inc/fontconfig
801-
rm -r $(FBPACKAGE)/inc/FreeImage.bi
802-
rm -r $(FBPACKAGE)/inc/freetype2
803-
rm -r $(FBPACKAGE)/inc/gdk*
804-
rm -r $(FBPACKAGE)/inc/gio
805-
rm -r $(FBPACKAGE)/inc/GL
806-
rm -r $(FBPACKAGE)/inc/glade
807-
rm -r $(FBPACKAGE)/inc/glib*
808-
rm -r $(FBPACKAGE)/inc/gmodule.bi
809-
rm -r $(FBPACKAGE)/inc/goocanvas.bi
810-
rm -r $(FBPACKAGE)/inc/gtk*
811-
rm -r $(FBPACKAGE)/inc/im
812-
rm -r $(FBPACKAGE)/inc/IUP*
813-
rm -r $(FBPACKAGE)/inc/japi*
814-
rm -r $(FBPACKAGE)/inc/jni.bi
815-
rm -r $(FBPACKAGE)/inc/json*
816-
rm -r $(FBPACKAGE)/inc/libart_lgpl
817-
rm -r $(FBPACKAGE)/inc/MediaInfo*
818-
rm -r $(FBPACKAGE)/inc/modplug.bi
819-
rm -r $(FBPACKAGE)/inc/mpg123.bi
820-
rm -r $(FBPACKAGE)/inc/mysql
821-
rm -r $(FBPACKAGE)/inc/Newton.bi
822-
rm -r $(FBPACKAGE)/inc/ode
823-
rm -r $(FBPACKAGE)/inc/ogg
824-
rm -r $(FBPACKAGE)/inc/pango
825-
rm -r $(FBPACKAGE)/inc/pdflib.bi
826-
rm -r $(FBPACKAGE)/inc/portaudio.bi
827-
rm -r $(FBPACKAGE)/inc/postgresql
828-
rm -r $(FBPACKAGE)/inc/SDL
829-
rm -r $(FBPACKAGE)/inc/SDL2
830-
rm -r $(FBPACKAGE)/inc/sndfile.bi
831-
rm -r $(FBPACKAGE)/inc/spidermonkey
832-
rm -r $(FBPACKAGE)/inc/uuid.bi
833-
rm -r $(FBPACKAGE)/inc/vlc
834-
rm -r $(FBPACKAGE)/inc/vorbis
835-
rm -r $(FBPACKAGE)/inc/win
836-
rm -r $(FBPACKAGE)/inc/windows.bi
837-
rm -r $(FBPACKAGE)/inc/wx-c
838-
rm -r $(FBPACKAGE)/inc/X11
839-
rm -r $(FBPACKAGE)/inc/xmp.bi
840-
rm -r $(FBPACKAGE)/inc/zmq
770+
rm -r $(packinc)AL
771+
rm -r $(packinc)allegro5
772+
rm -r $(packinc)atk
773+
rm -r $(packinc)bass.bi
774+
rm -r $(packinc)bassmod.bi
775+
rm -r $(packinc)cairo
776+
rm -r $(packinc)cd
777+
rm -r $(packinc)chipmunk
778+
rm -r $(packinc)crt/arpa
779+
rm -r $(packinc)crt/bits
780+
rm -r $(packinc)crt/linux
781+
rm -r $(packinc)crt/netdb.bi
782+
rm -r $(packinc)crt/netinet/in.bi
783+
rm -r $(packinc)crt/netinet/linux/in.bi
784+
rm -r $(packinc)crt/sys/linux
785+
rm -r $(packinc)crt/sys/socket.bi
786+
rm -r $(packinc)crt/sys/win32
787+
rm -r $(packinc)crt/win32
788+
rm -r $(packinc)curses/ncurses.bi
789+
rm -r $(packinc)disphelper
790+
rm -r $(packinc)fastcgi
791+
rm -r $(packinc)ffi.bi
792+
rm -r $(packinc)flite
793+
rm -r $(packinc)fmod.bi
794+
rm -r $(packinc)fontconfig
795+
rm -r $(packinc)FreeImage.bi
796+
rm -r $(packinc)freetype2
797+
rm -r $(packinc)gdk*
798+
rm -r $(packinc)gio
799+
rm -r $(packinc)GL
800+
rm -r $(packinc)glade
801+
rm -r $(packinc)glib*
802+
rm -r $(packinc)gmodule.bi
803+
rm -r $(packinc)goocanvas.bi
804+
rm -r $(packinc)gtk*
805+
rm -r $(packinc)im
806+
rm -r $(packinc)IUP*
807+
rm -r $(packinc)japi*
808+
rm -r $(packinc)jni.bi
809+
rm -r $(packinc)json*
810+
rm -r $(packinc)libart_lgpl
811+
rm -r $(packinc)MediaInfo*
812+
rm -r $(packinc)modplug.bi
813+
rm -r $(packinc)mpg123.bi
814+
rm -r $(packinc)mysql
815+
rm -r $(packinc)Newton.bi
816+
rm -r $(packinc)ode
817+
rm -r $(packinc)ogg
818+
rm -r $(packinc)pango
819+
rm -r $(packinc)pdflib.bi
820+
rm -r $(packinc)portaudio.bi
821+
rm -r $(packinc)postgresql
822+
rm -r $(packinc)SDL
823+
rm -r $(packinc)SDL2
824+
rm -r $(packinc)sndfile.bi
825+
rm -r $(packinc)spidermonkey
826+
rm -r $(packinc)uuid.bi
827+
rm -r $(packinc)vlc
828+
rm -r $(packinc)vorbis
829+
rm -r $(packinc)win
830+
rm -r $(packinc)windows.bi
831+
rm -r $(packinc)wx-c
832+
rm -r $(packinc)X11
833+
rm -r $(packinc)xmp.bi
834+
rm -r $(packinc)zmq
841835
endif
836+
842837
ifeq ($(TARGET_ARCH),x86_64)
843838
# Exclude headers which don't support 64bit yet
844-
rm -r $(FBPACKAGE)/inc/AL
845-
rm -r $(FBPACKAGE)/inc/aspell.bi
846-
rm -r $(FBPACKAGE)/inc/bass.bi
847-
rm -r $(FBPACKAGE)/inc/bassmod.bi
848-
rm -r $(FBPACKAGE)/inc/bfd
849-
rm -r $(FBPACKAGE)/inc/bfd.bi
850-
rm -r $(FBPACKAGE)/inc/big_int
851-
rm -r $(FBPACKAGE)/inc/bzlib.bi
852-
rm -r $(FBPACKAGE)/inc/caca0.bi
853-
rm -r $(FBPACKAGE)/inc/caca.bi
854-
rm -r $(FBPACKAGE)/inc/cd
855-
rm -r $(FBPACKAGE)/inc/cgi-util.bi
856-
rm -r $(FBPACKAGE)/inc/chipmunk
857-
rm -r $(FBPACKAGE)/inc/cryptlib.bi
858-
rm -r $(FBPACKAGE)/inc/dislin.bi
859-
rm -r $(FBPACKAGE)/inc/disphelper
860-
rm -r $(FBPACKAGE)/inc/dos
861-
rm -r $(FBPACKAGE)/inc/expat.bi
862-
rm -r $(FBPACKAGE)/inc/flite
863-
rm -r $(FBPACKAGE)/inc/FreeImage.bi
864-
rm -r $(FBPACKAGE)/inc/gd.bi
865-
rm -r $(FBPACKAGE)/inc/gdbm.bi
866-
rm -r $(FBPACKAGE)/inc/gdsl
867-
rm -r $(FBPACKAGE)/inc/gettext-po.bi
868-
rm -r $(FBPACKAGE)/inc/gif_lib.bi
869-
rm -r $(FBPACKAGE)/inc/glade
870-
rm -r $(FBPACKAGE)/inc/gmp.bi
871-
rm -r $(FBPACKAGE)/inc/goocanvas.bi
872-
rm -r $(FBPACKAGE)/inc/grx
873-
rm -r $(FBPACKAGE)/inc/gsl
874-
rm -r $(FBPACKAGE)/inc/IL
875-
rm -r $(FBPACKAGE)/inc/im
876-
rm -r $(FBPACKAGE)/inc/japi.bi
877-
rm -r $(FBPACKAGE)/inc/jni.bi
878-
rm -r $(FBPACKAGE)/inc/jpeglib.bi
879-
rm -r $(FBPACKAGE)/inc/jpgalleg.bi
880-
rm -r $(FBPACKAGE)/inc/json-c
881-
rm -r $(FBPACKAGE)/inc/libart_lgpl
882-
rm -r $(FBPACKAGE)/inc/libintl.bi
883-
rm -r $(FBPACKAGE)/inc/libxml
884-
rm -r $(FBPACKAGE)/inc/libxslt
885-
rm -r $(FBPACKAGE)/inc/lzma.bi
886-
rm -r $(FBPACKAGE)/inc/lzo
887-
rm -r $(FBPACKAGE)/inc/MediaInfo.bi
888-
rm -r $(FBPACKAGE)/inc/modplug.bi
889-
rm -r $(FBPACKAGE)/inc/mpg123.bi
890-
rm -r $(FBPACKAGE)/inc/mxml.bi
891-
rm -r $(FBPACKAGE)/inc/mysql
892-
rm -r $(FBPACKAGE)/inc/Newton.bi
893-
rm -r $(FBPACKAGE)/inc/ode
894-
rm -r $(FBPACKAGE)/inc/ogg
895-
rm -r $(FBPACKAGE)/inc/pcre16.bi
896-
rm -r $(FBPACKAGE)/inc/pcre.bi
897-
rm -r $(FBPACKAGE)/inc/pcreposix.bi
898-
rm -r $(FBPACKAGE)/inc/pdflib.bi
899-
rm -r $(FBPACKAGE)/inc/portaudio.bi
900-
rm -r $(FBPACKAGE)/inc/postgresql
901-
rm -r $(FBPACKAGE)/inc/quicklz.bi
902-
rm -r $(FBPACKAGE)/inc/sndfile.bi
903-
rm -r $(FBPACKAGE)/inc/spidermonkey
904-
rm -r $(FBPACKAGE)/inc/sqlite2.bi
905-
rm -r $(FBPACKAGE)/inc/sqlite3.bi
906-
rm -r $(FBPACKAGE)/inc/sqlite3ext.bi
907-
rm -r $(FBPACKAGE)/inc/tinyptc.bi
908-
rm -r $(FBPACKAGE)/inc/uuid.bi
909-
rm -r $(FBPACKAGE)/inc/vlc
910-
rm -r $(FBPACKAGE)/inc/vorbis
911-
rm -r $(FBPACKAGE)/inc/win/ddk
912-
rm -r $(FBPACKAGE)/inc/win/rc
913-
rm -r $(FBPACKAGE)/inc/wx-c
914-
rm -r $(FBPACKAGE)/inc/xmp.bi
915-
rm -r $(FBPACKAGE)/inc/zmq
916-
endif
917-
ifndef ENABLE_STANDALONE
918-
mkdir -p $(FBPACKAGE)/include
919-
ifeq ($(TARGET_OS),dos)
920-
mv $(FBPACKAGE)/inc $(FBPACKAGE)/include/freebas
921-
else
922-
mv $(FBPACKAGE)/inc $(FBPACKAGE)/include/freebasic
923-
endif
839+
rm -r $(packinc)AL
840+
rm -r $(packinc)aspell.bi
841+
rm -r $(packinc)bass.bi
842+
rm -r $(packinc)bassmod.bi
843+
rm -r $(packinc)bfd
844+
rm -r $(packinc)bfd.bi
845+
rm -r $(packinc)big_int
846+
rm -r $(packinc)bzlib.bi
847+
rm -r $(packinc)caca0.bi
848+
rm -r $(packinc)caca.bi
849+
rm -r $(packinc)cd
850+
rm -r $(packinc)cgi-util.bi
851+
rm -r $(packinc)chipmunk
852+
rm -r $(packinc)cryptlib.bi
853+
rm -r $(packinc)dislin.bi
854+
rm -r $(packinc)disphelper
855+
rm -r $(packinc)dos
856+
rm -r $(packinc)expat.bi
857+
rm -r $(packinc)flite
858+
rm -r $(packinc)FreeImage.bi
859+
rm -r $(packinc)gd.bi
860+
rm -r $(packinc)gdbm.bi
861+
rm -r $(packinc)gdsl
862+
rm -r $(packinc)gettext-po.bi
863+
rm -r $(packinc)gif_lib.bi
864+
rm -r $(packinc)glade
865+
rm -r $(packinc)gmp.bi
866+
rm -r $(packinc)goocanvas.bi
867+
rm -r $(packinc)grx
868+
rm -r $(packinc)gsl
869+
rm -r $(packinc)IL
870+
rm -r $(packinc)im
871+
rm -r $(packinc)japi.bi
872+
rm -r $(packinc)jni.bi
873+
rm -r $(packinc)jpeglib.bi
874+
rm -r $(packinc)jpgalleg.bi
875+
rm -r $(packinc)json-c
876+
rm -r $(packinc)libart_lgpl
877+
rm -r $(packinc)libintl.bi
878+
rm -r $(packinc)libxml
879+
rm -r $(packinc)libxslt
880+
rm -r $(packinc)lzma.bi
881+
rm -r $(packinc)lzo
882+
rm -r $(packinc)MediaInfo.bi
883+
rm -r $(packinc)modplug.bi
884+
rm -r $(packinc)mpg123.bi
885+
rm -r $(packinc)mxml.bi
886+
rm -r $(packinc)mysql
887+
rm -r $(packinc)Newton.bi
888+
rm -r $(packinc)ode
889+
rm -r $(packinc)ogg
890+
rm -r $(packinc)pcre16.bi
891+
rm -r $(packinc)pcre.bi
892+
rm -r $(packinc)pcreposix.bi
893+
rm -r $(packinc)pdflib.bi
894+
rm -r $(packinc)portaudio.bi
895+
rm -r $(packinc)postgresql
896+
rm -r $(packinc)quicklz.bi
897+
rm -r $(packinc)sndfile.bi
898+
rm -r $(packinc)spidermonkey
899+
rm -r $(packinc)sqlite2.bi
900+
rm -r $(packinc)sqlite3.bi
901+
rm -r $(packinc)sqlite3ext.bi
902+
rm -r $(packinc)tinyptc.bi
903+
rm -r $(packinc)uuid.bi
904+
rm -r $(packinc)vlc
905+
rm -r $(packinc)vorbis
906+
rm -r $(packinc)win/ddk
907+
rm -r $(packinc)win/rc
908+
rm -r $(packinc)wx-c
909+
rm -r $(packinc)xmp.bi
910+
rm -r $(packinc)zmq
924911
endif
925912

926913
ifndef DISABLE_DOCS

0 commit comments

Comments
 (0)