From owner-freebsd-questions@freebsd.org Thu Mar 22 13:55:47 2018 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 270ABF69751 for ; Thu, 22 Mar 2018 13:55:47 +0000 (UTC) (envelope-from g8kbvdave@googlemail.com) Received: from mail-wm0-x230.google.com (mail-wm0-x230.google.com [IPv6:2a00:1450:400c:c09::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9922275A08 for ; Thu, 22 Mar 2018 13:55:46 +0000 (UTC) (envelope-from g8kbvdave@googlemail.com) Received: by mail-wm0-x230.google.com with SMTP id l16so16337433wmh.3 for ; Thu, 22 Mar 2018 06:55:46 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=lxWkekKUxGjR22It5PChWXtHVpPXuAleHQdjxwq7ySo=; b=QrrNJhbDeCoLzn/qfwO2RWTx0nNUOPxNR8plMnNg/4pzIQadnoAwdn3LY0xx7tZaSN ApVrG58a1X5Q4vBcaXR0Vs0Sx6qZTzVOzPnz5hQ7T8ecPvpp+NdXbbeqXMjvO5oVgJTb gVkKDyMaFBOTAvyImoE+UjQLcMUJMU5Bb77paMft9Nz/u/FgTDQhQ0WyQZP4jTZOErBc zodoPElwi4t41Wc1viLjh26f+nn/vjgbPZQYF3qKLPlZI/COU6S4R9vn/DQOaRgmraX5 JVra3My9AdZrCQOdEcYbMfjNdJniLV8u1XfCKVPn7J0stmEXZ//cnf3axxDqb2C8xgVe lMVQ== X-Gm-Message-State: AElRT7G0xQlndCBkt2qlbxP0pgpNyPHcpjGoJY8Gg7jhH5VQMBz+OWEg SfteJ3NLubYtMIdHK8e3vTqDxJ7F X-Google-Smtp-Source: AG47ELvAY0prDt6RJlQCYd7+fN4ehv8yCeoOy1uM8r+1aY4JAHttXvIByyT6Sx/VQGb0XIEX1p87mQ== X-Received: by 10.28.183.68 with SMTP id h65mr3574154wmf.35.1521726945343; Thu, 22 Mar 2018 06:55:45 -0700 (PDT) Received: from [192.168.2.55] ([217.41.35.220]) by smtp.gmail.com with ESMTPSA id i44sm5950688wri.23.2018.03.22.06.55.44 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 22 Mar 2018 06:55:44 -0700 (PDT) Subject: Re: "Portable" conditionalization of Makefiles To: freebsd-questions@freebsd.org References: From: Dave B Message-ID: Date: Thu, 22 Mar 2018 13:55:43 +0000 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-GB Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit X-Content-Filtered-By: Mailman/MimeDel 2.1.25 X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Mar 2018 13:55:47 -0000 On 22/03/18 12:00, freebsd-questions-request@freebsd.org wrote: >> There's a chance that I may distribute this stuff someday.  When and >> if I do, I'd like to be able to tell people to "just run make" in the >> top-level directory, regardless of whether they are on Linux or *BSD. >> (I -could- just tell people to use gmake if they are on *BSD, but I'd >> rather not.) >> > > Why not concatenate all the C code (including the library) into a > single large file and let people just compile it on whatever system > they have? Make is for developers, so that they can avoid compiling > everything when they change a small routine. But your users are not > developers, and don't recompile every day, so they don't benefit from > make, it only introduces an incompatibility. > > daniel feenberg As a "User"...   I find:- ./configure make (and optionally) sudo make install (On various flavors of Linux at least) Works well, and does make things largely cross platform in the Posix world, where configure and make between them figure out what can/cant be used and conditionally compile accordingly. The LAST thing you want users to be doing, is compiling another version of a library that might already exist.  (Remember DLL Hell under Windows?) Having to sift through random source code and figure out manually how to turn it into a usable application (or ...) is a massive step backwards.  Unless you want/need to for some specific reason, and I'm not going to stop you from that, but for the rest of us.... It's that flexibility that has contributed to the various Linux's outstripping the BSD's as a "user" platform in my opinion. Not that that counts for much these days.  (with the exception of Apple products, but the amount of extra development time and money they invested, well.) BSD is good, and has some very neat features, but for the masses, it's way behind even the creakiest Linux distro in user friendliness, in regards to building from source. Tin had and fire extinguisher at the ready. Regards. Dave B. Part time FreeBSD user since 5.4 I think. (Was introduced to it for GPS based timekeeping with NTPD etc.) Dos/Windows for decades (and still at work sadly.) For my own personal needs, I'm now 99+% a Linux user at the desktop, but for special server needs, FreeBSD does take some beating, and I can't fault the reliability.  My last FreeBSD box ran for over 2 years non stop without issue, until a fan failed and the PSU cooked. >><< -- Created on and sent from a Unix like PC running and using free and open source software: