diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 62 |
1 files changed, 40 insertions, 22 deletions
@@ -1,47 +1,65 @@ .POSIX: +LIB_MAJOR = 1 +LIB_MINOR = 0 +LIB_VERSION = $(LIB_MAJOR).$(LIB_MINOR) + + CONFIGFILE = config.mk include $(CONFIGFILE) -VERSION_MAJOR = 1 -VERSION = 1.0 +OS = linux +# Linux: linux +# Mac OS: macos +# Windows: windows +include mk/$(OS).mk + + +OBJ =\ + solar.o\ + blackbody.o -all: libred.a libred.so -solar.o: solar.c libred.h -blackbody.o: blackbody.c 10deg-xy.i 10deg-rgb.i libred.h +LOBJ = $(OBJ:.o=.lo) + + +all: libred.a libred.$(LIBEXT) +solar.o: libred.h +blackbody.o: 10deg-xy.i 10deg-rgb.i libred.h +generate-table.o: blackbody.c 10deg-xy.i libred.h 10deg-xy.i: 10deg sed -e 's/^/{/' -e 's/ /, /' -e 's/$$/},/' < 10deg | sed '$$s/,$$//' > $@ -generate-table: generate-table.c blackbody.c 10deg-xy.i libred.h - $(CC) -o $@ generate-table.c $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) - 10deg-rgb.i: generate-table 10deg ./generate-table > $@ +.o: + $(CC) -o $@ $< $(LDFLAGS) + .c.o: - $(CC) -c -o $@ $< $(CPPFLAGS) $(CFLAGS) + $(CC) -c -o $@ $< $(CFLAGS) $(CPPFLAGS) .c.lo: - $(CC) -fPIC -c -o $@ $< $(CPPFLAGS) $(CFLAGS) + $(CC) -fPIC -c -o $@ $< $(CFLAGS) $(CPPFLAGS) -libred.a: solar.o blackbody.o - $(AR) rc $@ $? +libred.a: $(OBJ) + -@rm -f -- $@ + $(AR) rc $@ $(OBJ) $(AR) s $@ -libred.so: solar.lo blackbody.lo - $(CC) -shared -Wl,-soname,libred.so.$(VERSION_MAJOR) -o $@ $(LDFLAGS) solar.lo blackbody.lo +libred.$(LIBEXT): $(LOBJ) + $(CC) $(LIBFLAGS) -o $@ $(LOBJ) $(LDFLAGS) -install: libred.a libred.so +install: libred.a libred.$(LIBEXT) mkdir -p -- "$(DESTDIR)$(PREFIX)/lib" mkdir -p -- "$(DESTDIR)$(PREFIX)/include" mkdir -p -- "$(DESTDIR)$(MANPREFIX)/man0" mkdir -p -- "$(DESTDIR)$(MANPREFIX)/man3" mkdir -p -- "$(DESTDIR)$(MANPREFIX)/man7" cp -- libred.a "$(DESTDIR)$(PREFIX)/lib" - cp -- libred.so "$(DESTDIR)$(PREFIX)/lib/libred.so.$(VERSION_MAJOR)" - ln -sf -- libred.so.$(VERSION_MAJOR) "$(DESTDIR)$(PREFIX)/lib/libred.so.$(VERSION)" - ln -sf -- libred.so.$(VERSION_MAJOR) "$(DESTDIR)$(PREFIX)/lib/libred.so" + cp -- libred.$(LIBEXT) "$(DESTDIR)$(PREFIX)/lib/libred.$(LIBMINOREXT)" + ln -sf -- libred.$(LIBMINOREXT) "$(DESTDIR)$(PREFIX)/lib/libred.$(LIBMAJOREXT)" + ln -sf -- libred.$(LIBMAJOREXT) "$(DESTDIR)$(PREFIX)/lib/libred.$(LIBEXT)" cp -- libred.h "$(DESTDIR)$(PREFIX)/include" cp -- libred.h.0 "$(DESTDIR)$(MANPREFIX)/man0" cp -- libred_check_timetravel.3 libred_get_colour.3 libred_solar_elevation.3 "$(DESTDIR)$(MANPREFIX)/man3" @@ -49,9 +67,9 @@ install: libred.a libred.so uninstall: -rm -f -- "$(DESTDIR)$(PREFIX)/lib/libred.a" - -rm -f -- "$(DESTDIR)$(PREFIX)/lib/libred.so.$(VERSION_MAJOR)" - -rm -f -- "$(DESTDIR)$(PREFIX)/lib/libred.so.$(VERSION)" - -rm -f -- "$(DESTDIR)$(PREFIX)/lib/libred.so" + -rm -f -- "$(DESTDIR)$(PREFIX)/lib/libred.$(LIBMAJOREXT)" + -rm -f -- "$(DESTDIR)$(PREFIX)/lib/libred.$(LIBMINOREXT)" + -rm -f -- "$(DESTDIR)$(PREFIX)/lib/libred.$(LIBEXT)" -rm -f -- "$(DESTDIR)$(PREFIX)/include/libred.h" -rm -f -- "$(DESTDIR)$(MANPREFIX)/man0/libred.h.0" -rm -f -- "$(DESTDIR)$(MANPREFIX)/man3/libred_check_timetravel.3" @@ -60,7 +78,7 @@ uninstall: -rm -f -- "$(DESTDIR)$(MANPREFIX)/man7/libred.7" clean: - -rm -f -- generate-table *.i *.o *.a *.lo *.su *.so + -rm -f -- generate-table *.i *.o *.a *.lo *.su *.so *.dll *.dylib .SUFFIXES: .SUFFIXES: .c .o .lo |