UNIXworkcode

1 # 2 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 3 # 4 # Copyright 2023 Olaf Wintermann. All rights reserved. 5 # 6 # Redistribution and use in source and binary forms, with or without 7 # modification, are permitted provided that the following conditions are met: 8 # 9 # 1. Redistributions of source code must retain the above copyright notice, 10 # this list of conditions and the following disclaimer. 11 # 12 # 2. Redistributions in binary form must reproduce the above copyright 13 # notice, this list of conditions and the following disclaimer in the 14 # documentation and/or other materials provided with the distribution. 15 # 16 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19 # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 20 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 24 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 25 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 26 # POSSIBILITY OF SUCH DAMAGE. 27 # 28 29 # this makefile is invoked from the build root directory 30 31 BUILD_ROOT = ./ 32 include config.mk 33 34 BUILD_DIRS = build/bin build/lib 35 BUILD_DIRS += build/application build/ucx build/libidav 36 BUILD_DIRS += build/ui/common build/ui/$(TOOLKIT) 37 38 all: $(BUILD_DIRS) ucx ui libidav application 39 40 41 $(BUILD_DIRS): 42 mkdir -p $@ 43 44 ui: ucx FORCE 45 cd ui; $(MAKE) all 46 47 ucx: FORCE 48 cd ucx; $(MAKE) all 49 50 libidav: ucx FORCE 51 cd libidav; $(MAKE) all 52 53 application: ui libidav FORCE 54 cd application; $(MAKE) 55 56 FORCE: 57 58