aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Riehs <tristan.riehs@inria.fr>2026-08-04 22:54:06 +0200
committerTristan Riehs <tristan.riehs@inria.fr>2026-08-04 22:54:06 +0200
commit8563469f189dc3fb79feee02833cc5913c8ee96e (patch)
treee31369e1d15dd86b882a02488fa148bfcac732b1
parent3b4b990e266b4cac7e775cb148284a9312223227 (diff)
Switch to the plain make build system
-rw-r--r--Makefile25
-rw-r--r--Makefile.am2
-rw-r--r--configure.ac57
-rw-r--r--src/Makefile.am45
4 files changed, 21 insertions, 108 deletions
diff --git a/Makefile b/Makefile
index 776e988..5d7f8f4 100644
--- a/Makefile
+++ b/Makefile
@@ -14,26 +14,43 @@ __CFLAGS := -std=c99 \
__LDFLAGS :=
__LIBS := $(shell pkg-config --libs readline)
-all: $(PROG)
+all: $(PROG) libcli.so libtui.so libray.so
$(PROG): src/calc_data.o src/calculer.o src/disp.o src/input.o
$(CC) -o $@ $^ $(__LDFLAGS) $(__LIBS) $(LDFLAGS) $(LIBS)
src/calc_data.o: src/calc_data.c src/calc_data.h
+ $(CC) $(__CFLAGS) $(CFLAGS) -o $@ -c $<
src/calculer.o: src/calculer.c src/disp.h
+ $(CC) $(__CFLAGS) $(CFLAGS) -o $@ -c $<
src/disp.o: src/disp.c src/disp.h
-.c.o:
$(CC) $(__CFLAGS) $(CFLAGS) -o $@ -c $<
+libcli.so: src/cli.o
+ $(CC) -shared -o $@ $<
+libtui.so: src/tui.o
+ $(CC) -shared -o $@ $<
+libray.so: src/ray.o
+ $(CC) -shared -o $@ $<
+
+src/cli.o: src/cli.c src/disp.h
+ $(CC) $(__CFLAGS) $(CFLAGS) -o $@ -c -fpic $<
+src/tui.o: src/tui.c src/disp.h
+ $(CC) $(__CFLAGS) $(CFLAGS) -o $@ -c -fpic $<
+src/ray.o: src/ray.c src/disp.h
+ $(CC) $(__CFLAGS) $(CFLAGS) -o $@ -c -fpic $<
+
install: $(PROG)
mkdir -p $(PREFIX)/bin
install --mode=0755 $(PROG) $(PREFIX)/bin/
+ mkdir -p $(PREFIX)/lib/calculer
+ install --mode=0755 libcli.so libtui.so libray.so $(PREFIX)/lib/calculer/
uninstall:
- rm -rf $(PREFIX)/bin/$(PROG)
+ rm -rf $(PREFIX)/bin/$(PROG) $(PREFIX)/lib/calculer
clean:
- rm -rf $(PROG) *.tar.gz src/*.o
+ rm -rf $(PROG) *.so *.tar.gz src/*.o
dist:
git archive \
diff --git a/Makefile.am b/Makefile.am
deleted file mode 100644
index 0182df2..0000000
--- a/Makefile.am
+++ /dev/null
@@ -1,2 +0,0 @@
-SUBDIRS = src
-ACLOCAL_AMFLAGS = -I m4
diff --git a/configure.ac b/configure.ac
deleted file mode 100644
index 1bd45c3..0000000
--- a/configure.ac
+++ /dev/null
@@ -1,57 +0,0 @@
-AC_INIT([calculer], [1.0.0])
-AC_CONFIG_HEADERS([config.h])
-AM_INIT_AUTOMAKE([-Wall -Werror, foreign])
-AC_CONFIG_MACRO_DIRS([m4])
-
-AM_PROG_AR
-AC_PROG_CC
-LT_INIT
-
-AH_TEMPLATE([USE_READLINE], [do we use GNU Readline ?])
-AC_DEFUN([LINENOISE_URL], [https://github.com/antirez/linenoise.git])
-
-AC_CHECK_LIB([readline],
- [readline],
- [AC_DEFINE([USE_READLINE], [1])
- use_readline=true
- AC_ARG_WITH([readline],
- AS_HELP_STRING([--without-readline],
- [do not use GNU Readline, and use the Linenoise library
- available at LINENOISE_URL]),
- if test ! -d "./linenoise/"
- then
- git clone --depth=1 'LINENOISE_URL'
- fi
- AC_DEFINE([USE_READLINE], [0])
- use_readline=false
- )],
- [AC_DEFINE([USE_READLINE], [0])
- use_readline=false]
-)
-
-AM_CONDITIONAL([USE_READLINE_COND], [test x$use_readline = xtrue])
-
-AC_CHECK_LIB([raylib],
- [InitWindow],
- [],
- [cat << EOF
-Error: the Raylib library was not found, you may install it either using
-your usual package manager or from source :
-https://www.raylib.com/
-EOF]
-)
-
-AC_ARG_ENABLE([debug],
- [AS_HELP_STRING([--enable-debug],
- [enable debugging, only useful for development])],
- [debug=true],
- [debug=false]
-)
-
-AM_CONDITIONAL([DEBUG_COND], [test x$debug = xtrue])
-
-AC_CONFIG_FILES([
- Makefile
- src/Makefile
-])
-AC_OUTPUT
diff --git a/src/Makefile.am b/src/Makefile.am
deleted file mode 100644
index 3c4c982..0000000
--- a/src/Makefile.am
+++ /dev/null
@@ -1,45 +0,0 @@
-bin_PROGRAMS = calculer
-AM_CFLAGS = -Wall -Wextra
-calculer_CFLAGS = $(AM_CFLAGS)
-AM_LDFLAGS =
-calculer_SOURCES = calculer.c disp.c
-
-if DEBUG_COND
-noinst_LTLIBRARIES = ray.la
-ray_la_SOURCES = ray.c calc_data.c input.c
-ray_la_LDFLAGS = -module -rpath @abs_srcdir@ -lraylib
-
-noinst_LTLIBRARIES += cli.la
-cli_la_SOURCES = cli.c
-cli_la_LDFLAGS = -module -rpath @abs_srcdir@
-
-noinst_LTLIBRARIES += tui.la
-tui_la_SOURCES = tui.c calc_data.c input.c
-tui_la_LDFLAGS = -module -rpath @abs_srcdir@ -lncurses
-
-if USE_READLINE_COND
-cli_la_LDFLAGS += -lreadline
-else # USE_READLINE_COND
-EXTRA_cli_la_SOURCES = linenoise.c
-cli_la_AM_CFLAGS = -I../linenoise/
-BUILT_SOURCES: linenoise_lib.c
-linenoise_lib.c:
- cp ../linenoise/linenoise.c ./$@
-endif # USE_READLINE_COND
-
-else # DEBUG_COND
-AM_CFLAGS += -DNDEBUG
-calculer_SOURCES += calc_data.c input.c cli.c tui.c ray.c
-AM_LDFLAGS += -lncurses
-
-if USE_READLINE_COND
-AM_LDFLAGS += -lreadline
-else # USE_READLINE_COND
-calculer_SOURCES += linenoise.c
-AM_CFLAGS += -I../linenoise/
-BUILT_SOURCES: linenoise.c
-linenoise.c:
- cp ../linenoise/linenoise.c ./$@
-endif # USE_READLINE_COND
-
-endif # DEBUG_COND