diff options
-rw-r--r-- | ChangeLog | 21 | ||||
-rw-r--r-- | Makefile | 20 | ||||
-rwxr-xr-x | configure | 8 | ||||
-rw-r--r-- | lib.h | 5 | ||||
-rw-r--r-- | txr.c | 2 |
5 files changed, 50 insertions, 6 deletions
@@ -1,3 +1,24 @@ +2014-06-11 Kaz Kylheku <kaz@kylheku.com> + + * Makefile (txr.o): Pass TXR_VER preprocessor symbol on gcc command + line. + (PREINSTALL): New variable holding a step for the install recipe. + (pax tar zip): New targets. + + * configure (txr_ver): Version now added to config.make, passed + through to txr.c. + (gen_config_make): bindir, datadir and mandir are established + using gmake's regular macro assignment (=) rather than + expanding assignment (:=). This allows us to override the + prefix variable after configure time. + + * lib.h (wli_noex): New macro. + (wli): Retarget to wli_noex, so that argument is subject + to macro replacement. + + * txr.c (version): Use TXR_VER defined on compiler command line, + rather than hard-coded string literal. + 2014-06-10 Kaz Kylheku <kaz@kylheku.com> * eval.c (eval_init): Change registration of string_cmp @@ -78,6 +78,7 @@ y.tab.o: CFLAGS += -Dlint txr.o: CFLAGS += -DTXR_REL_PATH=\"$(bindir_rel)/$(PROG)$(EXE)\" txr.o: CFLAGS += -DEXE_SUFF=\"$(EXE)\" -DPROG_NAME=\"$(PROG)\" +txr.o: CFLAGS += -DTXR_VER=\"$(txr_ver)\" $(MPI_OBJS): CFLAGS += -DXMALLOC=chk_malloc -DXREALLOC=chk_realloc $(MPI_OBJS): CFLAGS += -DXCALLOC=chk_calloc -DXFREE=free @@ -160,11 +161,30 @@ define INSTALL touch -r $(2) $(3)/$(notdir $(2)) endef +PREINSTALL := : + .PHONY: install install: $(PROG) + $(PREINSTALL) $(call INSTALL,0755,txr,$(DESTDIR)$(bindir)) $(call INSTALL,0444,$(top_srcdir)/txr.1,$(DESTDIR)$(mandir)/man1) +.PHONY: unixtar tar zip + +pax tar zip: DESTDIR=pkg +pax tar zip: prefix= +pax tar zip: PREINSTALL=rm -rf pkg + +pax: install + cd pkg; find . | pax -w -f ../txr-$(txr_ver)-bin.tar -x ustar . + compress txr-$(txr_ver)-bin.tar + +tar: install + tar -C pkg -cZf txr-$(txr_ver)-bin.tar.Z . + +zip: install + cd pkg; zip -r ../txr-$(txr_ver)-bin.zip . + # # Install the tests as well as the script to run them # @@ -564,6 +564,8 @@ gen_config_make() # derived from the txr_shell variable. SHELL := $txr_shell +txr_ver := $txr_ver + # absolute path to source code directory top_srcdir := $top_srcdir @@ -581,13 +583,13 @@ DESTDIR := $install_prefix bindir_rel := $bindir # executable directory -bindir := \$(prefix)/\$(bindir_rel) +bindir = \$(prefix)/\$(bindir_rel) # read-only data directory -datadir := \$(prefix)/$datadir +datadir = \$(prefix)/$datadir # man page directory -mandir := \$(prefix)/$mandir +mandir = \$(prefix)/$mandir # cross compiler toolchain root directory cross := $cross @@ -289,14 +289,15 @@ INLINE type_t type(val obj) typedef struct wli wchli_t; #if LIT_ALIGN < 4 -#define wli(lit) ((const wchli_t *) (L"\0" L ## lit L"\0" + 1)) +#define wli_noex(lit) ((const wchli_t *) (L"\0" L ## lit L"\0" + 1)) #define wini(ini) L"\0" L ## ini L"\0" #define wref(arr) ((arr) + 1) #else -#define wli(lit) ((const wchli_t *) L ## lit) +#define wli_noex(lit) ((const wchli_t *) L ## lit) #define wini(ini) L ## ini #define wref(arr) (arr) #endif +#define wli(lit) wli_noex(lit) INLINE val auto_str(const wchli_t *str) { @@ -54,7 +54,7 @@ #include "regex.h" #include "txr.h" -const wchli_t *version = wli("89"); +const wchli_t *version = wli(TXR_VER); const wchar_t *progname = L"txr"; static const char *progname_u8; static val progpath = nil; |