Simplify amalgamation script
This commit is contained in:
@@ -11,12 +11,10 @@ OFILES = $(patsubst %.c,%.o,$(CFILES))
|
||||
# Library names
|
||||
LIBNAME = chttp
|
||||
STATIC_LIB = lib$(LIBNAME).a
|
||||
SHARED_LIB = lib$(LIBNAME).so
|
||||
|
||||
# Detect OS and set executable extension
|
||||
ifeq ($(OS),Windows_NT)
|
||||
EXT = .exe
|
||||
SHARED_LIB = $(LIBNAME).dll
|
||||
else
|
||||
EXT = .out
|
||||
endif
|
||||
@@ -36,10 +34,10 @@ EXAMPLES_ENGINE := $(patsubst %.c,%$(EXT),$(EXAMPLES_ENGINE_SRC))
|
||||
|
||||
all: chttp.c chttp.h examples lib
|
||||
|
||||
lib: $(STATIC_LIB) $(SHARED_LIB)
|
||||
lib: $(STATIC_LIB)
|
||||
|
||||
chttp.c chttp.h: $(HFILES) $(CFILES)
|
||||
python misc/amalg.py
|
||||
python amalg.py
|
||||
|
||||
# Object files from source files
|
||||
%.o: %.c $(HFILES)
|
||||
@@ -49,10 +47,6 @@ chttp.c chttp.h: $(HFILES) $(CFILES)
|
||||
$(STATIC_LIB): $(OFILES)
|
||||
$(AR) rcs $@ $^
|
||||
|
||||
# Shared library
|
||||
$(SHARED_LIB): $(OFILES)
|
||||
$(CC) -shared -o $@ $^ $(LFLAGS)
|
||||
|
||||
examples: $(EXAMPLES_CLIENT) $(EXAMPLES_SERVER) $(EXAMPLES_ENGINE)
|
||||
|
||||
examples/client/%$(EXT): examples/client/%.c chttp.c chttp.h
|
||||
@@ -64,28 +58,11 @@ examples/server/%$(EXT): examples/server/%.c chttp.c chttp.h
|
||||
examples/engine/%$(EXT): examples/engine/%.c chttp.c chttp.h
|
||||
$(CC) $(CFLAGS) $< chttp.c -o $@ $(LFLAGS)
|
||||
|
||||
# Installation targets
|
||||
install: install-lib install-headers
|
||||
|
||||
install-lib: $(STATIC_LIB) $(SHARED_LIB)
|
||||
install -d $(LIBDIR)
|
||||
install -m 644 $(STATIC_LIB) $(LIBDIR)/
|
||||
install -m 755 $(SHARED_LIB) $(LIBDIR)/
|
||||
|
||||
install-headers: chttp.h
|
||||
install -d $(INCDIR)
|
||||
install -m 644 chttp.h $(INCDIR)/
|
||||
|
||||
uninstall:
|
||||
rm -f $(LIBDIR)/$(STATIC_LIB)
|
||||
rm -f $(LIBDIR)/$(SHARED_LIB)
|
||||
rm -f $(INCDIR)/chttp.h
|
||||
|
||||
clean:
|
||||
rm -f client_example server_example
|
||||
rm -f examples/client/*$(EXT) examples/server/*$(EXT) examples/engine/*$(EXT)
|
||||
rm -f $(OFILES)
|
||||
rm -f $(STATIC_LIB) $(SHARED_LIB)
|
||||
rm -f $(STATIC_LIB)
|
||||
rm -f chttp.c chttp.h
|
||||
|
||||
.PHONY: all lib examples install install-lib install-headers uninstall clean
|
||||
|
||||
Reference in New Issue
Block a user