1#! make -f 2#--------------------------------------------------------------------------- 3# Project: TwlSDK - tools - makelcf.TWL 4# File: Makefile 5# 6# Copyright 2007-2008 Nintendo. All rights reserved. 7# 8# These coded instructions, statements, and computer programs contain 9# proprietary information of Nintendo of America Inc. and/or Nintendo 10# Company Ltd., and are protected by Federal copyright law. They may 11# not be disclosed to third parties or copied or duplicated in any form, 12# in whole or in part, without the prior written consent of Nintendo. 13# 14# $Date:: 2008-09-18#$ 15# $Rev: 8573 $ 16# $Author: okubata_ryoma $ 17#--------------------------------------------------------------------------- 18 19TARGET_PLATFORM = TWL 20 21include $(TWLSDK_ROOT)/build/buildtools/commondefs 22 23#--------------------------------------------------------------------------- 24 25TARGET_BIN = makelcf.TWL.exe 26TARGETS = $(BINDIR)/$(TARGET_BIN) 27 28SRCS = makelcf.c \ 29 defval.c \ 30 misc.c \ 31 container.c \ 32 createlcf.c \ 33 spec.tab.c \ 34 spec.yy.patched.c \ 35 tlcf.tab.c \ 36 tlcf.yy.c \ 37 version.c 38 39HEADERS = defval.h \ 40 makelcf.h \ 41 misc.h 42 43OBJDIR = obj 44BINDIR = bin 45 46OBJS = $(addprefix $(OBJDIR)/,$(SRCS:.c=.o)) 47 48MACROS += -DSDK_TWL 49NEWDIRS = $(OBJDIR) $(BINDIR) 50LDIRT_CLEAN += $(NEWDIRS) version.c \ 51 spec.tab.c spec.tab.h spec.yy.c spec.yy.patched.c \ 52 tlcf.tab.c tlcf.tab.h tlcf.yy.c 53 54INSTALL_DIR = $(TWL_INSTALL_TOOLSDIR)/bin 55INSTALL_TARGETS = $(TARGETS) 56 57#--------------------------------------------------------------------------- 58 59include $(TWLSDK_ROOT)/build/buildtools/modulerules.x86 60 61do-build: $(TARGETS) 62 63$(TARGETS): $(OBJS) $(MAKEFILE) 64 $(CC_X86) $(OBJS) -o $@ 65 66$(OBJS):%.o: 67 $(COMPILE_C) 68 69$(OBJDIR)/makelcf.o: makelcf.c makelcf.h version.c 70$(OBJDIR)/container.o: container.c makelcf.h 71$(OBJDIR)/createlcf.o: createlcf.c makelcf.h tlcf.tab.c 72$(OBJDIR)/defval.o: defval.c misc.h defval.h makelcf.h 73$(OBJDIR)/misc.o: misc.c misc.h defval.h makelcf.h 74 75$(OBJDIR)/spec.tab.o: spec.tab.c makelcf.h 76$(OBJDIR)/spec.yy.patched.o: spec.yy.patched.c spec.tab.c makelcf.h 77$(OBJDIR)/spec.tab.o: spec.tab.c 78$(OBJDIR)/tlcf.yy.o: tlcf.yy.c tlcf.tab.c makelcf.h 79$(OBJDIR)/tlcf.tab.o: tlcf.tab.c 80$(OBJDIR)/version.o: version.c 81 82spec.yy.c: spec.l spec.tab.c 83spec.tab.c: spec.y 84tlcf.yy.c: tlcf.l 85tlcf.tab.c: tlcf.y 86 87$(OBJDIR)/spec.yy.patched.o: WARNING += -Wno-unused-label -Wno-unused-function 88 89spec.yy.patched.c: spec.yy.c 90 sed 's/^#define YY_BUF_SIZE 16384/#define YY_BUF_SIZE (1024*1024)/' $< > $@ 91 92version.c: $(filter-out version.c,$(SOURCES)) $(HEADERS) $(MAKEFILE) 93 @for i in $^ ; \ 94 do \ 95 date -r $$i +'const unsigned long SDK_DATE_OF_LATEST_FILE=%Y%m%dUL;'; \ 96 done | sort | tail -1 > $@ 97 98#===== End of Makefile ===== 99