changeset 671:dd3083a3383d

Use the makefile.inc helper from th-libs for generic targets.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 09 Mar 2016 15:09:59 +0200
parents 06199003043a
children c7a24acb3620
files Makefile.gen Makefile.unix endianchk.c
diffstat 3 files changed, 4 insertions(+), 85 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.gen	Tue Mar 01 17:21:52 2016 +0200
+++ b/Makefile.gen	Wed Mar 09 15:09:59 2016 +0200
@@ -6,8 +6,6 @@
 CFLAGS += -std=c11 -pedantic -D_XOPEN_SOURCE=500
 THLIBS=th-libs/
 
-MKDIR ?= mkdir
-MKDIR_P ?= $(MKDIR) -p
 
 #
 # Version strings
@@ -27,38 +25,17 @@
 NNCHAT_BIN=$(BINPATH)nnchat$(EXEEXT)
 
 TARGETS += $(NNCHAT_BIN)
-NOBUILD_TARGETS += $(OBJPATH) $(BINPATH)
-NOINST_TARGETS += $(THLIBS_A)
 
+include $(THLIBS)/Makefile.inc
 
 #
 # Target rules
 #
-all: $(NOBUILD_TARGETS) $(NOINST_TARGETS) $(TARGETS)
-
-$(OBJPATH):
-	$(MKDIR_P) $@
-
-$(BINPATH):
-	$(MKDIR_P) $@
-
-$(OBJPATH)%.o: $(THLIBS)%.c $(THLIBS)%.h
-	$(CC) $(CFLAGS) -c -o $@ $<
-
-$(OBJPATH)%.o: %.c %.h
-	$(CC) $(CFLAGS) -c -o $@ $< -I$(THLIBS)
-
-$(OBJPATH)%.o: %.c
-	$(CC) $(CFLAGS) -c -o $@ $< -I$(THLIBS)
-
-$(THLIBS_A): $(addprefix $(OBJPATH),$(THLIBS_OBJ))
-	$(AR) cru $@ $(addprefix $(OBJPATH),$(THLIBS_OBJ))
-	$(RANLIB) $@
-
 main.c: VERSION
 
 $(NNCHAT_BIN): $(addprefix $(OBJPATH),$(NNCHAT_OBJ)) $(THLIBS_A) $(EXTRAOBJS)
-	$(CC) $(CFLAGS) -o $@ $+ $(LDFLAGS)
+	@echo " LINK $@"
+	@$(CC) $(CFLAGS) -o $@ $+ $(LDFLAGS)
 
 #
 # Documentation
@@ -69,12 +46,3 @@
 	@links -dump "$@.tmp" > $@
 
 
-#
-# Special targets
-#
-clean:
-	$(RM) $(TARGETS) $(NOINST_TARGETS) $(OBJPATH)*.o
-
-srcclean: clean
-	$(RM) *~
-
--- a/Makefile.unix	Tue Mar 01 17:21:52 2016 +0200
+++ b/Makefile.unix	Wed Mar 09 15:09:59 2016 +0200
@@ -20,22 +20,12 @@
 
 ENDIANCHK_BIN = $(BINPATH)endianchk$(EXEEXT)
 NOINST_TARGETS += $(ENDIANCHK_BIN) config.h
-
+THLIBS_DEP = config.h
 
 include Makefile.gen
 
 
 ##
-## Generate endian check and config.h
-##
-$(ENDIANCHK_BIN): endianchk.c
-	$(CC) $(CFLAGS) -o $@ $+
-
-config.h: $(ENDIANCHK_BIN)
-	$(ENDIANCHK_BIN) > $@
-
-
-##
 ## Install targets
 ##
 install: all
--- a/endianchk.c	Tue Mar 01 17:21:52 2016 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
-    int val = 0x01020304, ret;
-    unsigned char *s = (unsigned char *) &val;
-    char *name = argv[0];
-    (void) argc;
-
-    if (sizeof(int) != 4)
-    {
-        fprintf(stderr, "%s: sizeof(int) is not 32 bits!\n", name);
-        return -1;
-    }
-
-    if (s[0] == 0x01 && s[1] == 0x02 && s[2] == 0x03 && s[3] == 0x04)
-        ret = 0;
-    else
-    if (s[0] == 0x04 && s[1] == 0x03 && s[2] == 0x02 && s[3] == 0x01)
-        ret = 1;
-    else
-    {
-        fprintf(stderr, "%s: Unsupported endianess.\n", name);
-        return -2;
-    }
-
-    printf(
-        "#ifndef MY_CONFIG_H\n"
-        "#define MY_CONFIG_H 1\n"
-        "\n"
-        "#define TH_BYTEORDER TH_%s_ENDIAN\n"
-        "\n"
-        "#endif /* MY_CONFIG_H */\n"
-        ,
-        ret ? "LITTLE" : "BIG"
-        );
-    return 0;
-}
-