fix the Makefile and make targets

erg 2008-03-28 21:40:02 -05:00
parent 7a420925ac
commit cb3fdc5c7d
4 changed files with 44 additions and 90 deletions

View File

@ -45,8 +45,8 @@ DLL_OBJS = $(PLAF_DLL_OBJS) \
EXE_OBJS = $(PLAF_EXE_OBJS) EXE_OBJS = $(PLAF_EXE_OBJS)
default: build-support/wordsize default:
$(MAKE) `./build-support/target` $(MAKE) `./misc/factor.sh make-target`
help: help:
@echo "Run '$(MAKE)' with one of the following parameters:" @echo "Run '$(MAKE)' with one of the following parameters:"
@ -162,9 +162,6 @@ factor: $(DLL_OBJS) $(EXE_OBJS)
$(CC) $(LIBS) $(LIBPATH) -L. $(LINK_WITH_ENGINE) \ $(CC) $(LIBS) $(LIBPATH) -L. $(LINK_WITH_ENGINE) \
$(CFLAGS) -o $@$(EXE_SUFFIX)$(EXE_EXTENSION) $(EXE_OBJS) $(CFLAGS) -o $@$(EXE_SUFFIX)$(EXE_EXTENSION) $(EXE_OBJS)
build-support/wordsize: build-support/wordsize.c
gcc build-support/wordsize.c -o build-support/wordsize
clean: clean:
rm -f vm/*.o rm -f vm/*.o
rm -f factor*.dll libfactor*.* rm -f factor*.dll libfactor*.*

View File

@ -7,6 +7,7 @@ set +e
shopt -s nocaseglob shopt -s nocaseglob
#shopt -s nocasematch #shopt -s nocasematch
ECHO=echo
OS= OS=
ARCH= ARCH=
WORD= WORD=
@ -25,23 +26,23 @@ ensure_program_installed() {
installed=0; installed=0;
for i in $* ; for i in $* ;
do do
echo -n "Checking for $i..." $ECHO -n "Checking for $i..."
test_program_installed $i test_program_installed $i
if [[ $? -eq 0 ]]; then if [[ $? -eq 0 ]]; then
echo -n "not " echo -n "not "
else else
installed=$(( $installed + 1 )) installed=$(( $installed + 1 ))
fi fi
echo "found!" $ECHO "found!"
done done
if [[ $installed -eq 0 ]] ; then if [[ $installed -eq 0 ]] ; then
echo -n "Install " $ECHO -n "Install "
if [[ $# -eq 1 ]] ; then if [[ $# -eq 1 ]] ; then
echo -n $1 $ECHO -n $1
else else
echo -n "any of [ $* ]" $ECHO -n "any of [ $* ]"
fi fi
echo " and try again." $ECHO " and try again."
exit 1 exit 1
fi fi
} }
@ -49,22 +50,22 @@ ensure_program_installed() {
check_ret() { check_ret() {
RET=$? RET=$?
if [[ $RET -ne 0 ]] ; then if [[ $RET -ne 0 ]] ; then
echo $1 failed $ECHO $1 failed
exit 2 exit 2
fi fi
} }
check_gcc_version() { check_gcc_version() {
echo -n "Checking gcc version..." $ECHO -n "Checking gcc version..."
GCC_VERSION=`$CC --version` GCC_VERSION=`$CC --version`
check_ret gcc check_ret gcc
if [[ $GCC_VERSION == *3.3.* ]] ; then if [[ $GCC_VERSION == *3.3.* ]] ; then
echo "bad!" $ECHO "bad!"
echo "You have a known buggy version of gcc (3.3)" $ECHO "You have a known buggy version of gcc (3.3)"
echo "Install gcc 3.4 or higher and try again." $ECHO "Install gcc 3.4 or higher and try again."
exit 3 exit 3
fi fi
echo "ok." $ECHO "ok."
} }
set_downloader() { set_downloader() {
@ -125,20 +126,20 @@ check_installed_programs() {
check_library_exists() { check_library_exists() {
GCC_TEST=factor-library-test.c GCC_TEST=factor-library-test.c
GCC_OUT=factor-library-test.out GCC_OUT=factor-library-test.out
echo -n "Checking for library $1..." $ECHO -n "Checking for library $1..."
echo "int main(){return 0;}" > $GCC_TEST $ECHO "int main(){return 0;}" > $GCC_TEST
$CC $GCC_TEST -o $GCC_OUT -l $1 $CC $GCC_TEST -o $GCC_OUT -l $1
if [[ $? -ne 0 ]] ; then if [[ $? -ne 0 ]] ; then
echo "not found!" $ECHO "not found!"
echo "Warning: library $1 not found." $ECHO "Warning: library $1 not found."
echo "***Factor will compile NO_UI=1" $ECHO "***Factor will compile NO_UI=1"
NO_UI=1 NO_UI=1
fi fi
rm -f $GCC_TEST rm -f $GCC_TEST
check_ret rm check_ret rm
rm -f $GCC_OUT rm -f $GCC_OUT
check_ret rm check_ret rm
echo "found." $ECHO "found."
} }
check_X11_libraries() { check_X11_libraries() {
@ -156,14 +157,14 @@ check_libraries() {
check_factor_exists() { check_factor_exists() {
if [[ -d "factor" ]] ; then if [[ -d "factor" ]] ; then
echo "A directory called 'factor' already exists." $ECHO "A directory called 'factor' already exists."
echo "Rename or delete it and try again." $ECHO "Rename or delete it and try again."
exit 4 exit 4
fi fi
} }
find_os() { find_os() {
echo "Finding OS..." $ECHO "Finding OS..."
uname_s=`uname -s` uname_s=`uname -s`
check_ret uname check_ret uname
case $uname_s in case $uname_s in
@ -182,7 +183,7 @@ find_os() {
} }
find_architecture() { find_architecture() {
echo "Finding ARCH..." $ECHO "Finding ARCH..."
uname_m=`uname -m` uname_m=`uname -m`
check_ret uname check_ret uname
case $uname_m in case $uname_m in
@ -201,7 +202,7 @@ write_test_program() {
} }
find_word_size() { find_word_size() {
echo "Finding WORD..." $ECHO "Finding WORD..."
C_WORD=factor-word-size C_WORD=factor-word-size
write_test_program write_test_program
gcc -o $C_WORD $C_WORD.c gcc -o $C_WORD $C_WORD.c
@ -219,26 +220,26 @@ set_factor_binary() {
} }
echo_build_info() { echo_build_info() {
echo OS=$OS $ECHO OS=$OS
echo ARCH=$ARCH $ECHO ARCH=$ARCH
echo WORD=$WORD $ECHO WORD=$WORD
echo FACTOR_BINARY=$FACTOR_BINARY $ECHO FACTOR_BINARY=$FACTOR_BINARY
echo MAKE_TARGET=$MAKE_TARGET $ECHO MAKE_TARGET=$MAKE_TARGET
echo BOOT_IMAGE=$BOOT_IMAGE $ECHO BOOT_IMAGE=$BOOT_IMAGE
echo MAKE_IMAGE_TARGET=$MAKE_IMAGE_TARGET $ECHO MAKE_IMAGE_TARGET=$MAKE_IMAGE_TARGET
echo GIT_PROTOCOL=$GIT_PROTOCOL $ECHO GIT_PROTOCOL=$GIT_PROTOCOL
echo GIT_URL=$GIT_URL $ECHO GIT_URL=$GIT_URL
echo DOWNLOADER=$DOWNLOADER $ECHO DOWNLOADER=$DOWNLOADER
echo CC=$CC $ECHO CC=$CC
echo MAKE=$MAKE $ECHO MAKE=$MAKE
} }
set_build_info() { set_build_info() {
if ! [[ -n $OS && -n $ARCH && -n $WORD ]] ; then if ! [[ -n $OS && -n $ARCH && -n $WORD ]] ; then
echo "OS: $OS" $ECHO "OS: $OS"
echo "ARCH: $ARCH" $ECHO "ARCH: $ARCH"
echo "WORD: $WORD" $ECHO "WORD: $WORD"
echo "OS, ARCH, or WORD is empty. Please report this" $ECHO "OS, ARCH, or WORD is empty. Please report this"
exit 5 exit 5
fi fi
@ -452,5 +453,7 @@ case "$1" in
bootstrap) get_config_info; bootstrap ;; bootstrap) get_config_info; bootstrap ;;
dlls) get_config_info; maybe_download_dlls;; dlls) get_config_info; maybe_download_dlls;;
net-bootstrap) get_config_info; update_boot_images; bootstrap ;; net-bootstrap) get_config_info; update_boot_images; bootstrap ;;
#make-target) ECHO=`echo #`; find_build_info; echo $MAKE_TARGET ;;
make-target) ECHO=false; find_build_info; echo $MAKE_TARGET ;;
*) usage ;; *) usage ;;
esac esac

View File

@ -1,38 +0,0 @@
#!/usr/bin/env bash
uname_s=`uname -s`
case $uname_s in
CYGWIN_NT-5.2-WOW64) OS=winnt;;
*CYGWIN_NT*) OS=winnt;;
*CYGWIN*) OS=winnt;;
*darwin*) OS=macosx;;
*Darwin*) OS=macosx;;
*linux*) OS=linux;;
*Linux*) OS=linux;;
*NetBSD*) OS=netbsd;;
*FreeBSD*) OS=freebsd;;
*OpenBSD*) OS=openbsd;;
*DragonFly*) OS=dragonflybsd;;
esac
uname_m=`uname -m`
case $uname_m in
i386) ARCH=x86;;
i686) ARCH=x86;;
amd64) ARCH=x86;;
*86) ARCH=x86;;
*86_64) ARCH=x86;;
"Power Macintosh") ARCH=ppc;;
esac
WORD=`./build-support/wordsize`
MAKE_TARGET=$OS-$ARCH-$WORD
if [[ $OS == macosx && $ARCH == ppc ]] ; then
MAKE_TARGET=$OS-$ARCH
fi
if [[ $OS == linux && $ARCH == ppc ]] ; then
MAKE_TARGET=$OS-$ARCH
fi
echo $MAKE_TARGET

View File

@ -1,8 +0,0 @@
#include <stdio.h>
int main ()
{
printf("%d", 8*sizeof(void*));
return 0;
}