소스 검색

Significant Makefile improvements (#21)

* Refactored makefile

Fixed min-js error; renamed routines inline with make conventions

Previously min-js would continually append to the file with `@echo "// @source https://github.com/pomf/pomf/tree/master/static/js" >> ./dist/pomf.min.js`.  Fixed so that it overwrites the file whenever it is run now.

mkdirs was renamed to installdirs as per makefile conwentions
copy was renamed to install for the same reasons

Added clean rule

Removed install from default target

Added DESTDIR,uninstall support

Added dist support

Replaced static program paths; misc improvements

Added missing installdirs target to default target

Added npm_dependencies target

Properly separated "build" and install targets

Modified readme to reflect make install and DESTDIR

Modified .travis.yml to reflect make npm_dependencies

Reverted to cp for install target, temporarily

Ideally this target would use install, but need to work out how to do that properly,  For the meantime, cp works.

Added missing * to install target

Update .travis.yml

Fixed bad markdown

* Update Makefile

* Removed @s cuz ???
master
akpu1 5 년 전
committed by Eliot Whalan
부모
커밋
0d539ff4af
3개의 변경된 파일64개의 추가작업 그리고 30개의 파일을 삭제
  1. +0
    -1
      .travis.yml
  2. +53
    -22
      Makefile
  3. +11
    -7
      README.md

+ 0
- 1
.travis.yml 파일 보기

@@ -11,7 +11,6 @@ install:
- nvm ls-remote
- nvm install stable
- nvm use stable
- npm install
script:
- make


+ 53
- 22
Makefile 파일 보기

@@ -1,31 +1,62 @@
all: mkdirs swig htmlmin min-css min-js copy
INSTALL="install"
TAR="tar"
GREP="grep"
NODE="node"
NPM="npm"
DESTDIR="./dist"
PKG_VERSION := $( $(GREP) -Po '(?<="version": ")[^"]*' )
TMPDIR := $(shell mktemp -d)

all: builddirs npm_dependencies swig htmlmin min-css min-js copy-img copy-php

swig:
@node node_modules/swig/bin/swig.js render -j dist.json templates/faq.swig > dist/faq.html
@node node_modules/swig/bin/swig.js render -j dist.json templates/index.swig > dist/index.html
@node node_modules/swig/bin/swig.js render -j dist.json templates/tools.swig > dist/tools.html
$(NODE) node_modules/swig/bin/swig.js render -j dist.json templates/faq.swig > $(CURDIR)/build/faq.html
$(NODE) node_modules/swig/bin/swig.js render -j dist.json templates/index.swig > $(CURDIR)/build/index.html
$(NODE) node_modules/swig/bin/swig.js render -j dist.json templates/tools.swig > $(CURDIR)/build/tools.html

htmlmin:
@node node_modules/htmlmin/bin/htmlmin dist/index.html -o dist/index.html
@node node_modules/htmlmin/bin/htmlmin dist/faq.html -o dist/faq.html
@node node_modules/htmlmin/bin/htmlmin dist/tools.html -o dist/tools.html

mkdirs:
@mkdir -p ./dist/img
$(NODE) node_modules/htmlmin/bin/htmlmin $(CURDIR)/build/index.html -o $(CURDIR)/build/index.html
$(NODE) node_modules/htmlmin/bin/htmlmin $(CURDIR)/build/faq.html -o $(CURDIR)/build/faq.html
$(NODE) node_modules/htmlmin/bin/htmlmin $(CURDIR)/build/tools.html -o $(CURDIR)/build/tools.html

installdirs:
mkdir -p $(DESTDIR)/ $(DESTDIR)/img $(DESTDIR)/classes $(DESTDIR)/includes
min-css:
@node ./node_modules/.bin/cleancss --s0 ./static/css/pomf.css > ./dist/pomf.min.css
$(NODE) ./node_modules/.bin/cleancss --s0 ./static/css/pomf.css > $(CURDIR)/build/pomf.min.css

min-js:
@echo "// @source https://github.com/pomf/pomf/tree/master/static/js" >> ./dist/pomf.min.js
@echo "// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat" >> ./dist/pomf.min.js
@node ./node_modules/.bin/uglifyjs --screw-ie8 ./static/js/app.js >> ./dist/pomf.min.js
@echo "// @license-end" >> ./dist/pomf.min.js

copy:
@cp -r ./php/* ./dist/
@cp ./static/img/*.png ./dist/img
@cp ./static/img/favicon.ico ./dist/favicon.ico

echo "// @source https://github.com/pomf/pomf/tree/master/static/js" > $(CURDIR)/build/pomf.min.js
echo "// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat" >> $(CURDIR)/build/pomf.min.js
$(NODE) ./node_modules/.bin/uglifyjs --screw-ie8 ./static/js/app.js >> $(CURDIR)/build/pomf.min.js
echo "// @license-end" >> $(CURDIR)/build/pomf.min.js

copy-img:
cp -v ./static/img/*.png $(CURDIR)/build/img/
cp -vT ./static/img/favicon.ico $(CURDIR)/build/favicon.ico

copy-php:
cp -rv ./php/* $(CURDIR)/build/

install: installdirs
cp -rv $(CURDIR)/build/* $(DESTDIR)/

dist:
DESTDIR=$(TMPDIR)/pomf-$(PKGVERSION)
export DESTDIR
install
$(TAR) cJf pomf-$(PKG_VERSION).tar.xz $(DESTDIR)
rm -rf $(TMPDIR)
clean:
rm -rvf $(CURDIR)/node_modules
rm -rvf $(CURDIR)/build
uninstall:
rm -rvf $(DESTDIR)/
npm_dependencies:
$(NPM) install

builddirs:
mkdir -p $(CURDIR)/build $(CURDIR)/build/img $(CURDIR)/build/classes $(CURDIR)/build/includes

+ 11
- 7
README.md 파일 보기

@@ -41,13 +41,17 @@ Node, or NPM. So we'll just assume you already have them all running well.

Assuming you already have Node and NPM working, compilation is easy. Use the
following shell code:

git clone https://github.com/pomf/pomf
cd pomf/
npm install
make

After this, the pomf site is now compressed and set up inside `dist/`.
```bash
git clone https://github.com/pomf/pomf
cd pomf/
make
make install
```
OR
```bash
make install DESTDIR=/desired/path/for/site
```
After this, the pomf site is now compressed and set up inside `dist/`, or, if specified, `DESTDIR`.

## Configuring



불러오는 중...
취소
저장