• R/O
  • HTTP
  • SSH
  • HTTPS

コミット

タグ
未設定

よく使われているワード(クリックで追加)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Graphics library for Mercury, including OpenGL bindings, TGA image reading, and X11, Win32, and SDL2 windowing and input.


コミットメタ情報

リビジョンc3df886263a6a4a2f4f65cb2047e9588e0b08739 (tree)
日時2022-06-03 00:16:13
作者AlaskanEmily <emily@alas...>
コミッターAlaskanEmily

ログメッセージ

Some cleanups in Unix makefile

変更サマリ

差分

--- a/makefile
+++ b/makefile
@@ -1,17 +1,21 @@
11 # Unix makefile to build Saffron.
22 # Needs GNU Make or BSD Make.
33
4-CC?=gcc
54 CFLAGS?=-O1 -g
65 MMC?=mmc
76 SO?=so
8-MMC_OPTS?=--use-grade-subdirs --intermodule-optimization -O 7 --output-compile-error-lines 1024 --c-include-dir /usr/X11R6/include --c-include-dir /usr/local/include -L /usr/X11R6/lib -L /usr/local/lib --cflag -g --ld-flag -g
9-GRADE_OPT=`if test ! -z '$(GRADE)' ; then echo ' --grade=$(GRADE)' ; fi`
10-PARALLEL_OPT=`if test ! -z '$(PARALLEL)' ; then echo ' -j $(PARALLEL)' ; fi`
7+ROOT!=pwd
8+MMC_EXTRA_FLAGS1!=uname | egrep -v 'BSD$$' >/dev/null || echo ' --c-include-dir /usr/X11R6/include -L /usr/X11R6/include'
9+MMC_EXTRA_FLAGS2!=uname | fgrep Linux >/dev/null || echo ' --c-include-dir /usr/local/include -L /usr/local/include'
10+MMC_OPTS?=--use-grade-subdirs --intermodule-optimization -O 7 --output-compile-error-lines 1024 $(MMC_EXTRA_FLAGS1) $(MMC_EXTRA_FLAGS2) --cflag -g --ld-flag -g
11+GRADE_OPT!=test -z '$(GRADE)' || echo ' --grade=$(GRADE)'
12+PARALLEL_OPT!=test -z '$(PARALLEL)' || echo ' -j $(PARALLEL)'
1113 SAFFRON_MMC_OPTS=$(MMC_OPTS) $(GRADE_OPT) $(PARALLEL_OPT)
1214 SHARED_MMC_FLAGS=--linkage shared --lib-linkage shared
1315 STATIC_MMC_FLAGS=--linkage static --lib-linkage static
1416 AWK?=awk
17+CC!=$(MMC) $(SAFFRON_MMC_OPTS) --output-cc
18+CFLAGS!=$(MMC) $(SAFFRON_MMC_OPTS) --output-cflags
1519
1620 ALL=build_saffron
1721 all: $(ALL)
@@ -22,24 +26,24 @@ utils: $(UTILS)
2226 DEMOS=build_saffron_cube_demo
2327 demos: $(DEMOS)
2428
25-MMATH_LINK_FLAGS=--search-lib-files-dir "$$ROOT/mmath" --init-file "$$ROOT/mmath/mmath.init"
29+MMATH_LINK_FLAGS=--search-lib-files-dir '$(ROOT)/mmath' --init-file '$(ROOT)/mmath/mmath.init'
2630 # Used for utils, tests, and demos. That's why it requires the ROOT variable to be set in shell.
27-SAFFRON_LINK_FLAGS=--search-lib-files-dir "$$ROOT" --init-file "$$ROOT/saffron.init"
28-GLOW_INCLUDE_FLAGS=--c-include-dir "$$ROOT/glow"
31+SAFFRON_LINK_FLAGS=--search-lib-files-dir '$(ROOT)' --init-file '$(ROOT)/saffron.init'
32+GLOW_INCLUDE_FLAGS=--c-include-dir '$(ROOT)/glow'
2933 # Transunit, used for testing.
30-TRANSUNIT_LINK_FLAGS=--search-lib-files-dir "$$ROOT/test/transunit" --init-file "$$ROOT/test/transunit/transunit.init" --link-object "$$ROOT/test/transunit/libtransunit.a"
34+TRANSUNIT_LINK_FLAGS=--search-lib-files-dir '$(ROOT)/test/transunit' --init-file '$(ROOT)/test/transunit/transunit.init' --link-object '$(ROOT)/test/transunit/libtransunit.a'
3135 # TGA, used for some demos and has its own tests.
32-SAFFRON_TGA_LINK_FLAGS=--search-lib-files-dir "$$ROOT/util/tga" --init-file "$$ROOT/util/tga/saffron_tga.init"
33-SAFFRON_GLOW_LINK_FLAGS=--search-lib-files-dir "$$ROOT/util/glow" --init-file "$$ROOT/util/glow/saffron_glow.init" $(GLOW_INCLUDE_FLAGS)
34-SAFFRON_WINDOW_LINK_FLAGS=--search-lib-files-dir "$$ROOT/util/window" --init-file "$$ROOT/util/window/saffron_window.init"
36+SAFFRON_TGA_LINK_FLAGS=--search-lib-files-dir '$(ROOT)/util/tga' --init-file '$(ROOT)/util/tga/saffron_tga.init'
37+SAFFRON_GLOW_LINK_FLAGS=--search-lib-files-dir '$(ROOT)/util/glow' --init-file '$(ROOT)/util/glow/saffron_glow.init' $(GLOW_INCLUDE_FLAGS)
38+SAFFRON_WINDOW_LINK_FLAGS=--search-lib-files-dir '$(ROOT)/util/window' --init-file '$(ROOT)/util/window/saffron_window.init'
3539
3640 # Generated source.
3741 saffron.gl.buffer.inc: saffron.gl_gen.awk saffron.gl.buffer.csv
38- $(AWK) -F, -f saffron.gl_gen.awk < saffron.gl.buffer.csv > '$@'
42+ $(AWK) -F, -f saffron.gl_gen.awk saffron.gl.buffer.csv > '$@'
3943 @touch saffron.gl.buffer.m # Force the Mercury compiler to rebuild this...
4044
4145 saffron.gl.shader.inc: saffron.gl_gen.awk saffron.gl.shader.csv
42- $(AWK) -F, -f saffron.gl_gen.awk < saffron.gl.shader.csv > '$@'
46+ $(AWK) -F, -f saffron.gl_gen.awk saffron.gl.shader.csv > '$@'
4347 @touch saffron.gl.shader.m # Force the Mercury compiler to rebuild this...
4448
4549 # Primary libraries.
@@ -48,7 +52,7 @@ saffron.gl.shader.inc: saffron.gl_gen.awk saffron.gl.shader.csv
4852 libsaffron.$(SO): build_saffron
4953 build_saffron: build_mmath saffron.gl.buffer.inc saffron.gl.shader.inc
5054 ROOT=`pwd` && $(MMC) $(SAFFRON_MMC_OPTS) $(MMATH_LINK_FLAGS) --make libsaffron $(STATIC_MMC_FLAGS)
51- ROOT=`pwd` && $(MMC) $(SAFFRON_MMC_OPTS) $(MMATH_LINK_FLAGS) --make libsaffron $(SHARED_MMC_FLAGS) -L "$$ROOT/mmath" -lmmath -lGL -lX11
55+ ROOT=`pwd` && $(MMC) $(SAFFRON_MMC_OPTS) $(MMATH_LINK_FLAGS) --make libsaffron $(SHARED_MMC_FLAGS) -L '$(ROOT)/mmath' -lmmath -lGL -lX11
5256 install libsaffron.$(SO) demo/
5357 install libsaffron.$(SO) test/
5458
@@ -59,8 +63,8 @@ build_mmath:
5963 install mmath/libmmath.$(SO) demo/
6064 install mmath/libmmath.$(SO) test/
6165
62-CLEAN_LIB=for X in "$$ROOT/$$DIR"/*.err "$$ROOT/$$DIR"/*.mh "$$ROOT/$$DIR"/*.init "$$ROOT/$$DIR"/*.a "$$ROOT/$$DIR"/*.so "$$ROOT/$$DIR"/*.dylib "$$ROOT/$$DIR"/*.lib "$$ROOT/$$DIR"/*.dll ; do if test -f "$$X" || test -h "$$X" ; then rm "$$X" ; fi ; done
63-CLEAN_MERCURY=cd "$$ROOT/$$DIR" && $(MMC) $(SAFFRON_MMC_OPTS) $(SAFFRON_LINK_FLAGS) --make "$$TARGET".clean ; $(CLEAN_LIB)
66+CLEAN_LIB=for X in "$(ROOT)/$$DIR"/*.err "$(ROOT)/$$DIR"/*.mh "$(ROOT)/$$DIR"/*.init "$(ROOT)/$$DIR"/*.a "$(ROOT)/$$DIR"/*.so "$(ROOT)/$$DIR"/*.dylib "$(ROOT)/$$DIR"/*.lib "$(ROOT)/$$DIR"/*.dll ; do if test -f "$$X" || test -h "$$X" ; then rm "$$X" ; fi ; done
67+CLEAN_MERCURY=cd "$(ROOT)/$$DIR" && $(MMC) $(SAFFRON_MMC_OPTS) $(SAFFRON_LINK_FLAGS) --make "$$TARGET".clean ; $(CLEAN_LIB)
6468
6569 #Utils
6670 glow/libglow.$(SO): build_glow
@@ -71,70 +75,71 @@ build_glow:
7175
7276 util/glow/libsaffron_glow.$(SO): build_saffron_glow
7377 build_saffron_glow: build_glow build_saffron_window build_saffron
74- ROOT=`pwd` && cd util/glow && $(MMC) $(SAFFRON_MMC_OPTS) $(MMATH_LINK_FLAGS) $(SAFFRON_LINK_FLAGS) $(SAFFRON_WINDOW_LINK_FLAGS) $(GLOW_INCLUDE_FLAGS) --make libsaffron_glow $(STATIC_MMC_FLAGS)
75- ROOT=`pwd` && cd util/glow && $(MMC) $(SAFFRON_MMC_OPTS) $(MMATH_LINK_FLAGS) $(SAFFRON_LINK_FLAGS) $(SAFFRON_WINDOW_LINK_FLAGS) $(GLOW_INCLUDE_FLAGS) --make libsaffron_glow $(SHARED_MMC_FLAGS) -L "$$ROOT/util/window" -lsaffron_window -L "$$ROOT" -lsaffron -L "$$ROOT/glow" -lglow -l GL -l X11
78+ cd util/glow && $(MMC) $(SAFFRON_MMC_OPTS) $(MMATH_LINK_FLAGS) $(SAFFRON_LINK_FLAGS) $(SAFFRON_WINDOW_LINK_FLAGS) $(GLOW_INCLUDE_FLAGS) --make libsaffron_glow $(STATIC_MMC_FLAGS)
79+ cd util/glow && $(MMC) $(SAFFRON_MMC_OPTS) $(MMATH_LINK_FLAGS) $(SAFFRON_LINK_FLAGS) $(SAFFRON_WINDOW_LINK_FLAGS) $(GLOW_INCLUDE_FLAGS) --make libsaffron_glow $(SHARED_MMC_FLAGS) -L '$(ROOT)/util/window' -lsaffron_window -L '$(ROOT)' -lsaffron -L '$(ROOT)/glow' -lglow -l GL -l X11
7680 install util/glow/libsaffron_glow.$(SO) demo/
7781 install util/glow/libsaffron_glow.$(SO) test/
7882
7983 util/window/libsaffron_window.$(SO): build_saffron_window
8084 build_saffron_window:
81- ROOT=`pwd` && cd util/window && $(MMC) $(SAFFRON_MMC_OPTS) $(MMATH_LINK_FLAGS) $(SAFFRON_LINK_FLAGS) --make libsaffron_window $(STATIC_MMC_FLAGS)
82- ROOT=`pwd` && cd util/window && $(MMC) $(SAFFRON_MMC_OPTS) $(MMATH_LINK_FLAGS) $(SAFFRON_LINK_FLAGS) --make libsaffron_window $(SHARED_MMC_FLAGS)
85+ cd util/window && $(MMC) $(SAFFRON_MMC_OPTS) $(MMATH_LINK_FLAGS) $(SAFFRON_LINK_FLAGS) --make libsaffron_window $(STATIC_MMC_FLAGS)
86+ cd util/window && $(MMC) $(SAFFRON_MMC_OPTS) $(MMATH_LINK_FLAGS) $(SAFFRON_LINK_FLAGS) --make libsaffron_window $(SHARED_MMC_FLAGS)
8387 install util/window/libsaffron_window.$(SO) demo/
8488 install util/window/libsaffron_window.$(SO) test/
8589
8690 build_saffron_tga:
87- ROOT=`pwd` && cd util/tga && $(MMC) $(SAFFRON_MMC_OPTS) --make libsaffron_tga $(STATIC_MMC_FLAGS)
91+ cd util/tga && $(MMC) $(SAFFRON_MMC_OPTS) --make libsaffron_tga $(STATIC_MMC_FLAGS)
8892
8993 # Demos
9094
9195 # Shared resources between demos and test.
9296 # All of these are copied from the test directory to the demo directory.
9397 demo/res/crate.tga: test/res/tga/crate.tga
94- cp "$<" demo/res/
98+ cp '$<' demo/res/
9599
96100 demo/res/ctc24.tga: test/res/tga/ctc24.tga
97- cp "$<" demo/res/
101+ cp '$<' demo/res/
98102
99103 build_saffron_cube_demo: demo/res/crate.tga build_saffron build_saffron_tga build_saffron_window build_saffron_glow
100- ROOT=`pwd` && cd demo && $(MMC) $(SAFFRON_MMC_OPTS) -E --make saffron_cube_demo $(MMATH_LINK_FLAGS) $(SAFFRON_LINK_FLAGS) $(SAFFRON_GLOW_LINK_FLAGS) $(SAFFRON_WINDOW_LINK_FLAGS) $(SAFFRON_TGA_LINK_FLAGS) -L "$$ROOT/glow" -lglow -lX11 -lmmath -lsaffron -lsaffron_window -lsaffron_glow --link-object "$$ROOT/util/tga/libsaffron_tga.a" -lGL
104+ cd demo && $(MMC) $(SAFFRON_MMC_OPTS) -E --make saffron_cube_demo $(MMATH_LINK_FLAGS) $(SAFFRON_LINK_FLAGS) $(SAFFRON_GLOW_LINK_FLAGS) $(SAFFRON_WINDOW_LINK_FLAGS) $(SAFFRON_TGA_LINK_FLAGS) -L '$(ROOT)/glow' -lglow -lX11 -lmmath -lsaffron -lsaffron_window -lsaffron_glow --link-object '$(ROOT)/util/tga/libsaffron_tga.a' -lGL
101105
102106 # Testing
103107 build_transunit:
104108 cd test/transunit && $(MMC) $(SAFFRON_MMC_OPTS) --make libtransunit $(STATIC_MMC_FLAGS)
105109
106110 test_saffron_tga: build_transunit build_saffron_tga
107- ROOT=`pwd` && cd test && $(MMC) $(SAFFRON_MMC_OPTS) --make saffron_tga_test $(TRANSUNIT_LINK_FLAGS) $(SAFFRON_TGA_LINK_FLAGS)
108- ROOT=`pwd` && cd test/res/tga && "$$ROOT/test/saffron_tga_test"
111+ cd test && $(MMC) $(SAFFRON_MMC_OPTS) --make saffron_tga_test $(TRANSUNIT_LINK_FLAGS) $(SAFFRON_TGA_LINK_FLAGS)
112+ cd test/res/tga && "$(ROOT)/test/saffron_tga_test"
109113
110114 # Clean
111115 clean_mmath:
112- ROOT=`pwd` ; DIR=mmath ; TARGET=mmath ; $(CLEAN_MERCURY)
116+ DIR=mmath ; TARGET=mmath ; $(CLEAN_MERCURY)
113117
114118 clean_saffron:
115- ROOT=`pwd` ; DIR=. ; TARGET=saffron ; $(CLEAN_MERCURY)
119+ DIR='$(ROOT)' ; TARGET=saffron ; $(CLEAN_MERCURY)
116120
117121 clean_glow:
118- ROOT=`pwd` ; DIR=glow ; $(CLEAN_LIB)
122+ DIR=glow ; $(CLEAN_LIB)
123+ rm -f glow/*.o glow/*.os
119124
120125 clean_saffron_glow:
121- ROOT=`pwd` ; DIR=util/glow ; TARGET=saffron_glow ; $(CLEAN_MERCURY)
126+ DIR=util/glow ; TARGET=saffron_glow ; $(CLEAN_MERCURY)
122127
123128 clean_saffron_tga:
124- ROOT=`pwd` ; DIR=util/tga ; TARGET=saffron_tga ; $(CLEAN_MERCURY)
129+ DIR=util/tga ; TARGET=saffron_tga ; $(CLEAN_MERCURY)
125130
126131 clean_saffron_window:
127- ROOT=`pwd` ; DIR=util/window ; TARGET=saffron_wingow ; $(CLEAN_MERCURY)
132+ DIR=util/window ; TARGET=saffron_wingow ; $(CLEAN_MERCURY)
128133
129134 clean_test_saffron_tga:
130- ROOT=`pwd` ; DIR=test ; TARGET=test_saffron_tga ; $(CLEAN_MERCURY)
135+ DIR=test ; TARGET=test_saffron_tga ; $(CLEAN_MERCURY)
131136
132137 clean_saffron_cube_demo:
133- ROOT=`pwd` ; DIR=demo ; TARGET=saffron_cube_demo ; $(CLEAN_MERCURY)
138+ DIR=demo ; TARGET=saffron_cube_demo ; $(CLEAN_MERCURY)
134139
135-CLEAN=clean_mmath clean_saffron clean_saffron_glow clean_saffron_window clean_saffron_tga clean_glow clean_test_saffron_tga clean_saffron_cube_demo
140+CLEAN=clean_mmath clean_saffron clean_glow clean_saffron_glow clean_saffron_window clean_saffron_tga clean_glow clean_test_saffron_tga clean_saffron_cube_demo
136141 clean: $(CLEAN)
137- rm -f demo/lib*.$(SO) # Remove the demo libraries we copied.
142+ rm -f demo/res/crate.tga demo/res/ctc24.tga demo/lib*.$(SO) # Remove the demo libraries we copied.
138143
139144 .IGNORE: $(CLEAN)
140145 .PHONY: all demos test utils $(ALL) build_mmath $(UTILS) build_saffron_tga build_saffron_window build_glow build_saffron_glow build_saffron_cube_demo build_test_saffron_tga $(DEMOS) $(CLEAN)