From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id EEC984AA84 for ; Tue, 20 May 2025 19:10:09 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 504E568DAFB; Tue, 20 May 2025 22:10:04 +0300 (EEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12olkn2023.outbound.protection.outlook.com [40.92.23.23]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id AF3AB68BE4C for ; Tue, 20 May 2025 22:09:57 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xt5e5eXs/kHGfLXFxzpzeH4w4EuTWVFjYJ42vEWOIw+5z3xQpOxvUP/08L2dgXkkJh1WlSV/wWl6UYskmfz7cu7QOdSvMBANvxznraPIUgQQZi+XkHIB7BS3+BrU2zV3sz6pBWylUrh9s/TqO0W4dz/Ts6K3T+uwPs/0Mt3hUqoW7D66VK/L/lCHP/CZxubz425qzSrvRqnEYPZ8DHmiYl3o0S32V8xx0Hw/It0gZGy8YOJKh8Rd96VTAGd7grzlvp/j07V1GcW4sn0iJwAPEfmdY23skYaIG3bqjigpDxqNkthrsdHBaaNefoh4AZi7Gt+mjJOKSJ4TNVZZTNCU8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=3Q0OhLmWKcdBKIrvWfnvNrjuI9LbYkNNXnHGoSSGl/k=; b=sO+haMhmeMyRr5V+Bo0Bye6uCxwTEwOs9wGAgPbyRbHdZcvFTZJLKwSTMps99JOI4QBMBXfAjmdLHdIsF5XD/5UfiDUeoHEG19CVB1kU2l8qr88+5SFohW8XG9IKXaGmvr76l6hTqkiGuGwfl/RTbmnSgaqe1WA9kifQHLr72Ogxz7/4IOmK1eW+p5CmdPp4vj1N6K9jOaSxfjY4FcWNH2jkBMoPh5ZX6SCFTNsEleVltxGkLxwtyf5reuXgwZIFcUILs5lEpGcFbvnrzcYnbsO64k2ubSfkU2UUZYTaXIDtueosnzMGXPVCjTBkkEZjnEyVZ0l+2zY/P+7z+nUwAw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3Q0OhLmWKcdBKIrvWfnvNrjuI9LbYkNNXnHGoSSGl/k=; b=GMUWwWnoViHEg1loyT0x6QNcRQcO1ke2aVk1zA4JGi82v3BsiwFMU+r7T82WKWeSj4hul5AUJveFoiQllYA6s9m1ZMzkOzvZrJK1jrQAzVqPv/7mG8oGdn/ZueV1gJT2XRhf2f/7lePRgdcbN1J+FAnooWQM4JPEtsHCaplLOPQHiRcA4cpp6KTNaxGSu4e63WSlDg/ZZmh9yS/381/gNhaGlbXKgOOmCmHjj9SnDF8yB1UtSUWF9GhDOaLoWrJ0FsYFW93jXn/sKzSAL+7lXCWi0Ng0+eA+zhfw5+Fctl5P5sFJ2xJAhlk/uH/5gDJM5nyLYGqZ/buarEgBkgo0xA== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by BL4P223MB1386.NAMP223.PROD.OUTLOOK.COM (2603:10b6:208:5a9::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8746.31; Tue, 20 May 2025 19:09:53 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7%4]) with mapi id 15.20.8769.019; Tue, 20 May 2025 19:09:53 +0000 From: "softworkz ." To: softworkz , "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH v2] ffbuild/commonmak: Fix rebuild check with implicit rule chains Thread-Index: AQHbx75f5dSnOKwWWU6IuO3vqGTFQbPb5F6w Date: Tue, 20 May 2025 19:09:53 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM8P223MB0365:EE_|BL4P223MB1386:EE_ x-ms-office365-filtering-correlation-id: 58fcfe39-167e-48a2-8509-08dd97d1e710 x-ms-exchange-slblob-mailprops: Om8TgR6f4EDb6Nw8821nJiyawZ3Rt9ILeyD1bsgCtarpKnzCaQU/DapKBRplgod8y8Z7HLnYx1PcRQJmXgBIMlyTIKlkfuP78GOK67acL4WbGwN+fTG6Sq+BvhLbbiCalFhnHBh0nLPW25ZIqYmVuPgGrPrw9afMYXodtEAy3LTC8SJZjF4otnGBJbXaeaZh7vhiOOU4EYdDOooVPDhzRzJ8Ds4W36BhN76pgb+x9FloHhqXUJZJf3Clbm1hHrxypZio0jeBOrRkjTIRrcLj4ch4VfVpUuBaqYZL+LnS2u2P3kJxfYgxIvIYR16MWsnmCc+hOA9sEjUo/mnsIR409Ji+2rh3dzOdKgUBC+5BmVNU+nWBOixsOJ234xFxaCAXw4mYLtiFbS2uiasPF/XTTtYQTQxQlyfL8dUr82SxtvTAame6otzP9qRbSqBZC/iNHas2XPS1xNV1zQqSlLzorX6co5Xfw9xHzDS0LfELRLcAKV2gTx3BMlGZI6TK9UKnSyJ6H896RrSJ8ejxrjtlEiZUxJ9VgXquYkQaUx+T6nfaYn4eBEeA3EOM/y8mAvkgP3SW/4Dwgqzr7x569brLplH1mHM1kVsi4yTY3JFJDba5BKyVVfrBotZtkhwE49yfXofDo9zwUBefoBHhclh/fn0t/ggiVvBYWEBeBCxkfqPhlsYFUNh2+IoHXiKMyx7+bls8YGPbibtFDTe+HhTgX/t4hk7pEgQTQ7oteFqbkFIyXDC1ALbwOzvQqP+T/KPt5Z2gMakqEaSU3dLiNcGHPO61HVO1itvsfjmQsMKCIYyrfaiiP0oFdhUM9IaQ8rkC2Hexxln5yFXZPVn5Adk6EfApf9G+vLjZ x-microsoft-antispam: BCL:0; ARA:14566002|8060799009|8062599006|7092599006|19110799006|15080799009|461199028|440099028|4302099013|3412199025|34005399003|10035399007|102099032|56899033|1602099012; x-microsoft-antispam-message-info: =?utf-8?B?NUREeTRPZUxZV012S2ZKcVVaUUpJa3hFYXpjVWoxQXk1Q0VXaHRCSVVnaVJt?= =?utf-8?B?MEVLblRrVWxuQnExK3RDdmJ0UklBZ3k2aFgxZVRwTm1pWG1jNWNudUVtMkF4?= =?utf-8?B?ZjltTFAvK3ZqMmNlL1pnMVNsL09Ra0JSVC9HU2ZSVUd6cTg3RlY0ZGxxa2hk?= =?utf-8?B?K2ZpTjJJU2pjN1owODk3c1lIV29DdFNicVhhTHVTZ1k5dkFTWnhNTGtKL3Vo?= =?utf-8?B?Sm1OK2xmTWJXcHRYcDJoYVN6MTA3RWNnRXFLdE5lMCtMNHdjMzBQaUgrMDJj?= =?utf-8?B?SjNLQklPNWlOWVJwd0p0Q01pRDRIWUc1MUNVQlRlMGJ4dHFBbFFGUnpjYi9G?= =?utf-8?B?ZjM0SUVYTWtmS1k0VW42R3BjK1hDYXAxV3M1OXNaZnNFSGw4NmRxOTViTldH?= =?utf-8?B?Ky9PU3lyc0d3Z1AvdlJ2OU1kVXlPNW5ISHdmRUNkMnVqcjVYbXlEVFRiSlBh?= =?utf-8?B?N0tIKzJESXBzb1NDNU16cmtWVjFybWV2ZDZaSWVQQzV2M3RzaEhPZFl5L09S?= =?utf-8?B?ZElKa3puVTNmVGJuQ1lYV2UxdGVUNDBoelJUYzVwMnlsaFI4WnlTRU0rTVBt?= =?utf-8?B?SDhZMDRnOUdjWG1rT0RnVEs5TTlLc3JqbUhDMTREaXMwZkhndzR0bjErZEhL?= =?utf-8?B?UnhXczRMUWM5WHU0MFZYS3FmbnRPTWVaM0xLd3lMR1JNKzUrbi9GYXhObGtK?= =?utf-8?B?NkxxdVFCdndOcS8yakV4Y3BhUldPM0RRSXJ3NlpKb25DbmlZSVRYWWY5bWha?= =?utf-8?B?a1R1dkY4dDlYN0tITk9ydnlENWpaSkJKcHFuTGRLQ1h3c3lHc2o5ZmdHVm9N?= =?utf-8?B?VnIyMFA0SEVCeXExOS9FaUpBRmk4cVJlME52RTB3NlFMTW5TeURNWDRuRXNY?= =?utf-8?B?c0lyb2h3a1hvWjFIZU14T2dRN1N6dmRFZ1NqVk1tUzNLVzQrTk0vbG9ncEZQ?= =?utf-8?B?cVFDdlVNTmJPMU4vanFjNHFPS1pZcDgxcHdZQng5dnV2bGxORGJ1UU5tM2tS?= =?utf-8?B?MEhhVVZSR1pWWC9nT0xPdkhwMmtoakh3RHhaT2J2Rlg5VDhoSGdxR09MRUx4?= =?utf-8?B?cG5RWGFHSkZjM2I2QXNaYlZYVGxZQUZzZ2ttaUxHRVR2Z3JZSFcvTnFKRXpk?= =?utf-8?B?b0w1aU5oWlByV0hnbTIrZGZ3SElOcUFUVVV1STJremZ5QmZPY29Uc1orYnVz?= =?utf-8?B?cTZ1L3RYNE1HMi9CcGZGMGVqVUE3R1hNM1B1elcxaU5jN3RDNnZta1ZFc01m?= =?utf-8?B?cGZzdzd6cGswdFZaQWhjWGM3U3lXK1ZjbzRDVGhiL3hnU2dqV3ZmQ2U5eStC?= =?utf-8?B?UG8zSnVuaGQvOEV5LzYxRFVmMmM1Qmswb256aGtVUW9QNGt5RGhQTXBVU2Vq?= =?utf-8?B?c29YVE1ZRkRYSFlGd1VnQ1ZZS1Ftb1JnbTJwcTA1NUVRM3RQY0NOTVhnYVhi?= =?utf-8?B?d3NkVUptWjl4Mmx5TitVN3JwWEV1bUxoWUZVSUZKL0I0b0ZNZFEzR29TV3VV?= =?utf-8?B?ZHdJUXJSdTRBNzRxRFUzTFZjN1pNSjQvT2NwVW9OMEc3U1RmUGVvZ2dyVEN0?= =?utf-8?B?SENwMFpRWWpmSktXc1lXcjN1ZGxQQWlkVDFTNzlKSi9PSjdCajhPbC84ZGc1?= =?utf-8?B?dTFaQkRlYU5UQTRhTWpPQ1NIc1MzUjNjbjdaVW5YYjFhYjRudlNjSDh3b1Zy?= =?utf-8?Q?AAE851eIuyrB6OYmXLuG?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SDJCUE9uMDBKZnE1RS9JaXhJRWZzOUdwWDlKMm1wZkUxdzY0TlkzcGtONDVq?= =?utf-8?B?bm1DOXY2ZUtJcFdsczM2TjFRRUxJdG5yWVNPOE1ybWRPa1lNQVZpVmtKZi9Y?= =?utf-8?B?Y0xGUnE0VkFJV29HMUFEOE1YY2lsVWR3eTR0K05IZlFLK3dpdktyNDUvN1NG?= =?utf-8?B?bXd5N1RFYU1pRXdUM3RpUWh1OGhFRUZQV0JzZjBscVpHUlJHdmxkVnBRWk9H?= =?utf-8?B?RkRlWmdTTlZTY3czclpDU0JxV1MvMXUraXYreVQ3bWFlaEU4bmFBSE9LODZG?= =?utf-8?B?bGtBR0M3ME11djVkNHZ0MitsL2drbDVWV0dvMmsycjBZejFUOThvdzVRK24y?= =?utf-8?B?NDZ0d25xdXl1b3RvUWUwOC90NE5oSUpFaVFaaG0rZnp3RXgzMy8rK2ZwemY0?= =?utf-8?B?K2JEa0I1U2Y5ZWhoUndhOFhIc21kUHZEVncyWVA1UHpXMC8wUE16c0FvTjkz?= =?utf-8?B?a3kvbVRhdm1UaXVDbnFVb1A0Y2QvYUF0bUM2bU4rNkdzWW14N20zd2Yxb3Ir?= =?utf-8?B?YjJNak5UelUwcHpkemxrNXhpK3ZVcjVUb0dZZjV4NFMrOUFYbGlKNGFwa1FQ?= =?utf-8?B?MU1rSGVTcmlLT2d0MGNlT1Ztb2h1V2Y5bENyTlRvL0V3K1VwNzJENEJhVTA2?= =?utf-8?B?UVB4cWVjMjhLWEZGL0xid2JVM2c5MkpDZ1RrWkJhUTFtRVBLbHIzNVZTMEZx?= =?utf-8?B?WkIxaXFGMmFxdU1zQ2h6WDl0TFRlUTFlOTV6d1NONTdVelAzcm9KeitnckJJ?= =?utf-8?B?YUFMWWpITzNvNVA1TFR0VWg4YjYvY2huRHNFNmxQVmJmbVo0SnpqY2sxVWVi?= =?utf-8?B?OVRNM24yWHl2Uk4weHF3bWYyUW92c2JPNStIbFZJajNhd0JCSWxvQ0FDZ1hj?= =?utf-8?B?R0Y1aHdMM1phK240ZkdDMUFISHBWdjNSZTBYNnhKYzNiWXFMdFJZb2tlSkNm?= =?utf-8?B?Q0QrYnlhQjQ1MFhRVzRNbUZsM1BiSFJwOUJWL2lsYitxVXZsWHAzaGJxeW9a?= =?utf-8?B?QS8raUxSeXg5ZzJsWE9iYWVXL3YwdVdHS2I4T2tQOGJZdWtYc0s2R3FDbkN0?= =?utf-8?B?TXVQTXZDSEdXS01ob3BkdjJaSW5HTTdKS09EbW9iZFBVQ004Zm9VcnZYdXgw?= =?utf-8?B?b2pVSFcyNERRdEpKR3lPeWF0YUVJVDI1ZmhtK2xaWnA4L1dYV1FyZ0ZNbUl5?= =?utf-8?B?aTA0QzVuVjdQaHFuVUoycTRjNGl4QkJKUVF6eFBnYnFuaWFMUnJMMGJkdThh?= =?utf-8?B?K3BLQWFUNnNNTnhVRUx3QVJhTTZJbDVpVjU0akNLTmpIUkhCYksrYjRjTXQ1?= =?utf-8?B?eExmVXVmRkhsNGFuMHZ2UENydXZIbXYvSXNIMHdxQUpaQzZHWWNtVTY4THpS?= =?utf-8?B?YlFYL2JzZDFKTjNGNTFLWFJqSVJRaHplRHVVR3JKaTNHV0ZMaW1xSUo4Z3VT?= =?utf-8?B?alNnRVBXeldrenkybVluNlp5Ui9semd2ZmxRZnF2dnlUZlRJVkdFTTFnQlJJ?= =?utf-8?B?eWI1dnpDRVd6QlpiQzhqaktEZFVITkVuY25uUzY0cHNGVEJsbm1TblhTYU5q?= =?utf-8?B?VWV2Z0xNbXc5bFIyY05lbHUwUmRYYWgrUkFadk9ZWTV1U2ZjSyttTmhZWFl0?= =?utf-8?Q?Il/Y23QX0jdReoC8mV+GvJ+Mhq2s+va8whnShiJQrC3Q=3D?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-8534-20-msonline-outlook-c7cf3.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 58fcfe39-167e-48a2-8509-08dd97d1e710 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 May 2025 19:09:53.6821 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL4P223MB1386 Subject: Re: [FFmpeg-devel] [PATCH v2] ffbuild/commonmak: Fix rebuild check with implicit rule chains X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: > -----Original Message----- > From: softworkz > Sent: Sonntag, 18. Mai 2025 08:31 > To: ffmpeg-devel@ffmpeg.org > Cc: softworkz ; softworkz > Subject: [PATCH v2] ffbuild/commonmak: Fix rebuild check with implicit rule > chains > > From: softworkz > > When there's a chain of implicit rules, make treats files generated > inside that chain as intermediate files. Those intermediate files are > removed after completion of make. When make is run again, it normally > determines the need for a rebuild by comparing the timestamps of the > original source file and the final output of the chain and if still > up-to-date, it doesn't rebuild, even when the intermediate files are > not present. That makes sense of course - why would it delete them > otherwise, it would end up in builds being never up-to-date. > But this original by-the-book logic appeared to be broken and has been > worked around by adding all intermediate files to the .SECONDARY > special target, which required extra logic and issues with make clean. > > What broke the up-to-date checking is the dependency file generation. > For the .c files generated by BIN2C the compile target created a .d > file which indicated that the .ptx.o file has a dependency on the > ptx.c file. And that dependency broke the normal make behavior with > intermediate files. > > This patch compiles the BIN2C generated .c files without generating > .d files. In turn the files do not longer need to be added to the > .SECONDARY target in common.mak. > > When interested in those files for debugging, a line can be added to > the corresponding Makefile like > > .SECONDARY: %.ptx.c %.ptx.gz > > Signed-off-by: softworkz > --- > ffbuild/commonmak: Fix rebuild check with implicit rule chains > > When there's a chain of implicit rules, make treats files generated > inside that chain as intermediate files. Those intermediate files are > removed after completion of make. When make is run again, it normally > determines the need for a rebuild by comparing the timestamps of the > original source file and the final output of the chain and if still > up-to-date, it doesn't rebuild, even when the intermediate files are not > present. That makes sense of course - why would it delete them > otherwise, it would end up in builds being never up-to-date. But this > original by-the-book logic appeared to be broken and has been worked > around by adding all intermediate files to the .SECONDARY special > target, which required extra logic and issues with make clean. > > What broke the up-to-date checking is the dependency file generation. > For the .c files generated by BIN2C the compile target created a .d file > which indicated that the .ptx.o file has a dependency on the ptx.c file. > And that dependency broke the normal make behavior with intermediate > files. > > This patch compiles the BIN2C generated .c files without generating .d > files. In turn the files do not longer need to be added to the > .SECONDARY target in common.mak. > > When interested in those files for debugging, a line can be added to the > corresponding Makefile like > > .SECONDARY: %.ptx.c %.ptx.gz > > > V2 > == > > * Fix MSVC build > (use the universal command pattern) > > Published-As: https://github.com/ffstaging/FFmpeg/releases/tag/pr-ffstaging- > 80%2Fsoftworkz%2Fsubmit_commonmak-v2 > Fetch-It-Via: git fetch https://github.com/ffstaging/FFmpeg pr-ffstaging- > 80/softworkz/submit_commonmak-v2 > Pull-Request: https://github.com/ffstaging/FFmpeg/pull/80 > > Range-diff vs v1: > > 1: e276f54ffc ! 1: f468ea2431 ffbuild/commonmak: Fix rebuild check with > implicit rule chains > @@ ffbuild/common.mak: else > endif > > +%.ptx.o: %.ptx.c > -+ $(CC) $(CCFLAGS) -x c -c -o $@ $< > ++ $(CC) $(CCFLAGS) $(CC_C) $(CC_O) $(patsubst > $(SRC_PATH)/%,$(SRC_LINK)/%,$<) > + > + > # 1) Preprocess CSS to a minified version > @@ ffbuild/common.mak: else # NO COMPRESSION > endif > > +%.html.o: %.html.c > -+ $(CC) $(CCFLAGS) -x c -c -o $@ $< > ++ $(CC) $(CCFLAGS) $(CC_C) $(CC_O) $(patsubst > $(SRC_PATH)/%,$(SRC_LINK)/%,$<) > + > +%.css.o: %.css.c > -+ $(CC) $(CCFLAGS) -x c -c -o $@ $< > ++ $(CC) $(CCFLAGS) $(CC_C) $(CC_O) $(patsubst > $(SRC_PATH)/%,$(SRC_LINK)/%,$<) > + > + > clean:: > > > ffbuild/common.mak | 15 ++++++++++++--- > 1 file changed, 12 insertions(+), 3 deletions(-) > > diff --git a/ffbuild/common.mak b/ffbuild/common.mak > index 0e1eb1f62b..d9462271d5 100644 > --- a/ffbuild/common.mak > +++ b/ffbuild/common.mak > @@ -139,6 +139,10 @@ else > $(BIN2C) $(patsubst $(SRC_PATH)/%,$(SRC_LINK)/%,$<) $@ $(subst > .,_,$(basename $(notdir $@))) > endif > > +%.ptx.o: %.ptx.c > + $(CC) $(CCFLAGS) $(CC_C) $(CC_O) $(patsubst > $(SRC_PATH)/%,$(SRC_LINK)/%,$<) > + > + > # 1) Preprocess CSS to a minified version > %.css.min: %.css > # Must start with a tab in the real Makefile > @@ -177,6 +181,13 @@ else # NO COMPRESSION > $(BIN2C) $< $@ $(subst .,_,$(basename $(notdir $@))) > endif > > +%.html.o: %.html.c > + $(CC) $(CCFLAGS) $(CC_C) $(CC_O) $(patsubst > $(SRC_PATH)/%,$(SRC_LINK)/%,$<) > + > +%.css.o: %.css.c > + $(CC) $(CCFLAGS) $(CC_C) $(CC_O) $(patsubst > $(SRC_PATH)/%,$(SRC_LINK)/%,$<) > + > + > clean:: > $(RM) $(BIN2CEXE) $(CLEANSUFFIXES:%=ffbuild/%) > > @@ -228,11 +239,9 @@ ALLHEADERS := $(subst $(SRC_DIR)/,$(SUBDIR),$(wildcard > $(SRC_DIR)/*.h $(SRC_DIR) > SKIPHEADERS += $(ARCH_HEADERS:%=$(ARCH)/%) $(SKIPHEADERS-) > SKIPHEADERS := $(SKIPHEADERS:%=$(SUBDIR)%) > HOBJS = $(filter-out $(SKIPHEADERS:.h=.h.o),$(ALLHEADERS:.h=.h.o)) > -PTXOBJS = $(filter %.ptx.o,$(OBJS)) > -RESOURCEOBJS = $(filter %.css.o %.html.o,$(OBJS)) > $(HOBJS): CCFLAGS += $(CFLAGS_HEADERS) > checkheaders: $(HOBJS) > -.SECONDARY: $(HOBJS:.o=.c) $(PTXOBJS:.o=.c) $(PTXOBJS:.o=.gz) > $(PTXOBJS:.o=) $(RESOURCEOBJS:.o=.c) $(RESOURCEOBJS:%.css.o=%.css.min) > $(RESOURCEOBJS:%.css.o=%.css.min.gz) $(RESOURCEOBJS:%.html.o=%.html.gz) > $(RESOURCEOBJS:.o=) > +.SECONDARY: $(HOBJS:.o=.c) > > alltools: $(TOOLS) > > > base-commit: eb6dc952cbd479bf43673af9ca0bc83f37f8f329 > -- I just realized that I forgot to mention the specific problem that this is addressing: Andreas and James had discovered that the up-to-date check doesn't work properly - in a way that when you run make after make again, it wants to rebuild the .o files from the BIN2C-generated .c files. This patch fixes this by making it work in the way it is intended by make. (https://www.gnu.org/software/make/manual/html_node/Chained-Rules.html) sw _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".