Convert to CMake based project
authorPetr Štetiar <ynezz@true.cz>
Mon, 5 Jul 2021 08:48:38 +0000 (10:48 +0200)
committerPetr Štetiar <ynezz@true.cz>
Mon, 5 Jul 2021 08:48:38 +0000 (10:48 +0200)
So it can be built separately.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
CMakeLists.txt [new file with mode: 0644]
Makefile [deleted file]

diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644 (file)
index 0000000..0bcc448
--- /dev/null
@@ -0,0 +1,102 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 3.0)
+
+PROJECT(firmware-utils C)
+INCLUDE(GNUInstallDirs)
+INCLUDE(FindZLIB)
+INCLUDE(FindOpenSSL)
+
+IF(NOT ZLIB_FOUND)
+  MESSAGE(FATAL_ERROR "Unable to find zlib library.")
+ENDIF()
+
+IF(NOT OPENSSL_FOUND)
+  MESSAGE(FATAL_ERROR "Unable to find OpenSSL librry.")
+ENDIF()
+
+ADD_DEFINITIONS(-Wall -Wno-unused-parameter)
+
+MACRO(FW_UTIL util deps extra_cflags libs)
+  ADD_EXECUTABLE(${util} src/${util}.c ${deps})
+  IF(NOT ${ARGV2} STREQUAL "")
+    SET_TARGET_PROPERTIES(${util} PROPERTIES COMPILE_FLAGS ${extra_cflags})
+  ENDIF()
+  IF(NOT ${ARGV3} STREQUAL "")
+    TARGET_LINK_LIBRARIES(${util} ${libs})
+  ENDIF()
+ENDMACRO(FW_UTIL)
+
+FW_UTIL(add_header "" "" "")
+FW_UTIL(addpattern "" "" "")
+FW_UTIL(asustrx "" "" "")
+FW_UTIL(bcm4908asus "" "" "")
+FW_UTIL(bcm4908kernel "" "" "")
+FW_UTIL(buffalo-enc src/buffalo-lib.c "" "")
+FW_UTIL(buffalo-tag src/buffalo-lib.c "" "")
+FW_UTIL(buffalo-tftp src/buffalo-lib.c "" "")
+FW_UTIL(dgfirmware "" "" "")
+FW_UTIL(dgn3500sum "" "" "")
+FW_UTIL(dns313-header "" "" "")
+FW_UTIL(edimax_fw_header "" "" "")
+FW_UTIL(encode_crc "" "" "")
+FW_UTIL(fix-u-media-header src/cyg_crc32.c "" "")
+FW_UTIL(hcsmakeimage src/bcmalgo.c "" "")
+FW_UTIL(imagetag "src/imagetag_cmdline.c;src/cyg_crc32.c" "" "")
+FW_UTIL(jcgimage "" "" ${ZLIB_LIBRARIES})
+FW_UTIL(lxlfw "" "" "")
+FW_UTIL(lzma2eva "" "" ${ZLIB_LIBRARIES})
+FW_UTIL(makeamitbin "" "" "")
+FW_UTIL(mkbrncmdline "" "" "")
+FW_UTIL(mkbrnimg "" "" "")
+FW_UTIL(mkbuffaloimg "" "" "")
+FW_UTIL(mkcameofw "" "" "")
+FW_UTIL(mkcasfw "" "" "")
+FW_UTIL(mkchkimg "" "" "")
+FW_UTIL(mkcsysimg "" "" "")
+FW_UTIL(mkdapimg "" "" "")
+FW_UTIL(mkdapimg2 "" "" "")
+FW_UTIL(mkdhpimg src/buffalo-lib.c "" "")
+FW_UTIL(mkdlinkfw src/mkdlinkfw-lib.c --std=c99 ${ZLIB_LIBRARIES})
+FW_UTIL(mkdniimg "" "" "")
+FW_UTIL(mkedimaximg "" "" "")
+FW_UTIL(mkfwimage "" "-Wextra -D_FILE_OFFSET_BITS=64" ${ZLIB_LIBRARIES})
+FW_UTIL(mkfwimage2 "" "" ${ZLIB_LIBRARIES})
+FW_UTIL(mkheader_gemtek "" "" ${ZLIB_LIBRARIES})
+FW_UTIL(mkhilinkfw "" "" ${OPENSSL_CRYPTO_LIBRARY})
+FW_UTIL(mkmerakifw src/sha1.c "" "")
+FW_UTIL(mkmerakifw-old "" "" "")
+FW_UTIL(mkmylofw "" "" "")
+FW_UTIL(mkplanexfw src/sha1.c "" "")
+FW_UTIL(mkporayfw "" "" "")
+FW_UTIL(mkrasimage "" --std=gnu99 "")
+FW_UTIL(mkrtn56uimg "" "" ${ZLIB_LIBRARIES})
+FW_UTIL(mksenaofw src/md5.c --std=gnu99 "")
+FW_UTIL(mksercommfw "" "" "")
+FW_UTIL(mktitanimg "" "" "")
+FW_UTIL(mktplinkfw "src/mktplinkfw-lib.c;src/md5.c" -fgnu89-inline "")
+FW_UTIL(mktplinkfw2 "src/mktplinkfw-lib.c;src/md5.c" -fgnu89-inline "")
+FW_UTIL(mkwrggimg src/md5.c "" "")
+FW_UTIL(mkwrgimg src/md5.c "" "")
+FW_UTIL(mkzcfw src/cyg_crc32.c "" "")
+FW_UTIL(mkzynfw "" "" "")
+FW_UTIL(motorola-bin "" "" "")
+FW_UTIL(nand_ecc "" "" "")
+FW_UTIL(nec-enc "" --std=gnu99 "")
+FW_UTIL(osbridge-crc "" "" "")
+FW_UTIL(oseama src/md5.c "" "")
+FW_UTIL(otrx "" "" "")
+FW_UTIL(pc1crypt "" "" "")
+FW_UTIL(ptgen src/cyg_crc32.c "" "")
+FW_UTIL(seama src/md5.c "" "")
+FW_UTIL(sign_dlink_ru src/md5.c "" "")
+FW_UTIL(spw303v "" "" "")
+FW_UTIL(srec2bin "" "" "")
+FW_UTIL(tplink-safeloader src/md5.c --std=gnu99 "")
+FW_UTIL(trx "" "" "")
+FW_UTIL(trx2edips "" "" "")
+FW_UTIL(trx2usr "" "" "")
+FW_UTIL(uimage_padhdr "" "" ${ZLIB_LIBRARIES})
+FW_UTIL(wrt400n src/cyg_crc32.c "" "")
+FW_UTIL(xorimage "" "" "")
+FW_UTIL(zyimage "" "" "")
+FW_UTIL(zytrx "" "" "")
+FW_UTIL(zyxbcm "" "" "")
diff --git a/Makefile b/Makefile
deleted file mode 100644 (file)
index 72cd513..0000000
--- a/Makefile
+++ /dev/null
@@ -1,108 +0,0 @@
-#
-# Copyright (C) 2006-2020 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-include $(TOPDIR)/rules.mk
-
-PKG_NAME := firmware-utils
-PKG_RELEASE := 7
-
-include $(INCLUDE_DIR)/host-build.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-define cc
-       $(HOSTCC) \
-               $(HOST_CFLAGS) \
-               -Wno-unused-parameter \
-               -include endian.h $(HOST_LDFLAGS) \
-               -o $(HOST_BUILD_DIR)/bin/$(firstword $(1)) \
-               $(foreach src,$(1),src/$(src).c) \
-               $(2)
-endef
-
-define Host/Compile
-       mkdir -p $(HOST_BUILD_DIR)/bin
-       $(call cc,add_header,-Wall)
-       $(call cc,addpattern,-Wall)
-       $(call cc,asustrx,-Wall)
-       $(call cc,bcm4908asus,-Wall)
-       $(call cc,bcm4908kernel,-Wall)
-       $(call cc,buffalo-enc buffalo-lib,-Wall)
-       $(call cc,buffalo-tag buffalo-lib,-Wall)
-       $(call cc,buffalo-tftp buffalo-lib,-Wall)
-       $(call cc,dgfirmware,-Wall)
-       $(call cc,dgn3500sum,-Wall)
-       $(call cc,dns313-header,-Wall)
-       $(call cc,edimax_fw_header,-Wall)
-       $(call cc,encode_crc,-Wall)
-       $(call cc,fix-u-media-header cyg_crc32,-Wall)
-       $(call cc,hcsmakeimage bcmalgo,-Wall)
-       $(call cc,imagetag imagetag_cmdline cyg_crc32,-Wall)
-       $(call cc,jcgimage,-lz -Wall)
-       $(call cc,lxlfw,-Wall)
-       $(call cc,lzma2eva,-lz -Wall)
-       $(call cc,makeamitbin,-Wall)
-       $(call cc,mkbrncmdline,-Wall)
-       $(call cc,mkbrnimg,-Wall)
-       $(call cc,mkbuffaloimg,-Wall)
-       $(call cc,mkcameofw,-Wall)
-       $(call cc,mkcasfw,-Wall)
-       $(call cc,mkchkimg,-Wall)
-       $(call cc,mkcsysimg,-Wall)
-       $(call cc,mkdapimg,-Wall)
-       $(call cc,mkdapimg2,-Wall)
-       $(call cc,mkdhpimg buffalo-lib,-Wall)
-       $(call cc,mkdlinkfw mkdlinkfw-lib,-lz -Wall --std=c99)
-       $(call cc,mkdniimg,-Wall)
-       $(call cc,mkedimaximg,-Wall)
-       $(call cc,mkfwimage,-lz -Wall -Werror -Wextra -D_FILE_OFFSET_BITS=64)
-       $(call cc,mkfwimage2,-lz -Wall)
-       $(call cc,mkheader_gemtek,-lz -Wall)
-       $(call cc,mkhilinkfw,-lcrypto -Wall)
-       $(call cc,mkmerakifw sha1,-Wall)
-       $(call cc,mkmerakifw-old,-Wall)
-       $(call cc,mkmylofw,-Wall)
-       $(call cc,mkplanexfw sha1,-Wall)
-       $(call cc,mkporayfw,-Wall)
-       $(call cc,mkrasimage,--std=gnu99 -Wall)
-       $(call cc,mkrtn56uimg,-lz -Wall)
-       $(call cc,mksenaofw md5,-Wall --std=gnu99)
-       $(call cc,mksercommfw,-Wall)
-       $(call cc,mktitanimg,-Wall)
-       $(call cc,mktplinkfw mktplinkfw-lib md5,-Wall -fgnu89-inline)
-       $(call cc,mktplinkfw2 mktplinkfw-lib md5,-Wall -fgnu89-inline)
-       $(call cc,mkwrggimg md5,-Wall)
-       $(call cc,mkwrgimg md5,-Wall)
-       $(call cc,mkzcfw cyg_crc32,-Wall)
-       $(call cc,mkzynfw,-Wall)
-       $(call cc,motorola-bin,-Wall)
-       $(call cc,nand_ecc,-Wall)
-       $(call cc,nec-enc,-Wall --std=gnu99)
-       $(call cc,osbridge-crc,-Wall)
-       $(call cc,oseama md5,-Wall)
-       $(call cc,otrx,-Wall)
-       $(call cc,pc1crypt)
-       $(call cc,ptgen cyg_crc32,-Wall)
-       $(call cc,seama md5,-Wall)
-       $(call cc,sign_dlink_ru md5,-Wall)
-       $(call cc,spw303v,-Wall)
-       $(call cc,srec2bin)
-       $(call cc,tplink-safeloader md5,-Wall --std=gnu99)
-       $(call cc,trx,-Wall)
-       $(call cc,trx2edips,-Wall)
-       $(call cc,trx2usr,-Wall)
-       $(call cc,uimage_padhdr,-Wall -lz)
-       $(call cc,wrt400n cyg_crc32,-Wall)
-       $(call cc,xorimage,-Wall)
-       $(call cc,zyimage,-Wall)
-       $(call cc,zytrx,-Wall)
-       $(call cc,zyxbcm,-Wall)
-endef
-
-define Host/Install
-       $(INSTALL_BIN) $(HOST_BUILD_DIR)/bin/* $(STAGING_DIR_HOST)/bin/
-endef
-
-$(eval $(call HostBuild))