remade build.sh as makefile
This is first version, I don't know if it will be used as main compilation way... so yeah
This commit is contained in:
parent
2440440353
commit
3086e1aca0
54
Makefile
Normal file
54
Makefile
Normal file
@ -0,0 +1,54 @@
|
||||
# Compiler Settings
|
||||
CC=cc
|
||||
CFLAGS=-Wall
|
||||
|
||||
# Source Code
|
||||
SRC=src/lib/*.c
|
||||
SRC_APP=src/app/*.c
|
||||
INCLUDE_DIR="include"
|
||||
INCLUDE=$(INCLUDE_DIR)/*.h
|
||||
TEST=src/lib/test/main.c
|
||||
LIBS=-ljson-c -lcurl
|
||||
|
||||
# Output Files
|
||||
PROJECT_NAME=why2
|
||||
OUTPUT=out
|
||||
OUTPUT_TEST=$(OUTPUT)/$(PROJECT_NAME)-test
|
||||
OUTPUT_APP=$(OUTPUT)/$(PROJECT_NAME)-app
|
||||
|
||||
# Install Files
|
||||
INSTALL_INCLUDE=/usr/include
|
||||
INSTALL_LIBRARY=/usr/lib
|
||||
INSTALL_BIN=/usr/bin
|
||||
|
||||
# Misc
|
||||
DOLLAR=$
|
||||
|
||||
##########
|
||||
|
||||
all: install
|
||||
|
||||
install:
|
||||
# Install WHY2-Lib
|
||||
for file in $(INCLUDE); do install -m 755 -D $(DOLLAR)file -t $(INSTALL_INCLUDE)/$(PROJECT_NAME); done
|
||||
install -m 755 $(INCLUDE_DIR)/$(PROJECT_NAME).h $(INSTALL_INCLUDE)/$(PROJECT_NAME).h
|
||||
$(CC) $(CFLAGS) -fPIC -c $(SRC)
|
||||
$(CC) $(CFLAGS) -shared -o lib$(PROJECT_NAME).so *.o $(LIBS)
|
||||
install -m 755 lib$(PROJECT_NAME).so $(INSTALL_LIBRARY)/lib$(PROJECT_NAME).so
|
||||
# Install WHY2-App
|
||||
make app
|
||||
install -m 755 $(OUTPUT_APP) $(INSTALL_BIN)/$(PROJECT_NAME)
|
||||
make clean
|
||||
|
||||
test:
|
||||
$(CC) $(CFLAGS) $(TEST) -o $(OUTPUT_TEST) -l$(PROJECT_NAME)
|
||||
|
||||
app:
|
||||
$(CC) $(CFLAGS) $(SRC_APP) -o $(OUTPUT_APP) -l$(PROJECT_NAME)
|
||||
|
||||
installTest:
|
||||
make install
|
||||
make test
|
||||
|
||||
clean:
|
||||
rm -rf $(OUTPUT)/* *.o *.so
|
Loading…
x
Reference in New Issue
Block a user