Hi,

On 10/25/07 18:54, Uwe Hermann wrote:
On Thu, Oct 25, 2007 at 04:44:28PM +0200, Philip Schulz wrote:

[...]

Unfortunately, I have no idea how to detect FreeBSD from a Makefile or a Python script. But maybe someone on this list knows and wants enhance the patches so they can be included in the LinuxBIOS tree.


[...]


Most of your patch is just make -> gmake, so it should be easy to use
$(MAKE) everywhere and set that to "gmake" on FreeBSD and "make"
everywhere else.


It seems that on FreeBSD, ${MAKE} is set to the name of the binary you invoke (gnumake is a hard-link to gmake in this example):

[EMAIL PROTECTED] ~]$ cat Makefile
all:
       echo ${MAKE}

[EMAIL PROTECTED] ~]$ make
echo make
make
[EMAIL PROTECTED] ~]$ gmake
echo gmake
gmake
[EMAIL PROTECTED] ~]$ gnumake
echo gnumake
gnumake

Anyways, attached is an updated version of the initial patch. It hopefully doesn't brake builds on Linux and makes LinuxBIOS (and ADLO) compile on FreeBSD. Also, this uses "domainname" instead of "dnsdomainname" on FreeBSD.

Signed-off-by: Philip Schulz <[EMAIL PROTECTED]>

I hope this is the correct way to post a patch.

Regards,

 Philip



Index: src/config/Config.lb
===================================================================
--- src/config/Config.lb        (revision 2944)
+++ src/config/Config.lb        (working copy)
@@ -5,7 +5,7 @@
 
 makedefine CPP:= $(CC) -x assembler-with-cpp -DASSEMBLY -E
 makedefine LIBGCC_FILE_NAME := $(shell $(CC) -print-libgcc-file-name)
-makedefine GCC_INC_DIR := $(shell $(CC) -print-search-dirs | sed -ne 
"s/install: \(.*\)/\1include/gp")
+makedefine GCC_INC_DIR := $(shell if [ `uname` = "FreeBSD" ] ; then echo 
"/usr/include" ; else $(CC) -print-search-dirs | sed -ne "s/install: 
\(.*\)/\1include/gp" ; fi )
 
 makedefine CPPFLAGS := -I$(TOP)/src/include -I$(TOP)/src/arch/$(ARCH)/include 
-I$(GCC_INC_DIR) $(CPUFLAGS)
 makedefine CFLAGS := $(CPU_OPT) $(CPPFLAGS) -Os -nostdinc -nostdlib 
-fno-builtin  -Wall
Index: src/config/Options.lb
===================================================================
--- src/config/Options.lb       (revision 2944)
+++ src/config/Options.lb       (working copy)
@@ -134,7 +134,7 @@
 end
 
 define LINUXBIOS_COMPILE_DOMAIN
-       default "$(shell dnsdomainname)"
+       default "$(shell if [ `uname` = \"FreeBSD\" ] ; then domainname ; else 
dnsdomainname ; fi )"
        export always
        format "\"%s\""
        comment "Build domain name"
Index: util/ADLO/Makefile
===================================================================
--- util/ADLO/Makefile  (revision 2944)
+++ util/ADLO/Makefile  (working copy)
@@ -40,7 +40,7 @@
 #-------------------------------------------------
 
 bios:
-       ( cd ${BOCHS_B} ; make )
+       ( cd ${BOCHS_B} ; ${MAKE} )
        sync
 
 #-------------------------------------------------
@@ -101,7 +101,7 @@
 
 clean:
        rm -rf *.o ${PAYLOAD}
-       (cd ${BOCHS_B} ; make clean ) 
+       (cd ${BOCHS_B} ; ${MAKE} clean )
 
 distclean: clean
        rm -rf ${BOCHS_C}
Index: util/newconfig/config.g
===================================================================
--- util/newconfig/config.g     (revision 2944)
+++ util/newconfig/config.g     (working copy)
@@ -2158,7 +2158,7 @@
        for i, o in romimages.items():
                file.write("%s/linuxbios.rom:\n" % o.getname())
                file.write("\tif (cd %s; \\\n" % o.getname())
-               file.write("\t\tmake linuxbios.rom)\\\n")
+               file.write("\t\t${MAKE} linuxbios.rom)\\\n")
                file.write("\tthen true; else exit 1; fi;\n\n")
        file.write("clean: ")
        for i in romimages.keys():
@@ -2166,7 +2166,7 @@
        file.write("\n\n")
        for i, o in romimages.items():
                file.write("%s-clean:\n" % o.getname())
-               file.write("\t(cd %s; make clean)\n\n" % o.getname())
+               file.write("\t(cd %s; ${MAKE} clean)\n\n" % o.getname())
 
        for i in buildroms:
                file.write("%s:" % i.name)
-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios

Reply via email to