summaryrefslogtreecommitdiffhomepage
path: root/archival
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2006-10-05 10:17:08 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2006-10-05 10:17:08 +0000
commit7d219aab70e6951ab82c27c202cac05016696723 (patch)
tree4c0679bfa391f71aee9b51505a5d3dc8f60a0cf7 /archival
parent8f8f268cfdecb4cabeb2e649a73afc7a485aeff5 (diff)
build system overhaul
Diffstat (limited to 'archival')
-rw-r--r--archival/Config.in100
-rw-r--r--archival/Kbuild22
-rw-r--r--archival/Makefile23
-rw-r--r--archival/Makefile.in41
-rw-r--r--archival/libunarchive/Kbuild59
-rw-r--r--archival/libunarchive/Makefile36
-rw-r--r--archival/libunarchive/Makefile.in83
7 files changed, 131 insertions, 233 deletions
diff --git a/archival/Config.in b/archival/Config.in
index ea8076403..bc87573b1 100644
--- a/archival/Config.in
+++ b/archival/Config.in
@@ -5,7 +5,7 @@
menu "Archival Utilities"
-config CONFIG_AR
+config AR
bool "ar"
default n
help
@@ -28,17 +28,17 @@ config CONFIG_AR
Unless you have a specific application which requires ar, you should
probably say N here.
-config CONFIG_FEATURE_AR_LONG_FILENAMES
+config FEATURE_AR_LONG_FILENAMES
bool "Enable support for long filenames (not need for debs)"
default n
- depends on CONFIG_AR
+ depends on AR
help
By default the ar format can only store the first 15 characters of the
filename, this option removes that limitation.
It supports the GNU ar long filename method which moves multiple long
filenames into a the data section of a new ar entry.
-config CONFIG_BUNZIP2
+config BUNZIP2
bool "bunzip2"
default n
help
@@ -54,7 +54,7 @@ config CONFIG_BUNZIP2
Unless you have a specific application which requires bunzip2, you
should probably say N here.
-config CONFIG_CPIO
+config CPIO
bool "cpio"
default n
help
@@ -68,7 +68,7 @@ config CONFIG_CPIO
Unless you have a specific application which requires cpio, you should
probably say N here.
-config CONFIG_DPKG
+config DPKG
bool "dpkg"
default n
help
@@ -77,7 +77,7 @@ config CONFIG_DPKG
This implementation of dpkg has a number of limitations, you should use the
official dpkg if possible.
-config CONFIG_DPKG_DEB
+config DPKG_DEB
bool "dpkg_deb"
default n
help
@@ -88,16 +88,16 @@ config CONFIG_DPKG_DEB
Unless you have a specific application which requires dpkg-deb, you should
probably say N here.
-config CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY
+config FEATURE_DPKG_DEB_EXTRACT_ONLY
bool "extract only (-x)"
default n
- depends on CONFIG_DPKG_DEB
+ depends on DPKG_DEB
help
This reduces dpkg-deb to the equivalent of "ar -p <deb> data.tar.gz | tar -zx".
However it saves space as none of the extra dpkg-deb, ar or tar options are
needed, they are linked to internally.
-config CONFIG_GUNZIP
+config GUNZIP
bool "gunzip"
default n
help
@@ -105,35 +105,35 @@ config CONFIG_GUNZIP
You can use the `-t' option to test the integrity of
an archive, without decompressing it.
-config CONFIG_FEATURE_GUNZIP_UNCOMPRESS
+config FEATURE_GUNZIP_UNCOMPRESS
bool "Uncompress support"
default n
- depends on CONFIG_GUNZIP
+ depends on GUNZIP
help
Enable if you want gunzip to have the ability to decompress
archives created by the program compress (not much
used anymore).
-config CONFIG_GZIP
+config GZIP
bool "gzip"
default n
help
gzip is used to compress files.
It's probably the most widely used UNIX compression program.
-config CONFIG_RPM2CPIO
+config RPM2CPIO
bool "rpm2cpio"
default n
help
Converts an RPM file into a CPIO archive.
-config CONFIG_RPM
+config RPM
bool "rpm"
default n
help
Mini RPM applet - queries and extracts
-config CONFIG_TAR
+config TAR
bool "tar"
default n
help
@@ -141,86 +141,86 @@ config CONFIG_TAR
create compressed archives. It's probably the most widely used
UNIX archive program.
-config CONFIG_FEATURE_TAR_CREATE
+config FEATURE_TAR_CREATE
bool "Enable archive creation"
default y
- depends on CONFIG_TAR
+ depends on TAR
help
If you enable this option you'll be able to create
tar archives using the `-c' option.
-config CONFIG_FEATURE_TAR_BZIP2
+config FEATURE_TAR_BZIP2
bool "Enable -j option to handle .tar.bz2 files"
default n
- depends on CONFIG_TAR
+ depends on TAR
help
If you enable this option you'll be able to extract
archives compressed with bzip2.
-config CONFIG_FEATURE_TAR_LZMA
+config FEATURE_TAR_LZMA
bool "Enable -a option to handle .tar.lzma files"
default n
- depends on CONFIG_TAR
+ depends on TAR
help
If you enable this option you'll be able to extract
archives compressed with lzma.
-config CONFIG_FEATURE_TAR_FROM
+config FEATURE_TAR_FROM
bool "Enable -X (exclude from) and -T (include from) options)"
default n
- depends on CONFIG_TAR
+ depends on TAR
help
If you enable this option you'll be able to specify
a list of files to include or exclude from an archive.
-config CONFIG_FEATURE_TAR_GZIP
+config FEATURE_TAR_GZIP
bool "Enable -z option"
default y
- depends on CONFIG_TAR
+ depends on TAR
help
If you enable this option tar will be able to call gzip,
when creating or extracting tar gziped archives.
-config CONFIG_FEATURE_TAR_COMPRESS
+config FEATURE_TAR_COMPRESS
bool "Enable -Z option"
default n
- depends on CONFIG_TAR
+ depends on TAR
help
If you enable this option tar will be able to call uncompress,
when extracting .tar.Z archives.
-config CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY
+config FEATURE_TAR_OLDGNU_COMPATIBILITY
bool "Enable support for old tar header format"
default N
- depends on CONFIG_TAR
+ depends on TAR
help
This option is required to unpack archives created in
the old GNU format; help to kill this old format by
repacking your ancient archives with the new format.
-config CONFIG_FEATURE_TAR_GNU_EXTENSIONS
+config FEATURE_TAR_GNU_EXTENSIONS
bool "Enable support for some GNU tar extensions"
default y
- depends on CONFIG_TAR
+ depends on TAR
help
With this option busybox supports GNU long filenames and
linknames.
-config CONFIG_FEATURE_TAR_LONG_OPTIONS
+config FEATURE_TAR_LONG_OPTIONS
bool "Enable long options"
default n
- depends on CONFIG_TAR && CONFIG_GETOPT_LONG
+ depends on TAR && GETOPT_LONG
help
Enable use of long options, increases size by about 400 Bytes
-config CONFIG_UNCOMPRESS
+config UNCOMPRESS
bool "uncompress"
default n
help
uncompress is used to decompress archives created by compress.
Not much used anymore, replaced by gzip/gunzip.
-config CONFIG_UNLZMA
+config UNLZMA
bool "unlzma"
default n
help
@@ -235,15 +235,15 @@ config CONFIG_UNLZMA
Unless you have a specific application which requires unlzma, you
should probably say N here.
-config CONFIG_FEATURE_LZMA_FAST
+config FEATURE_LZMA_FAST
bool "Optimze unlzma for speed"
default n
- depends on CONFIG_UNLZMA
+ depends on UNLZMA
help
This option reduces decompression time by about 33% at the cost of
a 2K bigger binary.
-config CONFIG_UNZIP
+config UNZIP
bool "unzip"
default n
help
@@ -254,31 +254,31 @@ config CONFIG_UNZIP
directory of your choice.
comment "Common options for cpio and tar"
- depends on CONFIG_CPIO || CONFIG_TAR
+ depends on CPIO || TAR
-config CONFIG_FEATURE_UNARCHIVE_TAPE
+config FEATURE_UNARCHIVE_TAPE
bool "Enable tape drive support"
default n
- depends on CONFIG_CPIO || CONFIG_TAR
+ depends on CPIO || TAR
help
I don't think this is needed anymore.
comment "Common options for dpkg and dpkg_deb"
- depends on CONFIG_DPKG || CONFIG_DPKG_DEB
+ depends on DPKG || DPKG_DEB
-config CONFIG_FEATURE_DEB_TAR_GZ
+config FEATURE_DEB_TAR_GZ
bool "gzip debian packages (normal)"
- default y if CONFIG_DPKG || CONFIG_DPKG_DEB
- depends on CONFIG_DPKG || CONFIG_DPKG_DEB
+ default y if DPKG || DPKG_DEB
+ depends on DPKG || DPKG_DEB
help
This is the default compression method inside the debian ar file.
If you want compatibility with standard .deb's you should say yes here.
-config CONFIG_FEATURE_DEB_TAR_BZ2
+config FEATURE_DEB_TAR_BZ2
bool "bzip2 debian packages"
default n
- depends on CONFIG_DPKG || CONFIG_DPKG_DEB
+ depends on DPKG || DPKG_DEB
help
This allows dpkg and dpkg-deb to extract deb's that are compressed internally
with bzip2 instead of gzip.
@@ -286,10 +286,10 @@ config CONFIG_FEATURE_DEB_TAR_BZ2
You only want this if you are creating your own custom debian packages that
use an internal control.tar.bz2 or data.tar.bz2.
-config CONFIG_FEATURE_DEB_TAR_LZMA
+config FEATURE_DEB_TAR_LZMA
bool "lzma debian packages"
default n
- depends on CONFIG_DPKG || CONFIG_DPKG_DEB
+ depends on DPKG || DPKG_DEB
help
This allows dpkg and dpkg-deb to extract deb's that are compressed
internally with lzma instead of gzip.
diff --git a/archival/Kbuild b/archival/Kbuild
new file mode 100644
index 000000000..f85e0c2a7
--- /dev/null
+++ b/archival/Kbuild
@@ -0,0 +1,22 @@
+# Makefile for busybox
+#
+# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
+#
+# Licensed under the GPL v2, see the file LICENSE in this tarball.
+
+libs-y += libunarchive/
+
+lib-y:=
+lib-$(CONFIG_AR) += ar.o
+lib-$(CONFIG_BUNZIP2) += bunzip2.o
+lib-$(CONFIG_UNLZMA) += unlzma.o
+lib-$(CONFIG_CPIO) += cpio.o
+lib-$(CONFIG_DPKG) += dpkg.o
+lib-$(CONFIG_DPKG_DEB) += dpkg_deb.o
+lib-$(CONFIG_GUNZIP) += gunzip.o
+lib-$(CONFIG_GZIP) += gzip.o
+lib-$(CONFIG_RPM2CPIO) += rpm2cpio.o
+lib-$(CONFIG_RPM) += rpm.o
+lib-$(CONFIG_TAR) += tar.o
+lib-$(CONFIG_UNCOMPRESS) += uncompress.o
+lib-$(CONFIG_UNZIP) += unzip.o
diff --git a/archival/Makefile b/archival/Makefile
deleted file mode 100644
index 66da4afc1..000000000
--- a/archival/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# Makefile for busybox
-#
-# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
-#
-# Licensed under the GPL v2, see the file LICENSE in this tarball.
-
-ifndef top_srcdir
-top_srcdir=..
-endif
-ifndef top_builddir
-top_builddir=..
-endif
-ARCHIVAL_DIR:=./
-srcdir=$(top_srcdir)/archival
-include $(top_srcdir)/Rules.mak
-include $(top_builddir)/.config
-include $(srcdir)/Makefile.in
-all: $(libraries-y)
--include $(top_builddir)/.depend
-
-clean:
- rm -f *.o *.a $(AR_TARGET)
-
diff --git a/archival/Makefile.in b/archival/Makefile.in
deleted file mode 100644
index 276ef4127..000000000
--- a/archival/Makefile.in
+++ /dev/null
@@ -1,41 +0,0 @@
-# Makefile for busybox
-#
-# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
-#
-# Licensed under the GPL v2, see the file LICENSE in this tarball.
-
-ARCHIVAL_AR:=archival.a
-ifndef $(ARCHIVAL_DIR)
-ARCHIVAL_DIR:=$(top_builddir)/archival/
-endif
-srcdir=$(top_srcdir)/archival
-
-ARCHIVAL-y:=
-ARCHIVAL-$(CONFIG_AR) += ar.o
-ARCHIVAL-$(CONFIG_BUNZIP2) += bunzip2.o
-ARCHIVAL-$(CONFIG_UNLZMA) += unlzma.o
-ARCHIVAL-$(CONFIG_CPIO) += cpio.o
-ARCHIVAL-$(CONFIG_DPKG) += dpkg.o
-ARCHIVAL-$(CONFIG_DPKG_DEB) += dpkg_deb.o
-ARCHIVAL-$(CONFIG_GUNZIP) += gunzip.o
-ARCHIVAL-$(CONFIG_GZIP) += gzip.o
-ARCHIVAL-$(CONFIG_RPM2CPIO) += rpm2cpio.o
-ARCHIVAL-$(CONFIG_RPM) += rpm.o
-ARCHIVAL-$(CONFIG_TAR) += tar.o
-ARCHIVAL-$(CONFIG_UNCOMPRESS) += uncompress.o
-ARCHIVAL-$(CONFIG_UNZIP) += unzip.o
-
-ifneq ($(strip $(ARCHIVAL-y)),)
-libraries-y+=$(ARCHIVAL_DIR)$(ARCHIVAL_AR)
-endif
-
-ARCHIVAL_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(ARCHIVAL-y))
-ARCHIVAL_SRC-a:=$(wildcard $(srcdir)/*.c)
-APPLET_SRC-y+=$(ARCHIVAL_SRC-y)
-APPLET_SRC-a+=$(ARCHIVAL_SRC-a)
-
-$(ARCHIVAL_DIR)$(ARCHIVAL_AR): $(patsubst %,$(ARCHIVAL_DIR)%, $(ARCHIVAL-y))
- $(do_ar)
-
-$(ARCHIVAL_DIR)%.o: $(srcdir)/%.c
- $(compile.c)
diff --git a/archival/libunarchive/Kbuild b/archival/libunarchive/Kbuild
new file mode 100644
index 000000000..c5f1bfbfe
--- /dev/null
+++ b/archival/libunarchive/Kbuild
@@ -0,0 +1,59 @@
+# Makefile for busybox
+#
+# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
+#
+# Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
+
+lib-y:= \
+\
+ data_skip.o \
+ data_extract_all.o \
+ data_extract_to_stdout.o \
+ data_extract_to_buffer.o \
+\
+ filter_accept_all.o \
+ filter_accept_list.o \
+ filter_accept_reject_list.o \
+\
+ header_skip.o \
+ header_list.o \
+ header_verbose_list.o \
+\
+ archive_xread_all_eof.o \
+\
+ seek_by_char.o \
+ seek_by_jump.o \
+\
+ data_align.o \
+ find_list_entry.o \
+ open_transformer.o \
+ init_handle.o
+
+GUNZIP_FILES:= check_header_gzip.o decompress_unzip.o
+DPKG_FILES:= \
+ get_header_ar.o \
+ unpack_ar_archive.o \
+ get_header_tar.o \
+ filter_accept_list_reassign.o
+
+lib-$(CONFIG_AR) += get_header_ar.o unpack_ar_archive.o
+lib-$(CONFIG_BUNZIP2) += decompress_bunzip2.o
+lib-$(CONFIG_UNLZMA) += decompress_unlzma.o
+lib-$(CONFIG_CPIO) += get_header_cpio.o
+lib-$(CONFIG_DPKG) += $(DPKG_FILES)
+lib-$(CONFIG_DPKG_DEB) += $(DPKG_FILES)
+lib-$(CONFIG_FEATURE_DEB_TAR_GZ) += $(GUNZIP_FILES) get_header_tar_gz.o
+lib-$(CONFIG_FEATURE_DEB_TAR_BZ2) += decompress_bunzip2.o get_header_tar_bz2.o
+lib-$(CONFIG_FEATURE_DEB_TAR_LZMA) += decompress_unlzma.o get_header_tar_lzma.o
+lib-$(CONFIG_GUNZIP) += $(GUNZIP_FILES)
+lib-$(CONFIG_FEATURE_GUNZIP_UNCOMPRESS) += decompress_uncompress.o
+lib-$(CONFIG_RPM2CPIO) += $(GUNZIP_FILES) get_header_cpio.o
+lib-$(CONFIG_RPM) += $(GUNZIP_FILES) get_header_cpio.o
+lib-$(CONFIG_TAR) += get_header_tar.o
+lib-$(CONFIG_FEATURE_TAR_BZIP2) += decompress_bunzip2.o get_header_tar_bz2.o
+lib-$(CONFIG_FEATURE_TAR_LZMA) += decompress_unlzma.o get_header_tar_lzma.o
+lib-$(CONFIG_FEATURE_TAR_GZIP) += $(GUNZIP_FILES) get_header_tar_gz.o
+lib-$(CONFIG_FEATURE_TAR_COMPRESS) += decompress_uncompress.o
+lib-$(CONFIG_UNCOMPRESS) += decompress_uncompress.o
+lib-$(CONFIG_UNZIP) += $(GUNZIP_FILES)
+lib-$(CONFIG_FEATURE_COMPRESS_USAGE) += decompress_bunzip2.o
diff --git a/archival/libunarchive/Makefile b/archival/libunarchive/Makefile
deleted file mode 100644
index 9ab1cac81..000000000
--- a/archival/libunarchive/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-# Makefile for busybox
-#
-# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-
-ifndef top_srcdir
-top_srcdir=../..
-endif
-ifndef top_builddir
-top_builddir=../..
-endif
-srcdir=$(top_srcdir)/archival/libunarchive
-LIBUNARCHIVE_DIR:=./
-include $(top_srcdir)/Rules.mak
-include $(top_builddir)/.config
-include $(srcdir)/Makefile.in
-all: $(libraries-y)
--include $(top_builddir)/.depend
-
-clean:
- rm -f *.o *.a $(AR_TARGET)
-
diff --git a/archival/libunarchive/Makefile.in b/archival/libunarchive/Makefile.in
deleted file mode 100644
index 46c50f81d..000000000
--- a/archival/libunarchive/Makefile.in
+++ /dev/null
@@ -1,83 +0,0 @@
-# Makefile for busybox
-#
-# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
-#
-# Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
-
-LIBUNARCHIVE_AR:=libunarchive.a
-ifndef $(LIBUNARCHIVE_DIR)
-LIBUNARCHIVE_DIR:=$(top_builddir)/archival/libunarchive
-endif
-srcdir=$(top_srcdir)/archival/libunarchive
-
-LIBUNARCHIVE-obj:=$(LIBUNARCHIVE_DIR)/$(LIBUNARCHIVE_AR)
-
-libraries-y+=$(LIBUNARCHIVE-obj)
-
-LIBUNARCHIVE-y:= \
-\
- data_skip.o \
- data_extract_all.o \
- data_extract_to_stdout.o \
- data_extract_to_buffer.o \
-\
- filter_accept_all.o \
- filter_accept_list.o \
- filter_accept_reject_list.o \
-\
- header_skip.o \
- header_list.o \
- header_verbose_list.o \
-\
- archive_xread_all_eof.o \
-\
- seek_by_char.o \
- seek_by_jump.o \
-\
- data_align.o \
- find_list_entry.o \
- open_transformer.o \
- init_handle.o
-
-GUNZIP_FILES:= check_header_gzip.o decompress_unzip.o
-DPKG_FILES:= \
- get_header_ar.o \
- unpack_ar_archive.o \
- get_header_tar.o \
- filter_accept_list_reassign.o
-
-LIBUNARCHIVE-$(CONFIG_AR) += get_header_ar.o unpack_ar_archive.o
-LIBUNARCHIVE-$(CONFIG_BUNZIP2) += decompress_bunzip2.o
-LIBUNARCHIVE-$(CONFIG_UNLZMA) += decompress_unlzma.o
-LIBUNARCHIVE-$(CONFIG_CPIO) += get_header_cpio.o
-LIBUNARCHIVE-$(CONFIG_DPKG) += $(DPKG_FILES)
-LIBUNARCHIVE-$(CONFIG_DPKG_DEB) += $(DPKG_FILES)
-LIBUNARCHIVE-$(CONFIG_FEATURE_DEB_TAR_GZ) += $(GUNZIP_FILES) get_header_tar_gz.o
-LIBUNARCHIVE-$(CONFIG_FEATURE_DEB_TAR_BZ2) += decompress_bunzip2.o get_header_tar_bz2.o
-LIBUNARCHIVE-$(CONFIG_FEATURE_DEB_TAR_LZMA) += decompress_unlzma.o get_header_tar_lzma.o
-LIBUNARCHIVE-$(CONFIG_GUNZIP) += $(GUNZIP_FILES)
-LIBUNARCHIVE-$(CONFIG_FEATURE_GUNZIP_UNCOMPRESS) += decompress_uncompress.o
-LIBUNARCHIVE-$(CONFIG_RPM2CPIO) += $(GUNZIP_FILES) get_header_cpio.o
-LIBUNARCHIVE-$(CONFIG_RPM) += $(GUNZIP_FILES) get_header_cpio.o
-LIBUNARCHIVE-$(CONFIG_TAR) += get_header_tar.o
-LIBUNARCHIVE-$(CONFIG_FEATURE_TAR_BZIP2) += decompress_bunzip2.o get_header_tar_bz2.o
-LIBUNARCHIVE-$(CONFIG_FEATURE_TAR_LZMA) += decompress_unlzma.o get_header_tar_lzma.o
-LIBUNARCHIVE-$(CONFIG_FEATURE_TAR_GZIP) += $(GUNZIP_FILES) get_header_tar_gz.o
-LIBUNARCHIVE-$(CONFIG_FEATURE_TAR_COMPRESS) += decompress_uncompress.o
-LIBUNARCHIVE-$(CONFIG_UNCOMPRESS) += decompress_uncompress.o
-LIBUNARCHIVE-$(CONFIG_UNZIP) += $(GUNZIP_FILES)
-LIBUNARCHIVE-$(CONFIG_FEATURE_COMPRESS_USAGE) += decompress_bunzip2.o
-
-
-LIBUNARCHIVE-y:=$(sort $(LIBUNARCHIVE-y))
-
-LIBUNARCHIVE_SRC-y:=$(patsubst %,$(srcdir)/%,$(subst .o,.c,$(LIBUNARCHIVE-y)))
-LIBUNARCHIVE_SRC-a:=$(wildcard $(srcdir)/*.c)
-LIBRARY_SRC-y+=$(LIBUNARCHIVE_SRC-y)
-LIBRARY_SRC-a+=$(LIBUNARCHIVE_SRC-a)
-
-$(LIBUNARCHIVE_DIR)/$(LIBUNARCHIVE_AR): $(patsubst %,$(LIBUNARCHIVE_DIR)/%,$(LIBUNARCHIVE-y))
- $(do_ar)
-
-$(LIBUNARCHIVE_DIR)/%.o: $(srcdir)/%.c
- $(compile.c)