summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLAN-TW <lantw44@gmail.com>2014-01-15 07:07:43 +0800
committerLAN-TW <lantw44@gmail.com>2014-01-15 07:07:43 +0800
commitf3d74aef91e1f2e255d1c86067c9bf7bb7107213 (patch)
tree90d9b2c4d0758d699013f1325be0b36dab11343a
parent0611449389c577ec449002dcad4babd845bc531e (diff)
downloadsp2013-f3d74aef91e1f2e255d1c86067c9bf7bb7107213.tar.gz
sp2013-f3d74aef91e1f2e255d1c86067c9bf7bb7107213.tar.zst
sp2013-f3d74aef91e1f2e255d1c86067c9bf7bb7107213.zip
HW4: 處理好 build system 的事情
-rw-r--r--hw4/Makefile.am28
-rwxr-xr-xhw4/cgiprog/close_pipe3
2 files changed, 20 insertions, 11 deletions
diff --git a/hw4/Makefile.am b/hw4/Makefile.am
index 32fa225..dc253f0 100644
--- a/hw4/Makefile.am
+++ b/hw4/Makefile.am
@@ -1,12 +1,19 @@
-EXTRA_DIST =
+EXTRA_DIST = cgiprog/kill_myself cgiprog/close_pipe
NULL =
+MY_V_LN = $(MY_V_LN_@AM_V@)
+MY_V_LN_ = $(MY_V_LN_@AM_DEFAULT_V@)
+MY_V_LN_0 = @echo " SYMLINK " $@;
+MY_V_CP = $(MY_V_CP_@AM_V@)
+MY_V_CP_ = $(MY_V_CP_@AM_DEFAULT_V@)
+MY_V_CP_0 = @echo " COPY " $@;
+
bin_PROGRAMS = cgish-httpd
noinst_LIBRARIES = libl4basic.a
cgidir = $(datadir)/$(PACKAGE)
cgi_PROGRAMS = file_reader server_info
-cgi_SCRIPTS = cgiprog/kill_myself
+cgi_SCRIPTS = kill_myself close_pipe
libl4basic_a_SOURCES = \
l4basic/memwrap.h \
@@ -42,14 +49,13 @@ cgish_httpd_LDADD = $(top_builddir)/libl4basic.a
file_reader_SOURCES = cgiprog/file_reader.c
server_info_SOURCES = cgiprog/server_info.c
-# Workaround for automake (executable cannot named after `info')
-MY_V_LN = $(MY_V_LN_@AM_V@)
-MY_V_LN_ = $(MY_V_LN_@AM_DEFAULT_V@)
-MY_V_LN_0 = @echo " LN " $@;
+kill_myself: cgiprog/kill_myself
+ $(MY_V_CP)cp -p $(abs_top_srcdir)/cgiprog/kill_myself kill_myself
+close_pipe: cgiprog/close_pipe
+ $(MY_V_CP)cp -p $(abs_top_srcdir)/cgiprog/close_pipe close_pipe
-all-local: $(abs_top_builddir)/info $(abs_top_builddir)/kill_myself
-$(abs_top_builddir)/info: $(top_builddir)/server_info
+# Workaround for automake (executable cannot named after `info')
+all-local: $(abs_top_builddir)/info
+$(abs_top_builddir)/info: $(abs_top_builddir)/server_info
$(MY_V_LN)ln -s server_info $(abs_top_builddir)/info
-$(abs_top_builddir)/kill_myself: $(top_srcdir)/cgiprog/kill_myself
- $(MY_V_LN)ln -s $(top_srcdir)/cgiprog/kill_myself $(abs_top_builddir)/kill_myself
-CLEANFILES = $(abs_top_builddir)/info $(abs_top_builddir)/kill_myself
+CLEANFILES = info kill_myself close_pipe
diff --git a/hw4/cgiprog/close_pipe b/hw4/cgiprog/close_pipe
new file mode 100755
index 0000000..aaa84c1
--- /dev/null
+++ b/hw4/cgiprog/close_pipe
@@ -0,0 +1,3 @@
+#! /bin/sh
+
+exec 0<&-