# HG changeset patch # User Guido Berhoerster # Date 1473783584 -7200 # Node ID 4f6bf50dbc4a628885cbd638dd12fa757580c9aa # Parent 6cbf50148e873d5c26321cc26a71693cb6f73c9a Detect the OS and configure build flags and libraries automatically diff -r 6cbf50148e87 -r 4f6bf50dbc4a Makefile --- a/Makefile Tue Sep 13 16:27:32 2016 +0200 +++ b/Makefile Tue Sep 13 18:19:44 2016 +0200 @@ -1,5 +1,5 @@ # -# Copyright (C) 2014 Guido Berhoerster +# Copyright (C) 2016 Guido Berhoerster # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -25,6 +25,8 @@ VERSION = 2 DISTNAME := $(PACKAGE)-$(VERSION) +# gcc, clang, icc, Sun/Solaris Studio +CC := $(CC) -std=c99 COMPILE.c = $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(XCPPFLAGS) $(TARGET_ARCH) -c # gcc, clang, icc MAKEDEPEND.c = $(CC) -MM $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(XCPPFLAGS) @@ -41,7 +43,7 @@ GZIP := gzip SED := sed XSLTPROC := xsltproc -DOCBOOK5_MANPAGES_STYLESHEET = http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl +DOCBOOK5_MANPAGES_STYLESHEET = http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl define generate-manpage-rule = %.$(1): %.$(1).xml @@ -64,6 +66,9 @@ datadir ?= $(prefix)/share mandir ?= $(datadir)/man +OS_NAME := $(shell uname -s) +OS_RELEASE := $(shell uname -r) + OBJS = rantaiwarna.o board.o highscore.o util.o MANPAGES = $(PACKAGE).6 DOCBOOK5_MANPAGES_FLAGS = --stringparam man.authors.section.enabled 0 \ @@ -75,18 +80,17 @@ all: $(PACKAGE) $(MANPAGES) -$(PACKAGE): XCPPFLAGS := -# Illumos/Solaris -#$(PACKAGE): XCPPFLAGS := -I/usr/xpg4/include -$(PACKAGE): XCFLAGS := -$(PACKAGE): LDLIBS := -lcurses -lm -# Linux, FreeBSD, OpenBSD -#$(PACKAGE): LDLIBS := -lncursesw -ltinfo -lm -# Illumos/Solaris, UnixWare, NetBSD -#$(PACKAGE): LDLIBS := -lcurses -lm -$(PACKAGE): XLDFLAGS := -# Illumos/Solaris -#$(PACKAGE): XLDFLAGS := -L/usr/xpg4/lib -R/usr/xpg4/lib +$(PACKAGE): XCPPFLAGS = -D_XOPEN_SOURCE=600 +$(PACKAGE): LDLIBS = -lm +ifeq ($(OS_NAME),SunOS) + $(PACKAGE): XCPPFLAGS += -I/usr/xpg4/include + $(PACKAGE): XLDFLAGS += -L/usr/xpg4/lib -R/usr/xpg4/lib + $(PACKAGE): LDLIBS += -lcurses +else ifneq ($(findstring $(OS_NAME),UnixWare NetBSD),) + $(PACKAGE): LDLIBS += -lcurses +else + $(PACKAGE): LDLIBS += -lncursesw -ltinfo +endif $(PACKAGE): $(OBJS) $(LINK.o) $^ $(LDLIBS) -o $@ diff -r 6cbf50148e87 -r 4f6bf50dbc4a board.c --- a/board.c Tue Sep 13 16:27:32 2016 +0200 +++ b/board.c Tue Sep 13 18:19:44 2016 +0200 @@ -21,8 +21,6 @@ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#define _XOPEN_SOURCE 600 - #include #include #include /* for OK, ERR */ diff -r 6cbf50148e87 -r 4f6bf50dbc4a highscore.c --- a/highscore.c Tue Sep 13 16:27:32 2016 +0200 +++ b/highscore.c Tue Sep 13 18:19:44 2016 +0200 @@ -21,8 +21,6 @@ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#define _XOPEN_SOURCE 600 - #include #include #include diff -r 6cbf50148e87 -r 4f6bf50dbc4a rantaiwarna.c --- a/rantaiwarna.c Tue Sep 13 16:27:32 2016 +0200 +++ b/rantaiwarna.c Tue Sep 13 18:19:44 2016 +0200 @@ -21,8 +21,6 @@ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#define _XOPEN_SOURCE 600 - #include #include #include diff -r 6cbf50148e87 -r 4f6bf50dbc4a util.c --- a/util.c Tue Sep 13 16:27:32 2016 +0200 +++ b/util.c Tue Sep 13 18:19:44 2016 +0200 @@ -21,8 +21,6 @@ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#define _XOPEN_SOURCE 600 - #include #include #include