# HG changeset patch # User Matti Hamalainen # Date 1455239107 -7200 # Node ID 23d16d9cdf9601beae86bc6d7c4a292b50226247 # Parent 87ef546de41901f3c90b6e5e71f3f9364f748549 Work on the build system, split generic UNIX things into Makefile.unix diff -r 87ef546de419 -r 23d16d9cdf96 Makefile --- a/Makefile Fri Feb 12 03:03:51 2016 +0200 +++ b/Makefile Fri Feb 12 03:05:07 2016 +0200 @@ -4,20 +4,10 @@ # # C-compiler, flags and linker flags -CC=gcc -AR=ar -RANLIB=ranlib - -CFLAGS=-DHAVE_STRING_H -DHAVE_STDINT_H -DUSE_XDG=1 -LDFLAGS=-lncurses +CFLAGS = -DHAVE_STRING_H -DHAVE_STDINT_H -DUSE_XDG=1 +LDFLAGS = -lncurses #CFLAGS += -DHAVE_STDINT_H #CFLAGS += -DHAVE_SYS_TYPES_H -# Miscellaneous -BINPATH= -OBJPATH=obj/unix/ -EXEEXT= -DOC=README - -include Makefile.gen +include Makefile.unix diff -r 87ef546de419 -r 23d16d9cdf96 Makefile.gen --- a/Makefile.gen Fri Feb 12 03:03:51 2016 +0200 +++ b/Makefile.gen Fri Feb 12 03:05:07 2016 +0200 @@ -1,6 +1,9 @@ -CFLAGS += -g -W -Wall -Wextra -DTH_NO_DEFAULTS +### +### Main makefile +### +CFLAGS += -g -W -Wall -Wextra -DTH_NO_DEFAULTS -I. CFLAGS += -O2 -#CFLAGS += -std=c99 -pedantic +CFLAGS += -std=c11 -pedantic -D_XOPEN_SOURCE=500 THLIBS=th-libs/ MKDIR ?= mkdir @@ -18,19 +21,20 @@ # Objects # THLIBS_A=$(OBJPATH)thlibs.a -THLIBS_OBJ=th_util.o th_string.o th_args.o th_ioctx.o th_config.o th_network.o +THLIBS_OBJ=th_util.o th_string.o th_args.o th_ioctx.o th_file.o th_config.o th_network.o NNCHAT_OBJ=main.o util.o ui.o NNCHAT_BIN=$(BINPATH)nnchat$(EXEEXT) -TARGETS+=$(THLIBS_A) $(NNCHAT_BIN) +TARGETS += $(NNCHAT_BIN) +NOBUILD_TARGETS += $(OBJPATH) $(BINPATH) +NOINST_TARGETS += $(THLIBS_A) -NONBUILD+=$(OBJPATH) $(BINPATH) # # Target rules # -all: $(NONBUILD) $(TARGETS) +all: $(NOBUILD_TARGETS) $(NOINST_TARGETS) $(TARGETS) $(OBJPATH): $(MKDIR_P) $@ @@ -69,7 +73,7 @@ # Special targets # clean: - $(RM) $(TARGETS) $(OBJPATH)*.o + $(RM) $(TARGETS) $(NOINST_TARGETS) $(OBJPATH)*.o srcclean: clean $(RM) *~ diff -r 87ef546de419 -r 23d16d9cdf96 Makefile.openbsd --- a/Makefile.openbsd Fri Feb 12 03:03:51 2016 +0200 +++ b/Makefile.openbsd Fri Feb 12 03:05:07 2016 +0200 @@ -1,6 +1,5 @@ # -# Configuration settings for Linux and generic UNIX -# See other Makefile.* files for more options. +# OpenBSD configuration settings # # C-compiler, flags and linker flags @@ -8,13 +7,5 @@ CFLAGS=-DHAVE_STRING_H -DHAVE_INT_TYPES -DHAVE_NETINET_IN_H -DHAVE_NCURSES_H LDFLAGS=-lncurses -#CFLAGS += -DHAVE_STDINT_H -#CFLAGS += -DHAVE_SYS_TYPES_H -# Miscellaneous -BINPATH= -OBJPATH= -EXEEXT= - - -include Makefile.gen +include Makefile.unix diff -r 87ef546de419 -r 23d16d9cdf96 Makefile.solaris --- a/Makefile.solaris Fri Feb 12 03:03:51 2016 +0200 +++ b/Makefile.solaris Fri Feb 12 03:05:07 2016 +0200 @@ -5,9 +5,4 @@ CFLAGS=-DHAVE_STRING_H -DHAVE_INT_TYPES -DHAVE_UINT_T LDFLAGS=-lncurses -lresolv -# Miscellaneous -BINPATH= -OBJPATH= -EXEEXT= - -include Makefile.gen +include Makefile.unix diff -r 87ef546de419 -r 23d16d9cdf96 Makefile.unix --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Makefile.unix Fri Feb 12 03:05:07 2016 +0200 @@ -0,0 +1,42 @@ +## +## Common UNIX style Makefile stuff +## +PREFIX ?= /usr/local +CC ?= cc +AR ?= ar +RANLIB ?= ranlib +INSTALL ?= install +DOC ?= README + +CFLAGS += -DHAVE_CONFIG_H + + +## +## Miscellaneous +## +BINPATH ?= ./ +OBJPATH ?= obj/unix/ +EXEEXT ?= + +ENDIANCHK_BIN = $(BINPATH)endianchk$(EXEEXT) +NOINST_TARGETS += $(ENDIANCHK_BIN) 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 + @for fn in $(TARGETS); do echo " INSTALL $$fn $(PREFIX)/bin/"; $(INSTALL) -m 755 "$$fn" $(PREFIX)/bin/; done